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.

Reply via email to