Skip to content

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
Collaborator

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
Collaborator

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
Collaborator

@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
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.

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