LGTM3
On 1/8/25 11:23 AM, Chris Harrelson wrote:
LGTM2
On Fri, Jan 3, 2025 at 3:50 AM Yoav Weiss (@Shopify)
<yoavwe...@chromium.org> wrote:
LGTM1 conditional on all the PRs landing
On Thu, Jan 2, 2025 at 4:07 PM Josh Karlin <jkar...@chromium.org>
wrote:
On Thu, Jan 2, 2025 at 9:57 AM Yoav Weiss (@Shopify)
<yoavwe...@chromium.org> wrote:
On Friday, December 20, 2024 at 6:34:04 PM UTC+1 Josh
Karlin wrote:
Contact emails
yao...@chromium.org
cam...@chromium.org
jkar...@chromium.org
rohitgu...@chromium.org
ren...@google.com
saraak...@google.com
Explainer
https://github.com/WICG/shared-storage/pull/199
<https://github.com/WICG/shared-storage/pull/199>
Are there any explainer sections you can point at that
won't require reading through PR diffs?
It's sort of riddled throughout the explainer
<https://github.com/WICG/shared-storage> but usage within the
worklet is documented here
<https://github.com/WICG/shared-storage#:~:text=Private%20Aggregation%20reports.-,navigator.locks.request,-(resource%2C%20callback)>
and
using locks from outside the worklet is described here
<https://github.com/WICG/shared-storage?tab=readme-ov-file#locking-for-modifier-methods>.
Specification
https://github.com/WICG/shared-storage/pull/209
<https://github.com/WICG/shared-storage/pull/209>
https://github.com/WICG/shared-storage/pull/211
<https://github.com/WICG/shared-storage/pull/211>(anticipated)
https://github.com/WICG/shared-storage/pull/213
<https://github.com/WICG/shared-storage/pull/213>(anticipated)
Are the "anticipated" parts part of this intent? Are you
planning to land those PRs before shipping?
Sorry, I should have removed the (anticipated) notes. Yes,
they're part of the proposal and will land before shipping.
Happy new year!
Happy new year!!
Josh
Summary
Today, concurrent execution of shared storage worklets
can lead to data inconsistencies due to race
conditions. To address this issue, we propose
integrating the Web Locks API into Shared Storage:
1.
The navigator.locks.request() API is exposed to
the shared storage worklet, to be able to request
a lock and handle callback after the lock is granted.
2.
All shared storage modifier methods now accept an
optional { withLock: <lock name> } parameter. The
modifier method will acquire the lock on the
designated resource before executing.
3.
A batchUpdate(methods, options) API is introduced
in all applicable contexts. It first acquires a
lock on the designated resource and then executes
methods in order.
4.
The 'Shared-Storage-Write' response header is now
treated as a single batchUpdate(), and allows
configuring a lock for the entire batch via:
"options; with_lock=<lock name>".
The shared storage locks' partition aligns with the
shared storage data's partition -- locks are organized
by the shared storage origin, and are independent from
any locks used in Window or Worker context.
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-2557353877>
TAG review status
TAG is unsatisfied
<https://github.com/w3ctag/design-reviews/issues/747>with
the underlying API
Risks
Interoperability and Compatibility
The changes are fully backward compatible.
Gecko: No signal
WebKit: No signal
Web developers: Web locks were requested by developers
for use with private aggregation.
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. Shared Storage web locks have their own
partition which is not readable in normal js contexts.
The scope and visibility of Shared Storage web locks
aligns with the scope (i.e., per-origin) and
visibility (i.e., only the worklet is allowed to
read/wait on a lock) of shared storage data.
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
SharedStorageWebLocks
Requires code in //chrome?
No
Estimated milestones
M133
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5133950203461632
<https://chromestatus.com/feature/5133950203461632>
--
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/CAOmohSJgi167U-gE2k%3DD1v2rvmbWhXLM8gkx05%2B1XKDHXtB%2BMw%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSJgi167U-gE2k%3DD1v2rvmbWhXLM8gkx05%2B1XKDHXtB%2BMw%40mail.gmail.com?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%2Bw8ka2d-OS%3DpKq5UnM5Y%2BhRF7e8ggUX54q_REUSB1rLi5w%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8ka2d-OS%3DpKq5UnM5Y%2BhRF7e8ggUX54q_REUSB1rLi5w%40mail.gmail.com?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/67dc91cd-7402-4a1d-9dd7-39322011257f%40chromium.org.