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.

Reply via email to