Hey,

The first item looks like a good starting point. We can discuss possible
solutions when we know how much usage there is.

For visibility, can you please file a chromestatus entry for this intent?

Thanks,
Vlad

On Wed, Jun 5, 2024 at 10:36 AM 'Dylan Cutler' via blink-dev <
blink-dev@chromium.org> wrote:

> Hey Vlad,
>
> Thanks for your response and interest in the intent. I can see two paths
> going forward.
>
>
>    1. We query UMA to determine just what percentage of WebView apps
>    embed content using CHIPS (and in how many partitions). We can also use
>    these metrics to identify the top apps who embed users of CHIPS and make
>    sure this change would not lead to disruptions. If that proves to be enough
>    so that you are no longer concerned about breakage then we could move
>    forward. Otherwise, we move on to approach (2).
>    2. We refactor our code so that if CHIPS is disabled in WebView,
>    rather than deleting partitioned cookies we could convert them to
>    unpartitioned. If the user has an unpartitioned cookie with the same
>    name/domain/path, then we would delete the partitioned cookie in favor of
>    the unpartitioned one. If multiple cookies exist in different partitions
>    and no such unpartitioned cookie exists, we would fall back on the most
>    recently used cookie. It is worth noting, this technique is complex and
>    could have its own risks, so we'd like to leave it as a last resort.
>
> Let me know what you think, and if this sounds acceptable, I can get that
> data from UMA to start to inform if we want to pursue the algorithm in (2).
>
> Thanks,
> Dylan
>
> On Fri, May 31, 2024 at 5:11 AM Vladimir Levin <vmp...@chromium.org>
> wrote:
>
>> On Wed, May 29, 2024 at 5:02 PM 'Dylan Cutler' via blink-dev <
>> blink-dev@chromium.org> wrote:
>>
>>> 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.
>>>
>>
>> This sounds like a pretty noticeable breakage. Are there any estimates on
>> how many apps/users/developers would be impacted by this change?
>>
>> Also, as a point of process, I think this may require an intent to
>> deprecate and remove in the chromestatus, although because this is only for
>> WebView, I'm not entirely sure if there's a precedent.
>>
>> Thanks!
>> Vlad
>>
>>
>>>
>>> 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
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMCNMFQOPkYjRxrs68q%2BHxebt-JWCopZ6Rq9r0O80dQF8PWwRg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> 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/CAMCNMFQ0N4hu_TF%2BBVC4MgRJgYoqmodqP%3Dg7L1dmE_GYqb1v3w%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMCNMFQ0N4hu_TF%2BBVC4MgRJgYoqmodqP%3Dg7L1dmE_GYqb1v3w%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CADsXd2NDhN0%3DMQRtCVi8Xs5GjaUjFNX1p_ZWrOe39dR8H3VE7w%40mail.gmail.com.

Reply via email to