[wpt-sync] Sync PR 49533 - [shared storage] Implement batchUpdate() for Window and SharedStorageWorklet context
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox135 fixed)
| Tracking | Status | |
|---|---|---|
| firefox135 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 49533 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/49533
Details from upstream follow.
Yao Xiao <yaoxia@chromium.org> wrote:
[shared storage] Implement batchUpdate() for Window and SharedStorageWorklet context
This allows developers to perform multiple Shared Storage operations
atomically within a single lock, as part of the Web Lock integration
proposal:How:
- Add
batchUpdate(methods, options)to theSharedStorageinterface.- Hooks up the
batchUpdate()method to the
SharedStorageLockManager::SharedStorageBatchUpdate()API in the
browser process.Bug: 373899210
Fuchsia-Binary-Size: Size increase is unavoidable.
Change-Id: I0e1b355e3b3d28518396ae4333afe21e6d02e858
Reviewed-on: https://chromium-review.googlesource.com/6069087
WPT-Export-Revision: 98b8e0526d18a14323ec830bd46f0cb65b07727f
| Assignee | ||
Comment 1•1 year ago
|
||
| Assignee | ||
Comment 2•1 year ago
|
||
| Assignee | ||
Comment 3•1 year ago
|
||
| Assignee | ||
Comment 4•1 year ago
|
||
CI Results
Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 30 tests and 1 subtests
Status Summary
Firefox
OK : 27
PASS : 4
FAIL : 83
TIMEOUT: 9
Chrome
OK : 19
PASS : 13
FAIL : 40
TIMEOUT: 28
NOTRUN : 23
Safari
OK : 27
PASS : 4
FAIL : 83
TIMEOUT: 9
Links
Details
New Tests That Don't Pass
- /shared-storage/add-module.tentative.https.sub.html [wpt.fyi]
- addModule with invalid url:
FAIL(Chrome:PASS, Safari:FAIL) - addModule:
FAIL(Chrome:FAIL, Safari:FAIL)
- addModule with invalid url:
- /shared-storage/create-worklet-in-detached-frame.tentative.https.sub.html [wpt.fyi]
- createWorklet() when frame is detached:
FAIL(Chrome:PASS, Safari:FAIL)
- createWorklet() when frame is detached:
- /shared-storage/interest-groups.tentative.https.sub.html [wpt.fyi]
- Basic test for
interestGroups()in the shared storage worklet:FAIL(Chrome:FAIL, Safari:FAIL)
- Basic test for
- /shared-storage/run-operation-keep-alive.tentative.https.sub.html [wpt.fyi]
- run() twice with keepAlive: true:
FAIL(Chrome:TIMEOUT, Safari:FAIL) - run() with keepAlive: true, then keepAlive: false, then error:
FAIL(Chrome:NOTRUN, Safari:FAIL)
- run() twice with keepAlive: true:
- /shared-storage/run-operation.tentative.https.sub.html [wpt.fyi]
- run():
FAIL(Chrome:TIMEOUT, Safari:FAIL) - run() with custom data:
FAIL(Chrome:NOTRUN, Safari:FAIL) - run() with unsupported serializable type:
FAIL(Chrome:NOTRUN, Safari:FAIL)
- run():
- /shared-storage/run-url-selection-operation.tentative.https.sub.html [wpt.fyi]
- selectURL() resolves to config:
FAIL(Chrome:TIMEOUT, Safari:FAIL) - selectURL() with urls array length too big, selectURL() resolves to config:
FAIL(Chrome:NOTRUN, Safari:FAIL) - selectURL() with empty urls array, selectURL() resolves to config:
FAIL(Chrome:NOTRUN, Safari:FAIL) - selectURL() with missing url, selectURL() resolves to config:
FAIL(Chrome:NOTRUN, Safari:FAIL) - selectURL() with invalid url, selectURL() resolves to config:
FAIL(Chrome:NOTRUN, Safari:FAIL) - selectURL() with invalid report url selectURL() resolves to config:
FAIL(Chrome:NOTRUN, Safari:FAIL) - selectURL() with http report url, selectURL() resolves to config:
FAIL(Chrome:NOTRUN, Safari:FAIL) - selectURL() with invalid reportingMetadata selectURL() resolves to config:
FAIL(Chrome:NOTRUN, Safari:FAIL) - selectURL() resolves to urn:uuid:
FAIL(Chrome:NOTRUN, Safari:FAIL) - selectURL() with urls array length too big, selectURL() resolves to urn:uuid:
FAIL(Chrome:NOTRUN, Safari:FAIL) - selectURL() with empty urls array, selectURL() resolves to urn:uuid:
FAIL(Chrome:NOTRUN, Safari:FAIL) - selectURL() with missing url, selectURL() resolves to urn:uuid:
FAIL(Chrome:NOTRUN, Safari:FAIL) - selectURL() with invalid url, selectURL() resolves to urn:uuid:
FAIL(Chrome:NOTRUN, Safari:FAIL) - selectURL() with invalid report url selectURL() resolves to urn:uuid:
FAIL(Chrome:NOTRUN, Safari:FAIL) - selectURL() with http report url, selectURL() resolves to urn:uuid:
FAIL(Chrome:NOTRUN, Safari:FAIL) - selectURL() with invalid reportingMetadata selectURL() resolves to urn:uuid:
FAIL(Chrome:NOTRUN, Safari:FAIL)
- selectURL() resolves to config:
- /shared-storage/select-url-keep-alive.tentative.https.sub.html [wpt.fyi]
- selectURL() with keepAlive: true, then keepAlive: false, then error:
FAIL(Chrome:TIMEOUT, Safari:FAIL)
- selectURL() with keepAlive: true, then keepAlive: false, then error:
- /shared-storage/select-url-on-shared-storage-and-worklet-object-successively.tentative.https.sub.html [wpt.fyi]
- selectURL() on window.sharedStorage and window.sharedStorage.worklet successively. The two calls should run in the same worklet environment.:
FAIL(Chrome:TIMEOUT, Safari:FAIL)
- selectURL() on window.sharedStorage and window.sharedStorage.worklet successively. The two calls should run in the same worklet environment.:
- /shared-storage/select-url-on-two-worklets.tentative.https.sub.html [wpt.fyi]
- selectURL() on two explicitly created SharedStorageWorklet. The two calls should run in two different worklet environments.:
FAIL(Chrome:FAIL, Safari:FAIL)
- selectURL() on two explicitly created SharedStorageWorklet. The two calls should run in two different worklet environments.:
- /shared-storage/select-url-permissions-policy-default.tentative.https.sub.html [wpt.fyi]:
TIMEOUT(Chrome:TIMEOUT, Safari:TIMEOUT)- Default permissions policy allows sharedStorage.selectURL() in the current page.:
FAIL(Chrome:FAIL, Safari:FAIL) - Default permissions policy allows selectURL() on a same-origin worklet:
FAIL(Chrome:FAIL, Safari:FAIL) - Default permissions policy allows selectURL() on a cross-origin worklet:
FAIL(Chrome:FAIL, Safari:FAIL) - Default permissions policy allows sharedStorage.selectURL() in same-origin iframes.:
TIMEOUT(Chrome:TIMEOUT, Safari:TIMEOUT) - Default permissions policy allows sharedStorage.selectURL() in cross-origin iframes.:
TIMEOUT(Chrome:TIMEOUT, Safari:TIMEOUT)
- Default permissions policy allows sharedStorage.selectURL() in the current page.:
- /shared-storage/select-url-permissions-policy-none.tentative.https.sub.html [wpt.fyi]:
TIMEOUT(Chrome:TIMEOUT, Safari:TIMEOUT)- permissions policy header shared-storage-select-url=() disallows sharedStorage.selectURL() in the current page.:
FAIL(Chrome:FAIL, Safari:FAIL) - permissions policy header shared-storage-select-url=() disallows selectURL() on a same-origin worklet:
FAIL(Chrome:FAIL, Safari:FAIL) - permissions policy header shared-storage-select-url=() disallows selectURL() on a cross-origin worklet:
FAIL(Chrome:FAIL, Safari:FAIL) - permissions policy header shared-storage-select-url=() disallows sharedStorage.selectURL() in same-origin iframes.:
TIMEOUT(Chrome:TIMEOUT, Safari:TIMEOUT) - permissions policy header shared-storage-select-url=() disallows sharedStorage.selectURL() in cross-origin iframes.:
TIMEOUT(Chrome:TIMEOUT, Safari:TIMEOUT)
- permissions policy header shared-storage-select-url=() disallows sharedStorage.selectURL() in the current page.:
- /shared-storage/select-url-permissions-policy-self.tentative.https.sub.html [wpt.fyi]:
TIMEOUT(Chrome:TIMEOUT, Safari:TIMEOUT)- permissions policy header shared-storage-select-url=(self) allows sharedStorage.selectURL() in the current page.:
FAIL(Chrome:FAIL, Safari:FAIL) - permissions policy header shared-storage-select-url=(self) allows selectURL() on a same-origin worklet:
FAIL(Chrome:FAIL, Safari:FAIL) - permissions policy header shared-storage-select-url=(self) disallows selectURL() on a cross-origin worklet:
FAIL(Chrome:FAIL, Safari:FAIL) - permissions policy header shared-storage-select-url=(self) allows sharedStorage.selectURL() in same-origin iframes.:
TIMEOUT(Chrome:TIMEOUT, Safari:TIMEOUT) - permissions policy header shared-storage-select-url=(self) disallows sharedStorage.selectURL() in cross-origin iframes.:
TIMEOUT(Chrome:TIMEOUT, Safari:TIMEOUT)
- permissions policy header shared-storage-select-url=(self) allows sharedStorage.selectURL() in the current page.:
- /shared-storage/select-url-report-event.tentative.https.sub.html [wpt.fyi]
- selectURL() with reportEvent(), selectURL() resolves to config:
FAIL(Chrome:TIMEOUT, Safari:FAIL) - selectURL() with reportEvent(), selectURL() resolves to urn:uuid:
FAIL(Chrome:NOTRUN, Safari:FAIL)
- selectURL() with reportEvent(), selectURL() resolves to config:
- /shared-storage/setters.tentative.https.sub.html [wpt.fyi]
- sharedStorage.set with 0 argument:
FAIL(Chrome:PASS, Safari:FAIL) - sharedStorage.set with 1 argument:
FAIL(Chrome:PASS, Safari:FAIL) - sharedStorage.set with 2 arguments:
FAIL(Chrome:FAIL, Safari:FAIL) - sharedStorage.set with options:
FAIL(Chrome:FAIL, Safari:FAIL) - sharedStorage.set with invalid options:
FAIL(Chrome:PASS, Safari:FAIL) - sharedStorage.set with empty key:
FAIL(Chrome:PASS, Safari:FAIL) - sharedStorage.append:
FAIL(Chrome:FAIL, Safari:FAIL) - sharedStorage.clear:
FAIL(Chrome:FAIL, Safari:FAIL) - sharedStorage.delete:
FAIL(Chrome:FAIL, Safari:FAIL) - new SharedStorageSetMethod with 1 argument:
FAIL(Chrome:FAIL, Safari:FAIL) - new SharedStorageSetMethod with 2 arguments:
FAIL(Chrome:FAIL, Safari:FAIL) - new SharedStorageAppendMethod with 1 argument:
FAIL(Chrome:FAIL, Safari:FAIL) - new SharedStorageAppendMethod with 2 arguments:
FAIL(Chrome:FAIL, Safari:FAIL) - new SharedStorageDeleteMethod with no arguments:
FAIL(Chrome:FAIL, Safari:FAIL) - new SharedStorageDeleteMethod with 1 argument:
FAIL(Chrome:FAIL, Safari:FAIL) - call SharedStorageClearMethod() as a function:
FAIL(Chrome:FAIL, Safari:FAIL) - new SharedStorageClearMethod with no arguments:
FAIL(Chrome:FAIL, Safari:FAIL) - sharedStorage.batchUpdate:
FAIL(Chrome:FAIL, Safari:FAIL) - sharedStorage.batchUpdate without 'methods' argument:
FAIL(Chrome:FAIL, Safari:FAIL) - sharedStorage.batchUpdate with invalid 'methods' argument:
FAIL(Chrome:FAIL, Safari:FAIL)
- sharedStorage.set with 0 argument:
- /shared-storage/shared-storage-permissions-policy-default.tentative.https.sub.html [wpt.fyi]
- Default permissions policy allows sharedStorage in the current page.:
FAIL(Chrome:TIMEOUT, Safari:FAIL) - Default permissions policy allows sharedStorage.createWorklet() with same-origin script:
FAIL(Chrome:NOTRUN, Safari:FAIL) - Default permissions policy allows sharedStorage.createWorklet() with cross-origin script:
FAIL(Chrome:NOTRUN, Safari:FAIL) - Default permissions policy allows sharedStorage in same-origin iframes.:
FAIL(Chrome:TIMEOUT, Safari:FAIL) - Default permissions policy allows sharedStorage in cross-origin iframes.:
FAIL(Chrome:TIMEOUT, Safari:FAIL)
- Default permissions policy allows sharedStorage in the current page.:
- /shared-storage/shared-storage-permissions-policy-none.tentative.https.sub.html [wpt.fyi]
- permissions policy header shared-storage=() disallows sharedStorage.createWorklet() with same-origin script:
FAIL(Chrome:PASS, Safari:FAIL) - permissions policy header shared-storage=() disallows sharedStorage.createWorklet() with cross-origin script:
FAIL(Chrome:PASS, Safari:FAIL)
- permissions policy header shared-storage=() disallows sharedStorage.createWorklet() with same-origin script:
- /shared-storage/shared-storage-permissions-policy-self.tentative.https.sub.html [wpt.fyi]
- permissions policy header shared-storage=(self) allows sharedStorage in the current page.:
FAIL(Chrome:TIMEOUT, Safari:FAIL) - permissions policy header shared-storage=(self) allows sharedStorage.createWorklet() with same-origin script:
FAIL(Chrome:NOTRUN, Safari:FAIL) - permissions policy header shared-storage=(self) disallows sharedStorage.createWorklet() with cross-origin script:
FAIL(Chrome:NOTRUN, Safari:FAIL) - permissions policy header shared-storage=(self) allows sharedStorage in same-origin iframes.:
FAIL(Chrome:TIMEOUT, Safari:FAIL)
- permissions policy header shared-storage=(self) allows sharedStorage in the current page.:
- /shared-storage/shared-storage-writable-insecure-context.tentative.http.sub.html [wpt.fyi]
- sharedStorageWritable not allowed in insecure context.:
FAIL(Chrome:PASS, Safari:FAIL)
- sharedStorageWritable not allowed in insecure context.:
- /shared-storage/web-locks-header-modifier-method.tentative.https.sub.html [wpt.fyi]
- Test for withLock option in the Shared-Storage-Write response header:
FAIL(Chrome:FAIL, Safari:FAIL)
- Test for withLock option in the Shared-Storage-Write response header:
- /shared-storage/web-locks-pa-worklet-modifier-method.tentative.https.window.html [wpt.fyi]
- Test for withLock option in a Protected Audience Worklet context:
FAIL(Chrome:FAIL, Safari:FAIL)
- Test for withLock option in a Protected Audience Worklet context:
- /shared-storage/web-locks-window-batch-update.tentative.https.sub.html [wpt.fyi]
- Test for batchUpdate() with a batch lock in a Window context:
FAIL(Chrome:FAIL, Safari:FAIL)
- Test for batchUpdate() with a batch lock in a Window context:
- /shared-storage/web-locks-window-modifier-method.tentative.https.sub.html [wpt.fyi]
- Test for withLock option in a Window context:
FAIL(Chrome:FAIL, Safari:FAIL)
- Test for withLock option in a Window context:
- /shared-storage/web-locks-worklet-batch-update.tentative.https.sub.html [wpt.fyi]
- Test for batchUpdate() with a batch lock in a SharedStorageWorklet context:
FAIL(Chrome:FAIL, Safari:FAIL)
- Test for batchUpdate() with a batch lock in a SharedStorageWorklet context:
- /shared-storage/web-locks-worklet-modifier-method.tentative.https.sub.html [wpt.fyi]
- Test for withLock option in a SharedStorageWorklet context:
FAIL(Chrome:FAIL, Safari:FAIL)
- Test for withLock option in a SharedStorageWorklet context:
- /shared-storage/web-locks.tentative.https.sub.html [wpt.fyi]
- Basic test for Web Locks API in the shared storage worklet:
FAIL(Chrome:FAIL, Safari:FAIL)
- Basic test for Web Locks API in the shared storage worklet:
- /shared-storage-selecturl-limit/run-url-selection-operation-limit.tentative.https.sub.html [wpt.fyi]
- selectURL() with per-origin per-pageload limit:
FAIL(Chrome:FAIL, Safari:FAIL)
- selectURL() with per-origin per-pageload limit:
- /shared-storage-selecturl-limit/select-url-limit-multiple-worklets.tentative.https.sub.html [wpt.fyi]
- selectURL() called on multiple worklets, with per-origin per-pageload limit:
FAIL(Chrome:FAIL, Safari:FAIL)
- selectURL() called on multiple worklets, with per-origin per-pageload limit:
- /shared-storage-selecturl-limit/select-url-saved-query-async.tentative.https.sub.html [wpt.fyi]
- selectURL() saved query does not deduct budget on re-use, even if the initial query has not yet resolved.:
FAIL(Chrome:FAIL, Safari:FAIL)
- selectURL() saved query does not deduct budget on re-use, even if the initial query has not yet resolved.:
- /shared-storage-selecturl-limit/select-url-saved-query-different-operation.tentative.https.sub.html [wpt.fyi]
- selectURL() saved query not reused across different operations:
FAIL(Chrome:FAIL, Safari:FAIL)
- selectURL() saved query not reused across different operations:
- /shared-storage-selecturl-limit/select-url-saved-query.tentative.https.sub.html [wpt.fyi]
- selectURL() saved query does not deduct budget on re-use:
FAIL(Chrome:FAIL, Safari:FAIL)
- selectURL() saved query does not deduct budget on re-use:
Comment 6•1 year ago
|
||
| bugherder | ||
Description
•