merge_pr_49976
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].Asv8::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].Asv8::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: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 [email protected]
Reviewed-by: Maks Orlovich [email protected]
Reviewed-by: Cammie Smith Barnes [email protected]
Reviewed-by: Giovanni Ortuno Urquidi [email protected]
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 [email protected]
Reviewed-by: Giovanni Ortuno Urquidi [email protected]
Commit-Queue: Yao Xiao [email protected]
Cr-Commit-Position: refs/heads/main@{#1403952}