LGTM3
On 4/30/25 11:24 AM, Yoav Weiss (@Shopify) wrote:
LGTM2
On Wednesday, April 30, 2025 at 5:23:41 PM UTC+2 Chris Harrelson wrote:
LGTM1
On Fri, Apr 25, 2025 at 1:16 PM Yao Xiao <yao...@chromium.org> wrote:
Intent to Ship: Support transactional batchUpdate() and
disallow batch inner locks
Contact emails
yao...@chromium.org
cam...@chromium.org
jkar...@chromium.org
saraak...@google.com
kaskulikow...@google.com
Explainer
https://github.com/WICG/shared-storage#proposed-api-surface
<https://github.com/WICG/shared-storage#proposed-api-surface:~:text=Execute%20methods%20in%20order.%20All%20updates%20within%20a%20batchUpdate()%20call%20are%20executed%20as%20a%20single%20unit%20of%20work.%20If%20any%20method%20fails%2C%20none%20of%20them%20will%20commit.>
Specification
https://wicg.github.io/shared-storage/#batch-update
<https://wicg.github.io/shared-storage/#batch-update>
Summary
We are modifying the `sharedStorage.batchUpdate(methods)` API,
introduced in the I2S
<https://groups.google.com/a/chromium.org/g/blink-dev/c/8kNUZpULS-I/m/tW6DuDzMBQAJ>'Adding
Web Locks Support to Shared Storage', to enforce atomicity.
This involves treating the entire `batchUpdate()` as a single
transaction, rather than executing methods independently. For
simplicity, we do not support locks for the individual methods
within the batchUpdate, but only on the batchUpdate itself.
Blink component
Blink>Storage>SharedStorage
<https://bugs.chromium.org/p/chromium/issues/list?q=component%3ABlink%3EStorage%3ESharedStorage&can=2>
TAG review
FYI
<https://github.com/w3ctag/design-reviews/issues/747#issuecomment-2828342679>
TAG review status
TAG is unsatisfied
<https://github.com/w3ctag/design-reviews/issues/747>with the
underlying API
Risks
Compatibility
This change is not backward compatible. Specifically:
*
JavaScript `batchUpdate()` calls specifying inner method
locks will now throw an exception.
*
"Shared-Storage-Write" response headers specifying inner
method locks will cause the entire operation to be ignored.
Since `batchUpdate()` was recently released, it has not yet
been adopted and the Chrome Features Dashboard
<https://chromestatus.com/metrics/feature/timeline/popularity/5210>confirms
that this change should not break any sites.
Interoperability
Gecko: No signal
WebKit: No signal
Web developers: No signal
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
Security / Privacy
No concerns.
Debuggability
Shared Storage worklets can be inspected within DevTools:
Debug Shared Storage worklets with DevTools
<https://developers.google.com/privacy-sandbox/private-advertising/shared-storage/debugging#debug_shared_storage_worklets_with_devtools>
We are working on adding the `withLock` parameter and a
`batchUpdate()` event to the Application -> Shared Storage
panel in DevTools.
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, Chrome OS, 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
Finch feature name
SharedStorageTransactionalBatchUpdate
Requires code in //chrome?
No
Estimated milestones
We intend to ship in M137
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5763021961691136
<https://chromestatus.com/feature/5763021961691136>
--
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
<mailto:blink-dev+unsubscr...@chromium.org>.
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/35e180ef-17df-474a-a5e5-7479fd9212b4n%40chromium.org
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/35e180ef-17df-474a-a5e5-7479fd9212b4n%40chromium.org?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/3c412ebd-47c9-48ba-af63-5c9157f3ee91n%40chromium.org
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/3c412ebd-47c9-48ba-af63-5c9157f3ee91n%40chromium.org?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/925390d4-7832-4bdc-9127-ddc0b04858cc%40chromium.org.