On Wed, Mar 5, 2025 at 2:35 AM Andrew Williams <awil...@chromium.org> wrote:

> Hi everyone,
>
> Quick update on this. We landed a new use counter implementation last week
> that better gauges actual breakage, and preliminary data from Chrome Canary
> shows that no instances of breakage were detected except for a few from
> yesterday, and those likely correspond to me running the partitioning tests
> on wpt.fyi locally to confirm that the use counter actually works as
> intended. :) For reference, there are orders of magnitude more instances of
> the BlobStoreAccessAcrossTopLevelSite use counter (which we used for the
> previous breakage analysis) being reported for the same Chrome Canary
> clients and during the same time period. I'll check the "real" use counter
> data once it's available in Chrome Status, but I suspect the percentage of
> page loads that would break will be significantly lower than we calculated
> earlier.
>
> Also, before launching we plan to integrate with the Storage Access API so
> that contexts that have been granted a StorageAccessHandle will still be
> able to fetch Blob URLs in the same way they could before this change (so,
> without regard to top-level site or the "has-cross-site-ancestor" boolean)
>

Hmm, that extra complexity seems a bit unfortunate, but oh well; I'm happy
to trust your judgement that it's the best path. Please keep us updated on
the spec and test work for that extra integration!


>
> -Andrew
>
> On Mon, Feb 10, 2025 at 2:34 PM Andrew Williams <awil...@chromium.org>
> wrote:
>
>> Thanks Yoav, responses inline!
>>
>> > So the upper bound for potential breakage is 0.04%?
>>
>> I believe this is a reasonable estimate, although I think it assumes that
>> page loads are evenly distributed across UMA-enabled clients and I'm not
>> sure whether that's the case
>>
>> > Are there ways to tighten it? (e.g. through manual sampling or
>> use-counter changes)
>>
>> Regarding manual sampling, we could investigate by looking at the domains
>> associated with an existing use counter for this:
>> https://chromestatus.com/metrics/feature/timeline/popularity/4169. I
>> suspect that the majority of cases we would encounter would be the
>> cross-origin fetches that are already blocked, though, matching the high
>> percentage of these in our metrics.
>>
>> Making use-counter changes is certainly an option if the consensus is
>> that the upper bound still seems too risky (even given that Firefox and
>> Safari currently ship this behavior and given the proposed mitigations).
>>
>> Alternatively, we could enable this functionality in Chrome Canary, Dev,
>> and Beta for a few weeks and see if we get any bug reports. WDYT?
>>
>> > What does breakage look like? What do these sites see in Safari today?
>>
>> Blocking cross-partition fetches / subframe navigations is implemented in
>> both Firefox and Safari today, so for both of those browsers the fetch /
>> navigation fails and DevTools shows a warning message. The partitioning
>> scheme is slightly different across browsers - Safari partitions by
>> top-level origin and Firefox partitions by top-level site + whether there
>> was a cross-site frame in the frame tree, and the Chrome behavior will
>> match the Firefox behavior for this.
>>
>> -Andrew
>>
>> On Sun, Feb 9, 2025 at 11:21 PM Yoav Weiss (@Shopify) <
>> yoavwe...@chromium.org> wrote:
>>
>>> Thanks for the compat analysis!
>>>
>>>
>>> On Fri, Feb 7, 2025 at 6:48 PM Andrew Williams <awil...@chromium.org>
>>> wrote:
>>>
>>>> Hey everyone,
>>>>
>>>> From looking at use counters for these cases, cross-top-level-site Blob
>>>> URL navigations that would have noopener set as part of this change are
>>>> seen on 0.0004% of page loads. Note that this is calculated from data from
>>>> pre-stable channels and could change when looking at Stable data, but it
>>>> seems unlikely to change by orders of magnitude.
>>>>
>>>> For cross-partition Blob URL fetches, these occur on 0.21% of page
>>>> loads, but from digging into this more and from looking at UMA data, at
>>>> least 83% of those cross-partition Blob URL fetches are guaranteed to
>>>> be blocked today because they are also cross-origin, and only  ~21% of
>>>> UMA-enabled clients reported at least one cross-partition fetch that wasn't
>>>> guaranteed to be blocked. It's likely that the remaining 17% of
>>>> cross-partition Blob URL fetches are cross-origin as well and would already
>>>> be blocked, but our current use counter / metrics implementations don't
>>>> provide a way to gauge this. More details on this analysis can be found at:
>>>> https://crbug.com/387655548#comment2
>>>>
>>>
>>> So the upper bound for potential breakage is 0.04%?
>>> If so, that's too high for comfort from my perspective.
>>> Are there ways to tighten it? (e.g. through manual sampling or
>>> use-counter changes)
>>> What does breakage look like? What do these sites see in Safari today?
>>>
>>>
>>>> Overall I think the use counter metrics + supporting UMA data support
>>>> moving forward with this change, as does the fact that Firefox and Safari
>>>> have already implemented similar functionality. If there is breakage as a
>>>> result of this, we do have an enterprise policy to disable it, we'll have a
>>>> chrome://flags entry so that users can disable it, and we'll have a Finch
>>>> feature flag as a killswitch for any cases of widespread, significant
>>>> breakage.
>>>>
>>>> Regarding formal signals from Gecko and Webkit, we opened one from
>>>> Gecko but haven't heard anything:
>>>> https://github.com/mozilla/standards-positions/issues/1151. For
>>>> WebKit, we reached out regarding whether we should open one and they
>>>> mentioned they didn't think we needed to, given that we plan to implement
>>>> what the functionality they have already, just using sites instead of
>>>> origins.
>>>>
>>>> -Andrew
>>>>
>>>> On Thu, Dec 12, 2024 at 12:35 PM Andrew Williams <awil...@chromium.org>
>>>> wrote:
>>>>
>>>>> Thanks Domenic, we've landed a change to remove .tentative from the
>>>>> test file names:
>>>>> https://chromium-review.googlesource.com/c/chromium/src/+/5967596
>>>>>
>>>>> Gregg, IIUC "top-level->iframe(blob-from-top-level)" means the
>>>>> top-level creates a blob URL and then creates an iframe where the src is
>>>>> that blob URL. Similarly,
>>>>> "top-level->iframe(3rd-party)->iframe(blob-from-3rd-party)" means that the
>>>>> 3rd-party iframe creates a blob URL and then creates an iframe where the
>>>>> src is that blob URL. Neither of those cases will be affected by this
>>>>> change.
>>>>>
>>>>> Daniel, thanks for the feedback. We will collect use counts on this
>>>>> and report back once the data is available (should be around 
>>>>> mid-February).
>>>>> In the meantime, we will request formal signals from Gecko and WebKit as
>>>>> you recommended.
>>>>>
>>>>> On the topic of alignment across browsers, the I2S mentions that all
>>>>> navigations will remain partitioned only by frame origin, but I learned
>>>>> recently that Safari and Firefox partition subframe navigations (like 
>>>>> using
>>>>> a blob URL as the src of an iframe) by storage key / the top-level as well
>>>>> (and this is what was originally proposed in
>>>>> https://github.com/w3c/FileAPI/issues/153). It's only top-level
>>>>> navigations that remain partitioned only by frame origin. Our
>>>>> implementation will follow suit. I'll update the Chrome Status description
>>>>> accordingly.
>>>>>
>>>>> -Andrew
>>>>>
>>>>> On Wed, Dec 11, 2024 at 11:38 AM Daniel Bratell <bratel...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> After discussing this on the API OWNER meeting I have a few questions
>>>>>> and suggestions.
>>>>>>
>>>>>> My main concern is that we don't have full understanding of the
>>>>>> compatibility risk. We believe this is rare, but do we have any hard data
>>>>>> to confirm that? If not, would it be possible to add a targetted use
>>>>>> counter that counts the cases where a page tries to use a broken blob?
>>>>>>
>>>>>> I think you should also request formal signals from Gecko and WebKit
>>>>>> since this is not exactly what they have done. It seems from what you 
>>>>>> write
>>>>>> that we're getting something very slightly different (which also means 
>>>>>> that
>>>>>> what seems to work for them might still break in Chromium).
>>>>>>
>>>>>> /Daniel
>>>>>> On 2024-12-10 03:29, Domenic Denicola wrote:
>>>>>>
>>>>>> LGTM1, nice work on all the spec changes here!
>>>>>>
>>>>>> Please send a web platform tests PR to remove the .tentative.html
>>>>>> from the test filenames.
>>>>>>
>>>>>> On Tue, Dec 10, 2024 at 10:49 AM Gregg Tavares <g...@chromium.org>
>>>>>> wrote:
>>>>>>
>>>>>>> Sorry if I'm not up on all of the latest. I have several sites that
>>>>>>> use blobs in iframes to implement user code execution (think
>>>>>>> JSFiddle/Codepen). Do I need to be worried?
>>>>>>>
>>>>>>> Some use top-level->iframe(blob-from-top-level). Others use
>>>>>>> top-level->iframe(3rd-party)->iframe(blob-from-3rd-party)
>>>>>>>
>>>>>>> They all currently work across browsers so I'm guessing I don't need
>>>>>>> to worry if Firefox and Safari already implement this.
>>>>>>>
>>>>>>> --
>>>>>> 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 visit
>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra8377qyjY1fv99%2BnDhJZjWN8j9CdGFLsuwrZVyHJYwUMg%40mail.gmail.com
>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra8377qyjY1fv99%2BnDhJZjWN8j9CdGFLsuwrZVyHJYwUMg%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 visit
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEa0%2BkVgqdOa3MKSoUqvfdH3thYyqm3pM9Paib2frzALG3BhrQ%40mail.gmail.com
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEa0%2BkVgqdOa3MKSoUqvfdH3thYyqm3pM9Paib2frzALG3BhrQ%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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra_QQZC6%2BHtOe8zGANaz7tx4f_p9DumGTL2dkd8K%3DPAaug%40mail.gmail.com.

Reply via email to