Skip to content

[webview_flutter_android] Adds support to accept third party cookies #3834

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
May 2, 2023

Conversation

bparrishMines
Copy link
Contributor

@bparrishMines bparrishMines commented Apr 27, 2023

Adds support to accept third party cookies with https://developer.android.com/reference/android/webkit/CookieManager#setAcceptThirdPartyCookies(android.webkit.WebView,%20boolean)

This is being added as an Android-specific method since iOS doesn't seem to have an equivalent. See
https://developer.apple.com/forums/thread/701327
https://developer.apple.com/forums/thread/16847

This also updates the CookieManager wrapping since the HostApi needs to access the InstanceManager for this method.

Fixes flutter/flutter#125569

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
  • I signed the CLA.
  • The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • I listed at least one issue that this PR fixes in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
  • I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@bparrishMines bparrishMines marked this pull request as ready for review April 27, 2023 17:22
@bparrishMines bparrishMines changed the title Cookie manager 3p [webview_flutter_android] Adds support to accept third party cookies Apr 27, 2023
@bparrishMines
Copy link
Contributor Author

cc @jjliu15 FYI

@stuartmorgan-g
Copy link
Contributor

This is being added as an Android-specific method since iOS doesn't seem to have an equivalent.

Support just landed for it last month in WebKit: https://bugs.webkit.org/show_bug.cgi?id=249508 (I happened to see this go by because the very old https://bugs.webkit.org/show_bug.cgi?id=140205 was filed by my team back when I was in Chromium-land, and was dup'd against it just recently.) So we should probably go ahead and design this as a cross-platform feature and just indicate that it's not supported on iOS yet. I'm not sure how iOS branching and cutoffs work; presumably this will be in this year's iOS release if we're lucky, or next year's if not.

@stuartmorgan-g
Copy link
Contributor

Actually, hm. It looks like they maybe only added Allow and Deny at the WKWebView level, and it's not clear to me if Allow includes third-party cookies. I guess we should do this now, and revisit a cross-platform API if/when we have something final on iOS to look at.

Copy link
Contributor

@stuartmorgan-g stuartmorgan-g left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jjliu15
Copy link

jjliu15 commented Apr 28, 2023

cc @malandr2

@bparrishMines bparrishMines added the autosubmit Merge PR when tree becomes green via auto submit App label May 2, 2023
@auto-submit auto-submit bot merged commit c90dd98 into flutter:main May 2, 2023
@bparrishMines bparrishMines deleted the cookie_manager_3p branch May 2, 2023 17:59
joshpetit pushed a commit to joshpetit/packages that referenced this pull request May 2, 2023
…lutter#3834)

Adds support to accept third party cookies with https://developer.android.com/reference/android/webkit/CookieManager#setAcceptThirdPartyCookies(android.webkit.WebView,%20boolean)

This is being added as an Android-specific method since iOS doesn't seem to have an equivalent. See
https://developer.apple.com/forums/thread/701327
https://developer.apple.com/forums/thread/16847

This also updates the `CookieManager` wrapping since the `HostApi` needs to access the `InstanceManager` for this method.

Fixes flutter/flutter#125569
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 3, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 3, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request May 3, 2023
flutter/packages@f163786...407b7da

2023-05-03 [email protected] Update Cirrus to Xcode 14.3 (flutter/packages#3890)
2023-05-03 [email protected] [file_selector] Deprecates `macUTIs` (flutter/packages#3888)
2023-05-03 [email protected] [pigeon]enable treat warning as errors for swift code in unit test (flutter/packages#3889)
2023-05-02 [email protected] Update xcode to 14e222b (flutter/packages#3868)
2023-05-02 [email protected] [pigeon]fix "as Any" workaround due to nested optional (flutter/packages#3658)
2023-05-02 [email protected] [webview_flutter_android] Adds support to accept third party cookies (flutter/packages#3834)
2023-05-02 [email protected] [webview_flutter_wkwebview] Fixes an exception caused by the `onUrlChange` callback returning a null url (flutter/packages#3848)
2023-05-02 [email protected] [google_maps_flutter] [Docs] Note regarding usage within a bounded & an unbound widget  (flutter/packages#3691)
2023-05-02 [email protected] [local_auth_android] Fix Android lint warnings (flutter/packages#3764)
2023-05-02 [email protected] [go_router_builder] Support go_router v7 (flutter/packages#3858)
2023-05-02 [email protected] [webview_flutter_wkwebview] Fixes internal enum type and adds unknown enum values (flutter/packages#3812)
2023-05-02 [email protected] [file_selector] Add MIME type support on macOS (flutter/packages#3862)
2023-05-02 [email protected] Roll Flutter from 828a040 to db6074a (12 revisions) (flutter/packages#3881)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
@saadzarif

This comment was marked as off-topic.

@saadzarif

This comment was marked as off-topic.

nploi pushed a commit to nploi/packages that referenced this pull request Jul 16, 2023
…lutter#3834)

Adds support to accept third party cookies with https://developer.android.com/reference/android/webkit/CookieManager#setAcceptThirdPartyCookies(android.webkit.WebView,%20boolean)

This is being added as an Android-specific method since iOS doesn't seem to have an equivalent. See
https://developer.apple.com/forums/thread/701327
https://developer.apple.com/forums/thread/16847

This also updates the `CookieManager` wrapping since the `HostApi` needs to access the `InstanceManager` for this method.

Fixes flutter/flutter#125569
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App p: webview_flutter platform-android
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support enabling 3p cookies on a webview
4 participants