Hello Blink API Owners,

We’re seeking approval to unship and relaunch CHIPS (a.k.a. partitioned
cookies) in Android WebView only.

Rationale

The WebViewClient supports a method, shouldInterceptRequest
<https://developer.android.com/reference/android/webkit/WebViewClient#shouldInterceptRequest(android.webkit.WebView,%20android.webkit.WebResourceRequest)>,
which allows developers to intercept network activity and modify HTTP
headers, etc. This API does not have access to the Cookie header and relies
on the Android CookieManager API
<https://developer.android.com/reference/android/webkit/CookieManager> in
order to query what cookies are available for a particular request URL.
This is because the request is intercepted before it is sent to the network
service
<https://source.chromium.org/chromium/chromium/src/+/main:android_webview/browser/aw_contents_io_thread_client.cc;l=316;drc=59ac8227c5dd59754331b3f7f9f85e1a947f1242>,
where the Cookie header is added. However, partitioned cookies are
double-keyed on the top-level site and the site of the URL using the
cookies.

Currently, the CookieManager API provides no way for developers to query
partitioned cookies correctly, and this will cause a mismatch between what
the Java API returns and what frames in WebView will actually be in their
Cookie header. In hindsight, this seems risky and prone to bugs, and not
something the CHIPS team had considered while designing the API.

After discussing this with the WebView team, we believe that the option
that will minimize potential app breakage is to disable CHIPS on WebView
until we are able to ship support for the Cookie header to
shouldInterceptRequest. We will release the changes to
shouldInterceptRequest in the next target SDK version (API level 36).

We will reconsider our decision to unlaunch CHIPS in WebView if we get
feedback from the community that this would cause significant disruption.

Behavior after deprecation:

Cookies set with the Partitioned attribute on WebView will have the
attribute ignored, and the cookie will be treated as unpartitioned. Any
existing partitioned cookies created in WebView will be deleted to avoid
conflicts across different partitions and the unpartitioned cookie jar.

All other platforms besides WebView will still have the Partitioned
attribute enabled.

Timeline:

We plan to turn down CHIPS on WebView in M127.

We will relaunch CHIPS along with Android W, which will include changes to
the Android CookieManager API, in 2025.


Thanks,

Dylan Cutler

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMCNMFQOPkYjRxrs68q%2BHxebt-JWCopZ6Rq9r0O80dQF8PWwRg%40mail.gmail.com.

Reply via email to