LGTM2

On Wednesday, September 4, 2024 at 5:07:54 AM UTC+2 Domenic Denicola wrote:

> LGTM1. This seems like a good change for overall web consistency, and 
> compat risks seem well-managed.
>
> On Thursday, August 29, 2024 at 4:32:20 AM UTC+9 Cammie Smith Barnes wrote:
>
>> Intent to Ship: Shared Storage: Allowing Cross-Origin Script in addModule 
>> & Aligning createWorklet
>>
>> Contact emailscam...@chromium.org, jkar...@chromium.org, 
>> yao...@chromium.org, ashame...@google.com
>> Explainerhttps://github.com/WICG/shared-storage/blob/main/README.md
>> Specificationhttps://github.com/WICG/shared-storage/pull/161
>> SummaryWe now allow sharedStorage.worklet.addModule to load cross-origin 
>> script, while still using the invoking context's origin as the data 
>> partition origin for accessing shared storage data. We also align the 
>> behavior of sharedStorage.createWorklet, so that when it loads a 
>> cross-origin script, it also uses the invoking context's origin as the data 
>> partition origin by default (instead of using the script origin as it did 
>> when initially implemented). Finally, to preserve the ability to use the 
>> script's origin as the data partition origin, we introduce a new dataOrigin 
>> option for createWorklet.
>> We have received feedback from developers stating they wanted to be able 
>> to host and run their worklet script on a separate origin from the origin 
>> that owns and writes their shared storage data. So we remove the 
>> same-origin restriction for addModule. Note that, when the worklet script 
>> is cross-origin to the invoking context, the invoking context's origin is 
>> used as the partition origin for accessing shared storage.
>> To help avoid developer confusion in the long term, we align the default 
>> behavior of createWorklet to use the invoking context's origin instead of 
>> the script origin as its data partition origin. This is a breaking change, 
>> but current usage of createWorklet is low as it was introduced in M125 and 
>> those that are using it have upgraded to a forward-compatible incantation. 
>> We also introduce a dataOrigin option that can be passed to use the 
>> previous behavior.
>>
>> Blink componentBlink>Storage>SharedStorage 
>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EStorage%3ESharedStorage>
>> TAG review & statusNotification of the change is here 
>> <https://github.com/w3ctag/design-reviews/issues/747#issuecomment-2288670353>
>>  
>> but not expecting feedback as the entire Shared Storage feature is resolved 
>> as unsatisfied.
>>
>> Risks
>>
>> Interoperability and CompatibilityThere are no interop risks as no other 
>> browser has implemented shared storage. There is a compat risk for the 
>> recently released createWorklet API. The worklet created by createWorklet 
>> before this change had the data partition of the script’s origin. We’re 
>> changing it, to align with addModule, to use the calling context’s origin 
>> instead. We’re monitoring usage here 
>> <https://chromestatus.com/metrics/feature/timeline/popularity/5007> of 
>> the backwards-incompatible usage of the existing API and reaching out to 
>> folks using it to let them know that they should make the following 
>> forward-compatible change if they want the existing default behavior of 
>> createWorklet to continue to function after this change:
>> before: sharedStorage.createWorklet(worklet_url);after: 
>> sharedStorage.createWorklet(worklet_url, { dataOrigin: “script-origin” });
>> The dataOrigin option will be ignored on browsers previous to this 
>> change, and honored correctly after. 
>> As of today, all users have switched to the forward-compatible incantation. 
>> We are also monitoring usage of addModule with scripts that are 
>> cross-origin to the calling context here 
>> <https://chromestatus.com/metrics/feature/timeline/popularity/5028>, as 
>> those will suddenly work when they did not before which could be surprising 
>> to developers. As anticipated, this usage is extremely low (.00001% page 
>> loads).
>>
>> Gecko: Negative on shared storage
>> WebKit: Negative on shared storage
>> Web developers: Positive, but there is follow-up work to allow 
>> createWorklet() to serve the script from a different origin than the data 
>> origin which is what folks ultimately want. That change will be 
>> non-breaking. This work is a first step in that direction (allowing 
>> addModule to be cross-origin).
>> Other signals:
>> WebView application risksDoes this intent deprecate or change behavior 
>> of existing APIs, such that it has potentially high risk for Android 
>> WebView-based applications?None
>>
>> DebuggabilityShared Storage worklets can be debugged in devtools.
>>
>> Will this feature be supported on all six Blink platforms (Windows, Mac, 
>> Linux, ChromeOS, Android, and Android WebView)?All but webview
>> Is this feature fully tested by web-platform-tests 
>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>> ?Yes
>> Flag name on chrome://flagsNone
>> Finch feature nameSharedStorageCrossOriginScript and 
>> SharedStorageCreateWorkletUseContextOriginByDefault
>> Non-finch justificationNA
>> Requires code in //chrome?False
>> Estimated milestonesM130
>>
>> Anticipated spec changesNone
>> Link to entry on the Chrome Platform Status
>> https://chromestatus.com/feature/6531477832204288?gate=6576220452683776
>> Links to previous Intent discussionsIntent to Prototype: 
>> https://groups.google.com/a/chromium.org/g/blink-dev/c/YZ4XGewKVuk/m/v8CwKfq8AAAJ?utm_medium=email&utm_source=footer
>>
>> 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 on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c0f43188-c7a0-4603-8796-9ecc04eacfe9n%40chromium.org.

Reply via email to