LGTM3 On 4/30/25 11:24 AM, Yoav Weiss (@Shopify) wrote:
LGTM2On 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 <[email protected]> wrote: Intent to Ship: Support transactional batchUpdate() and disallow batch inner locks Contact emails [email protected] [email protected] [email protected] [email protected] [email protected] 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 theGoogle Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>. 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 [email protected]. 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 [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/925390d4-7832-4bdc-9127-ddc0b04858cc%40chromium.org.
