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 > > 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 > > > -- > 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/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/CAOMQ%2Bw-0bKmuvoApPxpnLtqC5_9MxY3XkO10X4JtddPhthMJtQ%40mail.gmail.com.