Skip to content

merge_pr_49976

Compare
Choose a tag to compare
@github-actions github-actions released this 09 Jan 02:46

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}