Intent to Extend Experiment: Shared Array Buffers, Atomics and Futex APIs

21 views
Skip to first unread message

Chromestatus

unread,
11:52 AM (4 hours ago) 11:52 AM
to blin...@chromium.org, cl...@chromium.org, va...@chromium.org
Contact emails
va...@chromium.org, cl...@chromium.org

Explainer
No information provided

Specification
https://tc39.github.io/ecma262/#sec-sharedarraybuffer-objects

Design docs
No information provided
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer

Summary
Adds the JavaScript type SharedArrayBuffer gated behind COOP/COEP. The concept of a SharedArrayBuffer is that a message to a worker, is posted but instead of copying the content of the array just a reference to it is shared. The Atomic API provides atomic loads and stores and Read/Modify/Write accesses to SharedArrayBuffers. The Atomic.wait provides the ability for a worker to wait for another worker to signal it, without having to spinlock.

Blink component
Blink>JavaScript

Web Feature ID
No information provided

Search tags
SharedArrayBuffer, SAB

TAG review
https://github.com/w3ctag/design-reviews/issues/471

TAG review status
Pending

Origin Trial Name
SharedArrayBuffers in non-isolated pages on Desktop platforms

Chromium Trial Name
UnrestrictedSharedArrayBuffer

Link to origin trial feedback summary
https://bugs.chromium.org/p/chromium/issues/entry?components=Internals%3ESandbox%3ESiteIsolation

Origin Trial documentation link
https://developer.chrome.com/blog/enabling-shared-array-buffer/

Risks


Interoperability and Compatibility
No information provided

Gecko: Shipped/Shipping (https://bugzilla.mozilla.org/show_bug.cgi?id=1312446)

WebKit: Shipped/Shipping (https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_1.html)

Web developers: Positive

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?

No information provided


Goals for experimentation
No information provided

Reason this experiment is being extended
This is a deprecation trial, and we're giving more time to websites to stop using the deprecated behavior.

Reason this experiment is being extended
The release of DocumentIsolationPolicy in M137 is helping developers adopt crossOriginIsolation as a way out of this reverse Origin Trial. However, it will still take time for developers to adopt. We would like to extend the OT as the final extension and give developers 6 milestones to get out of this reverse Origin Trial. Once this is approved and developers have requested their token, we will close this trial so that no further origins adopt the deprecated behavior.

Reason this experiment is being extended
We still have one of the historic users of ungated SharedArrayBuffers which has not managed to transition to cross-origin isolation (Google Earth). They are in the process of deploying COEP and asked us for an extension of the reverse origin trial until M146, when they believe they will be done with COEP deployment. Once the extension is approved, we'll close the Origin Trial to ensure no new users can register.

Ongoing technical constraints
No information provided

Debuggability
DevTools warning in case SAB is used in none COI context is in place

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
No

Is this feature fully tested by web-platform-tests?
Yes
https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/web_tests/external/wpt/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/no-coop-coep.https.any.js https://github.com/tc39/test262/tree/master/test/built-ins/SharedArrayBuffer https://github.com/tc39/test262/tree/master/test/built-ins/Atomics

Flag name on about://flags
No information provided

Finch feature name
No information provided

Non-finch justification
No information provided

Requires code in //chrome?
False

Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=709179

Launch bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1138860

Estimated milestones
Origin trial desktop first92
Origin trial desktop last131
Origin trial extension 1 end milestone109
Origin trial extension 2 end milestone131
Origin trial extension 3 end milestone124
Origin trial extension 4 end milestone136
Origin trial extension 5 end milestone142
Origin trial extension 6 end milestone146
DevTrial on desktop60
DevTrial on Android88


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/4570991992766464?gate=5932856039833600

Links to previous Intent discussions
Intent to Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/1NKvbIj3dq4
Intent to Extend Experiment 1: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAH0ixBN2JhcYtpT4UYKcAfHt1e0Wz_Uxz0CkXcAntguhbmyNCA%40mail.gmail.com
Intent to Extend Experiment 2: https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/4tDmckQLZLQ
Intent to Extend Experiment 3: https://groups.google.com/a/chromium.org/g/blink-dev/c/UospzV3lZMk/m/X9K0k8kuAQAJ
Intent to Extend Experiment 4: https://groups.google.com/a/chromium.org/g/blink-dev/c/A4CR6MIVzds/m/rpsWnzq6AAAJ?e=48417069
Intent to Extend Experiment 5: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/681b67ca.170a0220.4750a.028e.GAE%40google.com
Intent to Ship: https://groups.google.com/a/chromium.org/g/blink-dev/c/1NKvbIj3dq4


This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages