Status Update
Comments
ap...@google.com <ap...@google.com> #2
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Add Web Locks to the worklet
Expand for full commit details
[shared storage] Add Web Locks to the worklet
Explainer: https://github.com/WICG/shared-storage/pull/199
Key points:
- `SharedStorageWorkletNavigator` is a new interface that only
supports `locks`. Implementation-wise, we inherit NavigatorBase
so it's compatible with the LockManager implementation. Some
methods are obviously unreachable (e.g. GetAcceptLanguages()).
- Add the member `LockManager<OriginLockGroupId> lock_manager_;` to
SharedStorageWorkletHostManager: The locks have a shared storage
specific scope (separate from the Window/Worker locks), and are
further partitioned by shared storage origin.
Bug: 373899210
Change-Id: I9908962949088356c2a61c1556183ccd5772985f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5937903
Reviewed-by: Ayu Ishii <ayui@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1370865}
Files:
- M
content/browser/browser_interface_binders.cc
- M
content/browser/shared_storage/shared_storage_worklet_host.cc
- M
content/browser/shared_storage/shared_storage_worklet_host.h
- M
content/browser/shared_storage/shared_storage_worklet_host_manager.cc
- M
content/browser/shared_storage/shared_storage_worklet_host_manager.h
- M
third_party/blink/renderer/bindings/generated_in_modules.gni
- M
third_party/blink/renderer/bindings/idl_in_modules.gni
- M
third_party/blink/renderer/modules/locks/BUILD.gn
- M
third_party/blink/renderer/modules/locks/DEPS
- M
third_party/blink/renderer/modules/locks/lock.idl
- M
third_party/blink/renderer/modules/locks/lock_manager.cc
- M
third_party/blink/renderer/modules/locks/lock_manager.idl
- A
third_party/blink/renderer/modules/locks/shared_storage_worklet_navigator_locks.idl
- M
third_party/blink/renderer/modules/shared_storage/BUILD.gn
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_global_scope.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_global_scope.h
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_global_scope.idl
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_navigator.cc
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_navigator.h
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_navigator.idl
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_unittest.cc
- M
third_party/blink/renderer/platform/runtime_enabled_features.json5
- M
third_party/blink/web_tests/VirtualTestSuites
- M
third_party/blink/web_tests/external/wpt/shared-storage/resources/simple-module.js
- A
third_party/blink/web_tests/external/wpt/shared-storage/web-locks.tentative.https.sub.html
Hash: bfec2c82778ba2d5e8797c5d41d905fc58a01210
Date: Fri Oct 18 22:34:52 2024
ap...@google.com <ap...@google.com> #3
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Introduce SharedStorageModifierMethod union Mojo type
Expand for full commit details
[shared storage] Introduce SharedStorageModifierMethod union Mojo type
What:
- Introduce SharedStorageSet(/Append/Delete/Clear)Method and a union
type SharedStorageModifierMethod. Consolidate the existing modifier
methods into a single
`SharedStorageUpdate(SharedStorageModifierMethod)` method.
- No behavior change.
Why:
- Enable Batch Updates: This prepares for the upcoming support for the
JavaScript API, batchUpdate(sequence<SharedStorageModifierMethod>),
allowing websites to perform multiple modifications in a single
operation. Explainer: https://github.com/WICG/shared-storage/pull/199
- Improved Maintainability: This simplifies the Mojo interface and
reduces future maintenance overhead.
Bug: 373899210
Change-Id: I3b516b577fb170cca19bd7f9afa1c019f53e0f45
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5949646
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1372139}
Files:
- M
content/browser/shared_storage/shared_storage_document_service_impl.cc
- M
content/browser/shared_storage/shared_storage_document_service_impl.h
- M
content/browser/shared_storage/shared_storage_worklet_host.cc
- M
content/browser/shared_storage/shared_storage_worklet_host.h
- M
third_party/blink/public/mojom/shared_storage/shared_storage.mojom
- M
third_party/blink/public/mojom/shared_storage/shared_storage_worklet_service.mojom
- M
third_party/blink/renderer/modules/shared_storage/shared_storage.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_unittest.cc
Hash: 2f272a7ffb95f8b0ece48593ead58c27e88533e1
Date: Tue Oct 22 17:20:15 2024
ap...@google.com <ap...@google.com> #4
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Consolidate FLEDGE's shared storage modifier methods
Expand for full commit details
[shared storage] Consolidate FLEDGE's shared storage modifier methods
What:
- Consolidate the existing modifier methods into a single
`SharedStorageUpdate(SharedStorageModifierMethod)` method.
- No behavior change.
Why:
- Enable Batch Updates: This prepares for the upcoming support for the
JavaScript API, batchUpdate(sequence<SharedStorageModifierMethod>),
allowing websites to perform multiple modifications in a single
operation. Explainer: https://github.com/WICG/shared-storage/pull/199
- Improved Maintainability: This simplifies the Mojo interface and
reduces future maintenance overhead.
Bug: 373899210
Change-Id: I26ad3d9048709dfcda2614d573dcea6d60a971aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5953467
Reviewed-by: Dominic Farolino <dom@chromium.org>
Reviewed-by: Russ Hamilton <behamilton@google.com>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1373433}
Files:
- M
content/browser/interest_group/auction_shared_storage_host.cc
- M
content/browser/interest_group/auction_shared_storage_host.h
- M
content/services/auction_worklet/bidder_worklet_unittest.cc
- M
content/services/auction_worklet/context_recycler_unittest.cc
- M
content/services/auction_worklet/public/cpp/auction_downloader_unittest.cc
- M
content/services/auction_worklet/public/mojom/auction_shared_storage_host.mojom
- M
content/services/auction_worklet/seller_worklet_unittest.cc
- M
content/services/auction_worklet/shared_storage_bindings.cc
- M
content/services/auction_worklet/worklet_test_util.cc
- M
content/services/auction_worklet/worklet_test_util.h
Hash: 4cf6811ced7ab2cc3d7f618a369ff7af92983c76
Date: Thu Oct 24 18:04:30 2024
ap...@google.com <ap...@google.com> #5
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Make MaxSharedStorageBytesPerOrigin a constant
Expand for full commit details
[shared storage] Make MaxSharedStorageBytesPerOrigin a constant
What:
- Remove it from blink feature params and make it a constant. Note that
this feature isn't currently configured by the server.
- Refactor unit tests to isolate the testing of feature translations
from the testing of the params behavior. Explicitly create
SharedStorageDatabaseOptions() instances in tests to allow direct
control (over max_bytes_per_origin in particular).
Why:
- This feature is used in mojom_traits validation. The validation rule
needs to be constant.
(arose from https://crrev.com/c/5958552/comment/9f7fce31_1fffe957)
- There is no compelling reason for this value to be configurable.
Bug: 373899210
Change-Id: If01e210c178dc3660a4b8dde9d2e1973f0c838b4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5982378
Reviewed-by: Russ Hamilton <behamilton@google.com>
Commit-Queue: Cammie Smith Barnes <cammie@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1377072}
Files:
- M
components/services/storage/shared_storage/async_shared_storage_database_impl_unittest.cc
- M
components/services/storage/shared_storage/shared_storage_database_unittest.cc
- M
components/services/storage/shared_storage/shared_storage_options.cc
- M
content/services/auction_worklet/context_recycler_unittest.cc
- M
third_party/blink/common/features.cc
- M
third_party/blink/common/shared_storage/shared_storage_utils.cc
- M
third_party/blink/public/common/features.h
- M
third_party/blink/public/common/shared_storage/shared_storage_utils.h
Hash: a88db03c74b2dbc9e8bc0df8e89476e4188259e5
Date: Fri Nov 01 20:44:45 2024
ap...@google.com <ap...@google.com> #6
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Move common mojom types from //blink to //services/network
Expand for full commit details
[shared storage] Move common mojom types from //blink to //services/network
Why: These common types will be needed in all blink/network/content
layers.
Currently, //services/network duplicates types like
`mojom::SharedStorageOperationType` and `SharedStorageOperation` for use
in `URLLoaderNetworkServiceObserver::OnSharedStorageHeaderReceived()`.
A follow-up CL will remove the duplicated types, reducing maintenance
overhead and the risk of inconsistencies.
To address a Windows-specific link error, we use the suppression
ldflags = [ "/IGNORE:4217" ]. Note that this suppression is also
applied elsewhere in the codebase, such as within
component("cpp_base") in the network service.
Bug: 373899210
Change-Id: I8700a6b79b42c02cf7a5a11ba0d2baa0f7fe3f79
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5958552
Reviewed-by: Ayu Ishii <ayui@chromium.org>
Reviewed-by: mmenke <mmenke@chromium.org>
Reviewed-by: Adam Rice <ricea@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1378487}
Files:
- M
components/services/storage/DEPS
- M
components/services/storage/shared_storage/shared_storage_options.cc
- M
content/browser/interest_group/auction_shared_storage_host.cc
- M
content/browser/interest_group/auction_shared_storage_host.h
- M
content/browser/shared_storage/shared_storage_document_service_impl.cc
- M
content/browser/shared_storage/shared_storage_document_service_impl.h
- M
content/browser/shared_storage/shared_storage_header_observer.cc
- M
content/browser/shared_storage/shared_storage_worklet_host.cc
- M
content/browser/shared_storage/shared_storage_worklet_host.h
- M
content/services/auction_worklet/bidder_worklet_unittest.cc
- M
content/services/auction_worklet/context_recycler_unittest.cc
- M
content/services/auction_worklet/public/mojom/auction_shared_storage_host.mojom
- M
content/services/auction_worklet/seller_worklet_unittest.cc
- M
content/services/auction_worklet/shared_storage_bindings.cc
- M
content/services/auction_worklet/worklet_test_util.cc
- M
content/services/auction_worklet/worklet_test_util.h
- M
services/network/public/cpp/BUILD.gn
- A
services/network/public/cpp/shared_storage_mojom_traits.cc
- A
services/network/public/cpp/shared_storage_mojom_traits.h
- M
services/network/public/cpp/shared_storage_mojom_traits_unittest.cc
- A
services/network/public/cpp/shared_storage_utils.cc
- A
services/network/public/cpp/shared_storage_utils.h
- M
services/network/public/mojom/BUILD.gn
- A
services/network/public/mojom/shared_storage.mojom
- M
third_party/blink/common/BUILD.gn
- D
third_party/blink/common/shared_storage/shared_storage_mojom_traits.cc
- M
third_party/blink/common/shared_storage/shared_storage_utils.cc
- M
third_party/blink/public/common/BUILD.gn
- D
third_party/blink/public/common/shared_storage/shared_storage_mojom_traits.h
- M
third_party/blink/public/common/shared_storage/shared_storage_utils.h
- M
third_party/blink/public/mojom/BUILD.gn
- M
third_party/blink/public/mojom/shared_storage/shared_storage.mojom
- M
third_party/blink/public/mojom/shared_storage/shared_storage_worklet_service.mojom
- M
third_party/blink/renderer/modules/shared_storage/BUILD.gn
- M
third_party/blink/renderer/modules/shared_storage/shared_storage.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_blink_mojom_traits.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_blink_mojom_traits.h
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_unittest.cc
- M
third_party/blink/renderer/platform/BUILD.gn
Hash: 35d1bd12e88cdc5569fbbe1f078ec88a59cc347b
Date: Tue Nov 05 19:01:22 2024
ap...@google.com <ap...@google.com> #7
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Rename SharedStorageWorkletHostManager to SharedStorageRuntimeManager
Expand for full commit details
[shared storage] Rename SharedStorageWorkletHostManager to SharedStorageRuntimeManager
The SharedStorageWorkletHostManager class has expanded beyond just
managing worklet hosts to include lock management. Rename it to better
reflect its broader responsibilities.
The name "SharedStorageRuntimeManager" is chosen because:
1. It avoids confusion with SharedStorageManager (which manages the
persistent database).
2. "Runtime" emphasizes that it manages ephemeral/in-memory components
like the worklet hosts and the locks.
Bug: 373899210
Change-Id: I8e64ae6df876c0f43a6096e4b8b2ab43a4cac3c6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6003136
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Auto-Submit: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1381418}
Files:
- M
content/browser/BUILD.gn
- M
content/browser/devtools/protocol/storage_handler.cc
- M
content/browser/devtools/protocol/storage_handler.h
- M
content/browser/devtools/shared_storage_worklet_devtools_agent_host_unittest.cc
- M
content/browser/shared_storage/shared_storage_browsertest.cc
- M
content/browser/shared_storage/shared_storage_document_service_impl.cc
- M
content/browser/shared_storage/shared_storage_document_service_impl.h
- M
content/browser/shared_storage/shared_storage_header_observer.cc
- M
content/browser/shared_storage/shared_storage_header_observer.h
- M
content/browser/shared_storage/shared_storage_runtime_manager.cc
- M
content/browser/shared_storage/shared_storage_runtime_manager.h
- M
content/browser/shared_storage/shared_storage_worklet_host.cc
- M
content/browser/shared_storage/shared_storage_worklet_host.h
- M
content/browser/storage_partition_impl.cc
- M
content/browser/storage_partition_impl.h
- M
content/public/test/shared_storage_test_utils.cc
- M
content/public/test/shared_storage_test_utils.h
- M
content/test/test_select_url_fenced_frame_config_observer_impl.cc
- M
content/test/test_select_url_fenced_frame_config_observer_impl.h
Hash: 5fe0299684214e734f659d9e3108dbfd7e240b24
Date: Mon Nov 11 22:02:26 2024
ap...@google.com <ap...@google.com> #8
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Use the common mojom type for OnSharedStorageHeaderReceived()
Expand for full commit details
[shared storage] Use the common mojom type for OnSharedStorageHeaderReceived()
Refactor OnSharedStorageHeaderReceived() to utilize the common
mojom union type for shared storage headers. This alignment
eliminates code duplication, reducing maintenance overhead and the
risk of inconsistencies between the network service and Blink.
As part of this refactor, some validation is moved to the network
service (e.g. `key` length validation). There's no behavior change
overall: Unrecognized methods and parameters continue to be skipped,
and valid methods are processed as before.
Additionally, to resolve a "duplicate symbol" link error on Windows,
(due to url_loader_base now depends on mojom_shared_storage, and
blink's mojom_platform depends on url_loader_base) we include the
`mojom_shared_storage` target in mojom("mojom_modules")'s
overridden_deps_blink, and switch to PLATFORM_EXPORT from
MODULES_EXPORT for relevant files.
Bug: 373899210
Change-Id: I8fda87ad6bea7994d84ac1100e4d96a138cb444f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5990970
Reviewed-by: Adam Rice <ricea@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Gary Kacmarcik <garykac@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1385815}
Files:
- M
chrome/browser/ash/bruschetta/bruschetta_network_context.cc
- M
chrome/browser/ash/bruschetta/bruschetta_network_context.h
- M
chrome/browser/storage/shared_storage_browsertest.cc
- M
content/browser/network_service_client.cc
- M
content/browser/network_service_client.h
- M
content/browser/shared_storage/shared_storage_browsertest.cc
- M
content/browser/shared_storage/shared_storage_header_observer.cc
- M
content/browser/shared_storage/shared_storage_header_observer.h
- M
content/browser/shared_storage/shared_storage_header_observer_unittest.cc
- M
content/browser/storage_partition_impl.cc
- M
content/browser/storage_partition_impl.h
- M
content/public/test/shared_storage_test_utils.cc
- M
content/public/test/shared_storage_test_utils.h
- M
content/public/test/test_shared_storage_header_observer.cc
- M
content/public/test/test_shared_storage_header_observer.h
- M
remoting/base/url_loader_network_service_observer.cc
- M
remoting/base/url_loader_network_service_observer.h
- M
services/network/public/mojom/BUILD.gn
- M
services/network/public/mojom/url_loader_network_service_observer.mojom
- M
services/network/shared_storage/shared_storage_header_utils.cc
- M
services/network/shared_storage/shared_storage_header_utils.h
- M
services/network/shared_storage/shared_storage_request_helper.cc
- M
services/network/shared_storage/shared_storage_request_helper.h
- M
services/network/shared_storage/shared_storage_request_helper_unittest.cc
- M
services/network/shared_storage/shared_storage_test_url_loader_network_observer.cc
- M
services/network/shared_storage/shared_storage_test_url_loader_network_observer.h
- M
services/network/shared_storage/shared_storage_test_utils.cc
- M
services/network/shared_storage/shared_storage_test_utils.h
- M
services/network/test/test_url_loader_network_observer.cc
- M
services/network/test/test_url_loader_network_observer.h
- M
services/network/url_loader_unittest.cc
- M
third_party/blink/public/mojom/BUILD.gn
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_blink_mojom_traits.h
Hash: 504f31d14be44a400512f27d165f8d33e7bd3277
Date: Wed Nov 20 19:32:15 2024
ap...@google.com <ap...@google.com> #9
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Implement 'with_lock' modifier options for Window and SharedStorageWorklet
Expand for full commit details
[shared storage] Implement 'with_lock' modifier options for Window and SharedStorageWorklet
Implement the { withLock: <lock resource name> } option for the
modifier methods for Window and SharedStorageWorklet context. The
SharedStorageLockManager manages the state of the locks and locked
requests. It acts as the LockRequest receiver to listen to Granted()
calls to resolve those requests. The locks uses the shared storage
origin as the partitioning origin, and thus can interact with the
regular Web Locks API (i.e. navigator.locks.request()) from within
the shared storage worklet.
The locking function is gated behind
features::kSharedStorageWebLocks, which is checked in the browser
process in SharedStorageLockManager::SharedStorageUpdate().
Explainer PR(s):
- https://github.com/WICG/shared-storage/pull/199
- https://github.com/WICG/shared-storage/pull/205
Bug: 373899210
Change-Id: I7003d392076a65a9ff2d277f9f0c2791436d2f68
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6020796
Reviewed-by: Giovanni Ortuno Urquidi <ortuno@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1387751}
Files:
- M
content/browser/BUILD.gn
- M
content/browser/shared_storage/shared_storage_browsertest.cc
- M
content/browser/shared_storage/shared_storage_document_service_impl.cc
- M
content/browser/shared_storage/shared_storage_document_service_impl.h
- A
content/browser/shared_storage/shared_storage_lock_manager.cc
- A
content/browser/shared_storage/shared_storage_lock_manager.h
- A
content/browser/shared_storage/shared_storage_lock_manager_unittest.cc
- M
content/browser/shared_storage/shared_storage_runtime_manager.cc
- M
content/browser/shared_storage/shared_storage_runtime_manager.h
- M
content/browser/shared_storage/shared_storage_worklet_host.cc
- M
content/browser/shared_storage/shared_storage_worklet_host.h
- M
content/browser/storage_partition_impl.cc
- M
content/test/BUILD.gn
- M
services/network/public/mojom/shared_storage.mojom
- M
third_party/blink/public/mojom/shared_storage/shared_storage.mojom
- M
third_party/blink/public/mojom/shared_storage/shared_storage_worklet_service.mojom
- M
third_party/blink/renderer/bindings/generated_in_modules.gni
- M
third_party/blink/renderer/bindings/idl_in_modules.gni
- M
third_party/blink/renderer/modules/shared_storage/shared_storage.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage.h
- M
third_party/blink/renderer/modules/shared_storage/shared_storage.idl
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_modifier_method_options.idl
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_set_method_options.idl
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_unittest.cc
- M
third_party/blink/web_tests/external/wpt/shared-storage/resources/simple-module.js
- A
third_party/blink/web_tests/external/wpt/shared-storage/web-locks-window-modifier-method.tentative.https.sub.html
- A
third_party/blink/web_tests/external/wpt/shared-storage/web-locks-worklet-modifier-method.tentative.https.sub.html
- M
third_party/blink/web_tests/external/wpt/shared-storage/web-locks.tentative.https.sub.html
- M
third_party/blink/web_tests/http/tests/inspector-protocol/resources/shared-storage-module.js
Hash: eb65e6fb757137058c8d847062b0dd183e371aa6
Date: Mon Nov 25 19:43:02 2024
ap...@google.com <ap...@google.com> #10
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Implement with_lock option for methods from response headers
Expand for full commit details
[shared storage] Implement with_lock option for methods from response headers
Explainer PR(s):
- https://github.com/WICG/shared-storage/pull/199
- https://github.com/WICG/shared-storage/pull/205
How:
- Add the parameter parsing logic in the network service, and send the
final request to the browser process's central
SharedStorageLockManager component.
- Since SharedStorageLockManager::SharedStorageUpdate() hides the
exact database result, we update observer's OnMethodFinished()'s
parameters accordingly. In the test observer, the error message is
further transformed into a boolean 'success' result. This callback
is only used in tests and it's not important to assert the detailed
result anyway.
- A new test, `SharedStorageHeaderObserverTest.Append_NoCapacity`,
has been added to demonstrate the case where `SharedStorageUpdate`
encounters an error.
Bug: 373899210
Change-Id: I4588c83174d465e7248cc1f41c9b7a693aa326f4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6042601
Reviewed-by: Gary Kacmarcik <garykac@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Reviewed-by: Joe Mason <joenotcharles@google.com>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1388298}
Files:
- M
chrome/browser/ash/bruschetta/bruschetta_network_context.cc
- M
chrome/browser/ash/bruschetta/bruschetta_network_context.h
- M
chrome/browser/storage/shared_storage_browsertest.cc
- M
content/browser/network_service_client.cc
- M
content/browser/network_service_client.h
- M
content/browser/shared_storage/shared_storage_browsertest.cc
- M
content/browser/shared_storage/shared_storage_header_observer.cc
- M
content/browser/shared_storage/shared_storage_header_observer.h
- M
content/browser/shared_storage/shared_storage_header_observer_unittest.cc
- M
content/browser/shared_storage/shared_storage_lock_manager_unittest.cc
- M
content/browser/storage_partition_impl.cc
- M
content/browser/storage_partition_impl.h
- M
content/public/test/shared_storage_test_utils.cc
- M
content/public/test/shared_storage_test_utils.h
- M
content/public/test/test_shared_storage_header_observer.cc
- M
content/public/test/test_shared_storage_header_observer.h
- M
remoting/base/url_loader_network_service_observer.cc
- M
remoting/base/url_loader_network_service_observer.h
- M
services/network/public/mojom/url_loader_network_service_observer.mojom
- M
services/network/shared_storage/shared_storage_header_utils.cc
- M
services/network/shared_storage/shared_storage_header_utils.h
- M
services/network/shared_storage/shared_storage_request_helper.cc
- M
services/network/shared_storage/shared_storage_request_helper_unittest.cc
- M
services/network/shared_storage/shared_storage_test_url_loader_network_observer.cc
- M
services/network/shared_storage/shared_storage_test_url_loader_network_observer.h
- M
services/network/shared_storage/shared_storage_test_utils.cc
- M
services/network/shared_storage/shared_storage_test_utils.h
- M
services/network/test/test_url_loader_network_observer.cc
- M
services/network/test/test_url_loader_network_observer.h
- A
third_party/blink/web_tests/external/wpt/shared-storage/web-locks-header-modifier-method.tentative.https.sub.html
Hash: 7177f6736f1cbf68ec083be175feb020294c8f2e
Date: Tue Nov 26 17:22:50 2024
ap...@google.com <ap...@google.com> #11
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Implement withLock
option for methods from PA worklets
Expand for full commit details
[shared storage] Implement `withLock` option for methods from PA worklets
Similar to what has been done for Window, SharedStorageWorklet, and
response headers, we add the `withLock` parameter parsing logic in the
PA worklet, and send the final request to the browser process's central
SharedStorageLockManager component.
We reuse AccessType::kWorkletSet, etc. for displaying events in
DevTools. Filed crbug.com/380291909 to further distinguish PA
worklet access from shared storage worklet access.
Bug: 373899210
Change-Id: Ia16d256167be5a43adba699c2c9b55a626f7b0e7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6047561
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1388539}
Files:
- M
content/browser/interest_group/auction_shared_storage_host.cc
- M
content/browser/interest_group/auction_shared_storage_host.h
- M
content/browser/interest_group/auction_worklet_manager.cc
- M
content/browser/shared_storage/shared_storage_lock_manager.cc
- M
content/browser/shared_storage/shared_storage_lock_manager.h
- M
content/browser/shared_storage/shared_storage_runtime_manager.h
- M
content/services/auction_worklet/BUILD.gn
- M
content/services/auction_worklet/bidder_worklet_unittest.cc
- M
content/services/auction_worklet/context_recycler_unittest.cc
- M
content/services/auction_worklet/public/mojom/auction_shared_storage_host.mojom
- M
content/services/auction_worklet/seller_worklet_unittest.cc
- M
content/services/auction_worklet/shared_storage_bindings.cc
- M
content/services/auction_worklet/worklet_test_util.cc
- M
content/services/auction_worklet/worklet_test_util.h
- M
third_party/blink/web_tests/external/wpt/fledge/tentative/resources/fledge-util.sub.js
- A
third_party/blink/web_tests/external/wpt/shared-storage/web-locks-pa-worklet-modifier-method.tentative.https.window.js
Hash: 79a50bf3740d766021fa6010387f3ef9fa1b95c4
Date: Tue Nov 26 23:54:23 2024
ap...@google.com <ap...@google.com> #12
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Add SharedStorageLockManager::SharedStorageBatchUpdate() API
Expand for full commit details
[shared storage] Add SharedStorageLockManager::SharedStorageBatchUpdate() API
This prepares for the batchUpdate() Web API change.
Explainer PR(s):
- https://github.com/WICG/shared-storage/pull/199
- https://github.com/WICG/shared-storage/pull/205
How:
- The SharedStorageBatchUpdate method first acquires the batch-level
lock if requested (`with_lock` is present). Then, under the
batch-level lock, it handles each method with any necessary
individual lock. Finally, it releases the batch-level lock and
invokes `callback`.
- Note that the batch lock is released as soon as all methods are
posted to the database, whereas the callback is invoked only after
the database responses are available. This aligns with the
established pattern for `SharedStorageUpdate` (i.e., we only
have a single database task queue, so releasing the lock "sooner"
still produces the correct behavior, and has better performance).
Bug: 373899210
Change-Id: Iaf2c1ea50ac11c3dd57624ee44004c35ccf5ecbb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6055330
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1390564}
Files:
- M
content/browser/shared_storage/shared_storage_lock_manager.cc
- M
content/browser/shared_storage/shared_storage_lock_manager.h
- M
content/browser/shared_storage/shared_storage_lock_manager_unittest.cc
Hash: a35131209da76b34e9cd33f3922382f35d27c38b
Date: Mon Dec 02 20:55:11 2024
ap...@google.com <ap...@google.com> #13
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Add SharedStorageSet/Append/Delete/Clear IDL Interface
Expand for full commit details
[shared storage] Add SharedStorageSet/Append/Delete/Clear IDL Interface
Implement the constructor for `SharedStorageSetMethod`, etc. The
error handling logic mirrors the existing sharedStorage.set(), etc.
To allow code reuse, the sharedStorage.set(), etc. methods
now creates the object and early return on exceptions.
Note that even though we no longer explicitly call resolver->Reject()
for sharedStorage.set(), etc., Chrome still converts thrown
exceptions to rejected promises (to adhere to the specification [1]),
so the end result is the same.
This prepares for the implementation of the
`sharedStorage.batchUpdate(methods)` method, as part of the Web Lock
integration proposal:
- https://github.com/WICG/shared-storage/pull/199
- https://github.com/WICG/shared-storage/pull/205
[1] https://w3ctag.github.io/promises-guide/#always-return-promises
Bug: 373899210
Change-Id: Ie4edfedbe755afeb3db5ca557fd74482bac96138
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6054694
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1390779}
Files:
- M
content/browser/shared_storage/shared_storage_browsertest.cc
- M
third_party/blink/renderer/bindings/generated_in_modules.gni
- M
third_party/blink/renderer/bindings/idl_in_modules.gni
- M
third_party/blink/renderer/modules/shared_storage/BUILD.gn
- M
third_party/blink/renderer/modules/shared_storage/shared_storage.cc
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_append_method.cc
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_append_method.h
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_append_method.idl
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_clear_method.cc
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_clear_method.h
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_clear_method.idl
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_delete_method.cc
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_delete_method.h
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_delete_method.idl
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_set_method.cc
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_set_method.h
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_set_method.idl
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_unittest.cc
- M
third_party/blink/renderer/modules/shared_storage/util.cc
- M
third_party/blink/renderer/modules/shared_storage/util.h
- M
third_party/blink/web_tests/external/wpt/shared-storage/setters.tentative.https.sub.html
Hash: 17f053ad533057df344cc3f8c8ff340b217414db
Date: Tue Dec 03 03:25:50 2024
ap...@google.com <ap...@google.com> #14
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Add SharedStorageSetMethod etc. constructors to PA worklet
Expand for full commit details
[shared storage] Add SharedStorageSetMethod etc. constructors to PA worklet
Implement the constructor for `SharedStorageSetMethod`, etc in PA
worklet. The error handling logic mirrors the existing
sharedStorage.set(), etc.
Drive-by: fix an ordering issue between IDL error and permissions
policy error. The IDL error should be reported first.
This prepares for the implementation of the
`sharedStorage.batchUpdate(methods)` method, as part of the Web Lock
integration proposal:
- https://github.com/WICG/shared-storage/pull/199
- https://github.com/WICG/shared-storage/pull/205
Bug: 373899210
Change-Id: I42563d7e5c2b6d705b015579b72f7254e2dfa11f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6060413
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1391782}
Files:
- M
content/services/auction_worklet/bidder_worklet_unittest.cc
- M
content/services/auction_worklet/context_recycler_unittest.cc
- M
content/services/auction_worklet/shared_storage_bindings.cc
- M
content/services/auction_worklet/shared_storage_bindings.h
Hash: 6a02043460cf30fced88cccb1d9d99034b5f2278
Date: Wed Dec 04 19:11:23 2024
ap...@google.com <ap...@google.com> #15
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Add SharedStorageModifierMethod IDL interface
Expand for full commit details
[shared storage] Add SharedStorageModifierMethod IDL interface
Introduce a new `SharedStorageModifierMethod` IDL interface that is
inherited by individual methods.
This prepares for a follow-up change to add the
`batchUpdate(methods)` API, as part of the Web Locks integration
proposal:
- https://github.com/WICG/shared-storage/pull/199
- https://github.com/WICG/shared-storage/pull/205
Bug: 373899210
Change-Id: Id6e21c87c4c58bc2cadd1afb28e528243e800e72
Fuchsia-Binary-Size: Size increase is unavoidable.
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6069826
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1391791}
Files:
- M
third_party/blink/renderer/bindings/generated_in_modules.gni
- M
third_party/blink/renderer/bindings/idl_in_modules.gni
- M
third_party/blink/renderer/modules/shared_storage/BUILD.gn
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_append_method.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_append_method.h
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_append_method.idl
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_clear_method.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_clear_method.h
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_clear_method.idl
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_delete_method.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_delete_method.h
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_delete_method.idl
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_modifier_method.cc
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_modifier_method.h
- A
third_party/blink/renderer/modules/shared_storage/shared_storage_modifier_method.idl
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_set_method.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_set_method.h
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_set_method.idl
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_unittest.cc
Hash: 0209bb1638738563b761da1930db98a052ce114b
Date: Wed Dec 04 19:28:46 2024
ap...@google.com <ap...@google.com> #16
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Implement batchUpdate() for Window and SharedStorageWorklet context
Expand for full commit details
[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:
- https://github.com/WICG/shared-storage/pull/199
- https://github.com/WICG/shared-storage/pull/205
How:
- Add `batchUpdate(methods, options)` to the `SharedStorage` interface.
- 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/c/chromium/src/+/6069087
Reviewed-by: Ayu Ishii <ayui@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1391933}
Files:
- M
content/browser/shared_storage/shared_storage_document_service_impl.cc
- M
content/browser/shared_storage/shared_storage_document_service_impl.h
- M
content/browser/shared_storage/shared_storage_lock_manager.cc
- M
content/browser/shared_storage/shared_storage_lock_manager.h
- M
content/browser/shared_storage/shared_storage_worklet_host.cc
- M
content/browser/shared_storage/shared_storage_worklet_host.h
- M
third_party/blink/public/mojom/shared_storage/shared_storage.mojom
- M
third_party/blink/public/mojom/shared_storage/shared_storage_worklet_service.mojom
- M
third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
- M
third_party/blink/renderer/modules/shared_storage/shared_storage.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage.h
- M
third_party/blink/renderer/modules/shared_storage/shared_storage.idl
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_modifier_method.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_modifier_method.h
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_unittest.cc
- M
third_party/blink/web_tests/external/wpt/shared-storage/resources/simple-module.js
- M
third_party/blink/web_tests/external/wpt/shared-storage/setters.tentative.https.sub.html
- A
third_party/blink/web_tests/external/wpt/shared-storage/web-locks-window-batch-update.tentative.https.sub.html
- A
third_party/blink/web_tests/external/wpt/shared-storage/web-locks-worklet-batch-update.tentative.https.sub.html
- M
tools/metrics/histograms/enums.xml
- M
tools/metrics/histograms/metadata/storage/histograms.xml
Hash: 6575b4a4328784faf5d3fe97e37aa2f5714783b6
Date: Wed Dec 04 23:21:31 2024
ap...@google.com <ap...@google.com> #17
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] In ProcessResponse(), notify observer for empty batch
Expand for full commit details
[shared storage] In ProcessResponse(), notify observer for empty batch
For SharedStorageRequestHelper::ProcessResponse(), we modify the
handling of empty batches. Previously, an empty batch is ignored; now,
the observer is notified. This change is motivated by the upcoming
introduction of "options;with_lock=xxx". This new feature could make
seemingly "empty" batches more complex, potentially involving
non-trivial operations like lock acquisition. By always notifying the
observer, we avoid the need for intricate rules to determine what
constitutes a true no-op vs. an operation with potential side effects.
Bug: 373899210
Change-Id: I8c53f56098e1afd9460e8f83318d663ed0932eba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6073222
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Commit-Queue: Cammie Smith Barnes <cammie@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1392551}
Files:
- M
services/network/shared_storage/shared_storage_request_helper.cc
- M
services/network/shared_storage/shared_storage_request_helper_unittest.cc
Hash: ee6f245d551542a13e61828d98c1dfccf64a5726
Date: Thu Dec 05 21:53:00 2024
ap...@google.com <ap...@google.com> #18
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Switch to call BatchUpdate() for response headers
Expand for full commit details
[shared storage] Switch to call BatchUpdate() for response headers
In SharedStorageHeaderObserver::HeaderReceived(), switch to call
BatchUpdate() without a lock. The external behavior is the same with
calling individual Update() sequentially. Some testing components and
the callback parameters are updated accordingly (e.g., now, an
'operation' corresponds to the whole batch, rather than an individual
method).
This prepares for the upcoming change to introduce the batch options'
`with_lock` parameter.
Bug: 373899210
Change-Id: I4f82bf318ead5719382857a61c0c5af79352dbf9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6073263
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1392633}
Files:
- M
chrome/browser/storage/shared_storage_browsertest.cc
- M
content/browser/shared_storage/shared_storage_browsertest.cc
- M
content/browser/shared_storage/shared_storage_header_observer.cc
- M
content/browser/shared_storage/shared_storage_header_observer.h
- M
content/browser/shared_storage/shared_storage_header_observer_unittest.cc
- M
content/public/test/shared_storage_test_utils.cc
- M
content/public/test/shared_storage_test_utils.h
- M
content/public/test/test_shared_storage_header_observer.cc
- M
content/public/test/test_shared_storage_header_observer.h
Hash: 6614173ce04cffcb814a27259ba64b707c4b43d8
Date: Thu Dec 05 23:52:50 2024
ap...@google.com <ap...@google.com> #19
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Add 'SharedStorageModifierMethod' interface to PA worklet
Expand for full commit details
[shared storage] Add 'SharedStorageModifierMethod' interface to PA worklet
Introduce `SharedStorageModifierMethod` interface to PA worklet, that
is inherited by individual methods.
This is the proposed hierarchy, as part of the Web Locks integration
proposal (e.g., This allows the IDL parameter to be written as
sequence<SharedStorageModifierMethod>, and also allows the Blink class
to store mojom object in the base class):
- https://github.com/WICG/shared-storage/pull/199
- https://github.com/WICG/shared-storage/pull/205
Bug: 373899210
Change-Id: I2c83574bf9b87ab7c0cb9e6e4c656e742415b49f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6072666
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Commit-Queue: Cammie Smith Barnes <cammie@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1393929}
Files:
- M
content/services/auction_worklet/bidder_worklet_unittest.cc
- M
content/services/auction_worklet/shared_storage_bindings.cc
Hash: 4e9b666de1b0aebdd373c73cb34b70cdb07dcbf4
Date: Mon Dec 09 22:33:30 2024
ap...@google.com <ap...@google.com> #20
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Implement the batch with_lock
option for response header
Expand for full commit details
[shared storage] Implement the batch `with_lock` option for response header
Parse "options;with_lock=xxx" into the `with_lock` parameter. If
multiple "options" Items appear in the List, the last one will be
used. The parsed value is passed to the browser process's
`BatchUpdate()` API in the lock manager.
This allows developers to perform multiple Shared Storage operations
atomically within a single lock, as part of the Web Lock integration
proposal:
- https://github.com/WICG/shared-storage/pull/199
- https://github.com/WICG/shared-storage/pull/205
Bug: 373899210
Change-Id: Id041e92075b22988656a3db4f1a74792312ee422
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6072742
Reviewed-by: Gary Kacmarcik <garykac@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Joe Mason <joenotcharles@google.com>
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Reviewed-by: Adam Rice <ricea@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1397664}
Files:
- M
chrome/browser/ash/bruschetta/bruschetta_network_context.cc
- M
chrome/browser/ash/bruschetta/bruschetta_network_context.h
- M
content/browser/network_service_client.cc
- M
content/browser/network_service_client.h
- M
content/browser/shared_storage/shared_storage_header_observer.cc
- M
content/browser/shared_storage/shared_storage_header_observer.h
- M
content/browser/shared_storage/shared_storage_header_observer_unittest.cc
- M
content/browser/storage_partition_impl.cc
- M
content/browser/storage_partition_impl.h
- M
content/public/test/shared_storage_test_utils.cc
- M
content/public/test/shared_storage_test_utils.h
- M
content/public/test/test_shared_storage_header_observer.cc
- M
content/public/test/test_shared_storage_header_observer.h
- M
remoting/base/url_loader_network_service_observer.cc
- M
remoting/base/url_loader_network_service_observer.h
- M
services/network/public/mojom/url_loader_network_service_observer.mojom
- M
services/network/shared_storage/shared_storage_header_utils.cc
- M
services/network/shared_storage/shared_storage_header_utils.h
- M
services/network/shared_storage/shared_storage_request_helper.cc
- M
services/network/shared_storage/shared_storage_request_helper_unittest.cc
- M
services/network/shared_storage/shared_storage_test_url_loader_network_observer.cc
- M
services/network/shared_storage/shared_storage_test_url_loader_network_observer.h
- M
services/network/test/test_url_loader_network_observer.cc
- M
services/network/test/test_url_loader_network_observer.h
- M
services/network/url_loader_unittest.cc
- A
third_party/blink/web_tests/external/wpt/shared-storage/web-locks-header-batch-update.tentative.https.sub.html
Hash: 08d1543f81faf2e365d90cb6b98f13694b2704c2
Date: Tue Dec 17 16:56:36 2024
ap...@google.com <ap...@google.com> #21
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Implement sharedStorage.batchUpdate() for PA worklet
Expand for full commit details
[shared storage] Implement sharedStorage.batchUpdate() for PA worklet
Add sharedStorage.batchUpdate() function. Parse arguments into
the 'methods' sequence and a 'with_lock' optional flag, and
propagate the result to the browser process to invoke the
`SharedStorageLockManager::SharedStorageBatchUpdate()` API.
This allows developers to perform multiple Shared Storage operations atomically within a single lock, as part of the Web
Lock integration proposal:
- https://github.com/WICG/shared-storage/pull/199
- https://github.com/WICG/shared-storage/pull/205
Fuchsia-Binary-Size: Size increase is unavoidable.
Bug: 373899210
Change-Id: Ic6e9f794d78523ec9f6b87f37fb5e91f17635c58
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6072850
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Reviewed-by: Giovanni Ortuno Urquidi <ortuno@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1401673}
Files:
- M
content/browser/interest_group/auction_shared_storage_host.cc
- M
content/browser/interest_group/auction_shared_storage_host.h
- M
content/services/auction_worklet/bidder_worklet_unittest.cc
- M
content/services/auction_worklet/public/mojom/auction_shared_storage_host.mojom
- M
content/services/auction_worklet/shared_storage_bindings.cc
- M
content/services/auction_worklet/shared_storage_bindings.h
- M
content/services/auction_worklet/worklet_test_util.cc
- M
content/services/auction_worklet/worklet_test_util.h
- A
third_party/blink/web_tests/external/wpt/shared-storage/web-locks-pa-worklet-batch-update.tentative.https.window.js
Hash: f0cab8e2346b2a62aa3be1d5a41ec7737bf335af
Date: Thu Jan 02 18:31:45 2025
ap...@google.com <ap...@google.com> #22
Project: chromium/src
Branch: main
Author: Tim Sergeant <
Link:
Revert "[shared storage] Implement sharedStorage.batchUpdate() for PA worklet"
Expand for full commit details
Revert "[shared storage] Implement sharedStorage.batchUpdate() for PA worklet"
This reverts commit f0cab8e2346b2a62aa3be1d5a41ec7737bf335af.
Reason for revert: New tests are failing on linux-chromeos-dbg:
https://ci.chromium.org/ui/p/chromium/builders/ci/linux-chromeos-dbg/38480/test-results
Original change's description:
> [shared storage] Implement sharedStorage.batchUpdate() for PA worklet
>
> Add sharedStorage.batchUpdate() function. Parse arguments into
> the 'methods' sequence and a 'with_lock' optional flag, and
> propagate the result to the browser process to invoke the
> `SharedStorageLockManager::SharedStorageBatchUpdate()` API.
>
> This allows developers to perform multiple Shared Storage operations atomically within a single lock, as part of the Web
> Lock integration proposal:
> - https://github.com/WICG/shared-storage/pull/199
> - https://github.com/WICG/shared-storage/pull/205
>
> Fuchsia-Binary-Size: Size increase is unavoidable.
> Bug: 373899210
> Change-Id: Ic6e9f794d78523ec9f6b87f37fb5e91f17635c58
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6072850
> Commit-Queue: Yao Xiao <yaoxia@chromium.org>
> Reviewed-by: Maks Orlovich <morlovich@chromium.org>
> Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
> Reviewed-by: Giovanni Ortuno Urquidi <ortuno@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1401673}
Bug: 373899210
Change-Id: I46c27d924dae0684a07ec081095d8dbde970b6ca
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6123546
Owners-Override: Tim Sergeant <tsergeant@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Tim Sergeant <tsergeant@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1401696}
Files:
- M
content/browser/interest_group/auction_shared_storage_host.cc
- M
content/browser/interest_group/auction_shared_storage_host.h
- M
content/services/auction_worklet/bidder_worklet_unittest.cc
- M
content/services/auction_worklet/public/mojom/auction_shared_storage_host.mojom
- M
content/services/auction_worklet/shared_storage_bindings.cc
- M
content/services/auction_worklet/shared_storage_bindings.h
- M
content/services/auction_worklet/worklet_test_util.cc
- M
content/services/auction_worklet/worklet_test_util.h
- D
third_party/blink/web_tests/external/wpt/shared-storage/web-locks-pa-worklet-batch-update.tentative.https.window.js
Hash: aaa86271661f32422b6e044f862a90d8150dd10b
Date: Thu Jan 02 21:34:03 2025
ap...@google.com <ap...@google.com> #23
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
Reland "[shared storage] Implement sharedStorage.batchUpdate() for PA worklet"
Expand for full commit details
Reland "[shared storage] Implement sharedStorage.batchUpdate() for PA worklet"
This is a reland of commit f0cab8e2346b2a62aa3be1d5a41ec7737bf335af
The original CL incorrectly attempted to access
args[0].As<v8::Object>() even when the initial IDL validation
(args_converter.is_success() && !args[0]->IsObject()) failed. This
could lead to unpredictable behavior as args[0] might not be a valid
object. This reland fixes this by ensuring that
args[0].As<v8::Object>() is only accessed when
args_converter.is_success() is true.
Code changes: see the diff between Patchset 1 and Patchset 2
Original change's description:
> [shared storage] Implement sharedStorage.batchUpdate() for PA worklet
>
> Add sharedStorage.batchUpdate() function. Parse arguments into
> the 'methods' sequence and a 'with_lock' optional flag, and
> propagate the result to the browser process to invoke the
> `SharedStorageLockManager::SharedStorageBatchUpdate()` API.
>
> This allows developers to perform multiple Shared Storage operations atomically within a single lock, as part of the Web
> Lock integration proposal:
> - https://github.com/WICG/shared-storage/pull/199
> - https://github.com/WICG/shared-storage/pull/205
>
> Fuchsia-Binary-Size: Size increase is unavoidable.
> Bug: 373899210
> Change-Id: Ic6e9f794d78523ec9f6b87f37fb5e91f17635c58
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6072850
> Commit-Queue: Yao Xiao <yaoxia@chromium.org>
> Reviewed-by: Maks Orlovich <morlovich@chromium.org>
> Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
> Reviewed-by: Giovanni Ortuno Urquidi <ortuno@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1401673}
Bug: 373899210
Change-Id: I1782e6af1de95cc643053aa80c2a15f601da56a5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6132126
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Giovanni Ortuno Urquidi <ortuno@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1403952}
Files:
- M
content/browser/interest_group/auction_shared_storage_host.cc
- M
content/browser/interest_group/auction_shared_storage_host.h
- M
content/services/auction_worklet/bidder_worklet_unittest.cc
- M
content/services/auction_worklet/public/mojom/auction_shared_storage_host.mojom
- M
content/services/auction_worklet/shared_storage_bindings.cc
- M
content/services/auction_worklet/shared_storage_bindings.h
- M
content/services/auction_worklet/worklet_test_util.cc
- M
content/services/auction_worklet/worklet_test_util.h
- A
third_party/blink/web_tests/external/wpt/shared-storage/web-locks-pa-worklet-batch-update.tentative.https.window.js
Hash: e5efdc1ab595630f66933b8cd61d3c01bc7e5639
Date: Wed Jan 08 17:55:56 2025
ap...@google.com <ap...@google.com> #24
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Bugfix: validate that 'withLock' cannot be reserved name
Expand for full commit details
[shared storage] Bugfix: validate that 'withLock' cannot be reserved name
The initial implementation failed to check for reserved name (i.e.,in
https://w3c.github.io/web-locks/#resource-name: "Resource names
starting with U+002D HYPHEN-MINUS (-) are reserved; requesting these
will cause an exception."). Thus, we check the name at mojom
requester site, as well as during serialization.
Fuchsia-Binary-Size: Size increase is unavoidable.
Bug: 373899210,385341236
Change-Id: I208d03d74a9ce89ef74eb39784d9e6bef0d5ecff
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6109617
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Giovanni Ortuno Urquidi <ortuno@chromium.org>
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1404554}
Files:
- M
content/browser/interest_group/auction_shared_storage_host.cc
- M
content/services/auction_worklet/bidder_worklet_unittest.cc
- M
content/services/auction_worklet/public/mojom/auction_shared_storage_host.mojom
- M
content/services/auction_worklet/shared_storage_bindings.cc
- M
services/network/public/cpp/shared_storage_mojom_traits.cc
- M
services/network/public/cpp/shared_storage_mojom_traits.h
- M
services/network/public/cpp/shared_storage_mojom_traits_unittest.cc
- M
services/network/public/cpp/shared_storage_utils.cc
- M
services/network/public/cpp/shared_storage_utils.h
- M
services/network/public/mojom/BUILD.gn
- M
services/network/public/mojom/shared_storage.mojom
- M
services/network/public/mojom/url_loader_network_service_observer.mojom
- M
services/network/shared_storage/shared_storage_request_helper.cc
- M
services/network/shared_storage/shared_storage_request_helper_unittest.cc
- M
third_party/blink/public/mojom/shared_storage/shared_storage.mojom
- M
third_party/blink/public/mojom/shared_storage/shared_storage_worklet_service.mojom
- M
third_party/blink/renderer/modules/shared_storage/shared_storage.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_append_method.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_blink_mojom_traits.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_blink_mojom_traits.h
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_clear_method.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_delete_method.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_set_method.cc
- M
third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_unittest.cc
- M
third_party/blink/renderer/modules/shared_storage/util.cc
- M
third_party/blink/renderer/modules/shared_storage/util.h
Hash: 9bba7ea8993c14b14f80accb55eb57adad648125
Date: Thu Jan 09 18:29:09 2025
ap...@google.com <ap...@google.com> #25
Project: chromium/src
Branch: main
Author: Josh Karlin <
Link:
[Shared Storage] Enable web locks for Shared Storage by default
Expand for full commit details
[Shared Storage] Enable web locks for Shared Storage by default
Chrome Status Entry: https://chromestatus.com/feature/5133950203461632
Bug: 373899210
Change-Id: I8fb0e5548eb6f0d3128b4debf1d3e8f1e5420721
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6179702
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Josh Karlin <jkarlin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1413102}
Files:
- M
content/browser/shared_storage/shared_storage_header_observer_unittest.cc
- M
third_party/blink/renderer/platform/runtime_enabled_features.json5
- M
third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
- M
third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
Hash: bd5130d2b83ccda1f836c60f544466c47df12ff1
Date: Wed Jan 29 12:35:36 2025
ap...@google.com <ap...@google.com> #26
Project: chromium/src
Branch: main
Author: Yao Xiao <
Link:
[shared storage] Add lock usage UMAs
Expand for full commit details
[shared storage] Add lock usage UMAs
Why: this helps to understand web locks adoptions.
What:
- When a worklet is destroyed, record whether navigator.locks was
requested.
- When an update method is triggered (for individual method and for
batchUpdate() separately), record whether the 'withLock' option is
specified.
Bug: 373899210
Change-Id: I3ce97533345393c833b2861794bc52aad83573f9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6277481
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Ayu Ishii <ayui@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1421614}
Files:
- M
content/browser/shared_storage/shared_storage_browsertest.cc
- M
content/browser/shared_storage/shared_storage_lock_manager.cc
- M
content/browser/shared_storage/shared_storage_worklet_host.cc
- M
content/browser/shared_storage/shared_storage_worklet_host.h
- M
tools/metrics/histograms/metadata/storage/histograms.xml
Hash: 2c6865059254e0e722cc83315241cf69b0c44dc7
Date: Tue Feb 18 13:18:11 2025
Description