Quick update - the spec changes for this have all landed:
 - https://github.com/whatwg/html/pull/10731
 - https://github.com/whatwg/fetch/pull/1783
 - https://github.com/w3c/FileAPI/pull/201

-Andrew

On Thu, Oct 31, 2024 at 10:03 AM Andrew Williams <awil...@chromium.org>
wrote:

> Hi Domenic,
>
> You are correct - there was one more spec change we had planned related to
> this, which we now have a PR for at
> https://github.com/whatwg/html/pull/10731
>
> Thanks!
>
> -Andrew
>
> On Wed, Oct 30, 2024 at 1:21 AM Domenic Denicola <dome...@chromium.org>
> wrote:
>
>> It's awesome to see this work progressing!
>>
>> On Wed, Oct 30, 2024 at 4:14 AM Janice Liu <janice...@chromium.org>
>> wrote:
>>
>>> Contact emails
>>>
>>> janice...@chromium.org, awil...@chromium.org, miketa...@chromium.org
>>>
>>> Explainer
>>>
>>>
>>> https://github.com/wanderview/quota-storage-partitioning/blob/main/explainer.md
>>>
>>> Specification
>>>
>>> Firefox and Safari have provided support on speccing these changes and
>>> we will implement this alongside working on the Chromium Implementation. ( 
>>> [image:
>>> icon]Opened 4 years ago#153 Blob URL store partitioning
>>> <https://github.com/w3c/FileAPI/issues/153>).
>>>
>>
>> To approve an Intent to Ship like this one, we need at least a draft
>> specification up for review. The link you've given here is just to an issue.
>>
>> I see at the bottom of the issue there are links to
>> https://github.com/whatwg/fetch/pull/1783 and
>> https://github.com/w3c/FileAPI/pull/201 . Does that specification work
>> correspond to what you're planning to ship? Or is there more? You mention
>> something about noopener and a subsequent spec PR, so I'm guessing we don't
>> have a complete specification up yet.
>>
>>
>>>
>>> Summary
>>>
>>> As a continuation of Storage Partitioning, Chromium will implement
>>> partitioning of Blob URL access by Storage Key (top-level site, frame
>>> origin, and the has-cross-site-ancestor boolean), with the exception of
>>> navigations which will remain partitioned only by frame origin. This
>>> behavior is similar to what’s currently implemented by both Firefox and
>>> Safari, and aligns Blob URL usage with the partitioning scheme used by
>>> other storage APIs as part of Storage Partitioning. In addition, Chromium
>>> will enforce noopener on renderer-initiated navigations to Blob URLs where
>>> the corresponding site is cross-site to the top-level site performing the
>>> navigation. This aligns Chromium with similar behavior in Safari, and we
>>> will pursue spec updates to reflect both of these changes.
>>>
>>>
>>> Blink component
>>>
>>> Blink>Storage>FileAPI
>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EStorage%3EFileAPI>
>>>
>>> TAG review
>>>
>>> The general blob URL partitioning was included in the original review
>>> for third-party storage partitioning (
>>> https://github.com/w3ctag/design-reviews/issues/629). The
>>> implementation details have changed slightly but not enough to warrant a
>>> new TAG review.
>>>
>>> TAG review status
>>>
>>> N/A
>>>
>>> Risks
>>>
>>> Interoperability and Compatibility
>>>
>>> Restricting Blob URL fetches by Storage Key means that sites using Blob
>>> URLs across top-level site boundaries or in frames with a cross-site
>>> ancestor may break. In addition, enforcing noopener for Blob URLs navigated
>>> to from contexts with different top-level sites may result in site
>>> breakage. Given that Firefox and Safari have already shipped similar
>>> features, and given that Storage Partitioning has already introduced
>>> partitioning by Storage Key to restrict most other storage and
>>> communications APIs, this change seems web compatible.
>>>
>>> Gecko: Firefox already partitions Blob URL fetches by storage key using
>>> the same storage key implementation as Chrome. They also have expressed
>>> support for enforcing noopener on cross-site Blob URL navigation.
>>> https://github.com/w3c/FileAPI/issues/153#issuecomment-2332288047
>>>
>>> WebKit: WebKit already partitions Blob URL fetches by top-level origin
>>> and enforces noopener on cross-top-level-origin Blob URL navigations. They
>>> are currently investigating moving to a site boundary instead of an origin
>>> boundary.
>>> https://github.com/w3c/FileAPI/issues/153#issuecomment-2332086739
>>>
>>> Web developers: No signals
>>>
>>> Other signals:
>>>
>>> WebView application risks
>>>
>>> Does this intent deprecate or change behavior of existing APIs, such
>>> that it has potentially high risk for Android WebView-based applications?
>>>
>>> None. In general, storage partitioning hasn’t launched on WebView.
>>>
>>>
>>> Debuggability
>>>
>>> We are exploring ways to notify developers when they encounter these
>>> changes to Blob URL usage, such as raising DevTools Issues.
>>>
>>>
>>> Will this feature be supported on all six Blink platforms (Windows, Mac,
>>> Linux, ChromeOS, Android, and Android WebView)?
>>>
>>> All except WebView.
>>>
>>> Is this feature fully tested by web-platform-tests
>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>> ?
>>>
>>> Yes
>>>
>>>
>>> https://wpt.fyi/results/FileAPI/BlobURL?label=experimental&label=master&aligned
>>>
>>>
>>> Flag name on chrome://flags
>>>
>>> None
>>>
>>> Finch feature name
>>>
>>> EnforceNoopenerOnBlobURLNavigation, BlockCrossPartitionBlobUrlFetching
>>>
>>> Requires code in //chrome?
>>>
>>> No.
>>>
>>> Tracking bug
>>>
>>> https://crbug.com/40057646
>>>
>>> Estimated milestones
>>>
>>> We plan to be feature complete by M132.
>>>
>>>
>>> Anticipated spec changes
>>>
>>> Open questions about a feature may be a source of future web compat or
>>> interop issues. Please list open issues (e.g. links to known github issues
>>> in the project for the feature specification) whose resolution may
>>> introduce web compat/interop risk (e.g., changing to naming or structure of
>>> the API in a non-backward-compatible way).
>>>
>>> https://github.com/w3c/FileAPI/issues/153
>>> <https://github.com/w3c/FileAPI/issues/153#issuecomment-2332086739>
>>>
>>> Link to entry on the Chrome Platform Status
>>>
>>> https://chromestatus.com/feature/5130361898795008?gate=6298001774215168
>>>
>>> This intent message was generated by Chrome Platform Status
>>> <https://chromestatus.com/>.
>>>
>>> --
>>> 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/CAGspLPiMu-dV2eRJyTSXMZu1S5zCnBsDaMqkFmdSaQbgFitfwg%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGspLPiMu-dV2eRJyTSXMZu1S5zCnBsDaMqkFmdSaQbgFitfwg%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%2BkVtENDGFPir_UyiGUqOk2LumXSqf6%3DsyKVE3TZ9FjL2TA%40mail.gmail.com.

Reply via email to