[wpt-sync] Sync PR 21581 - An associated-interface-free DOM Storage
Categories
(Core :: Storage: localStorage & sessionStorage, task, P4)
Tracking
()
Tracking | Status | |
---|---|---|
firefox75 | --- | fixed |
People
(Reporter: mozilla.org, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 21581 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/21581
Details from upstream follow.
Ken Rockot <rockot@google.com> wrote:
An associated-interface-free DOM Storage
Removes the last usage of Mojo associated interfaces from DOM Storage
code. Prior to this change, associated interfaces are used to
synchronize Clone() operations on a StorageNamespace interface with
arbitrary mutations on any StorageArea bound through that
StorageNamespace.With the introduction of the Mojo async flushing API in r730829 we can
enforce such synchronization without associated interfaces. This CL does
that with a simple two-phase flush at clone time:
- Flush all related StorageArea pipes immediately prior to Clone
- Tell the StorageNamespace pipe to pause until said flushes complete
- Call StorageNamespace.Clone()
- Flush the StorageNamespace pipe immediately after Clone
- Tell all related StorageArea pipes to pause until that flush completes
This achieves the necessary ordering constraints for Session Storage
cloning without requiring strict ordering among all StorageNamespace and
StorageArea messages, consequently allowing StorageNamespace and
StorageArea to use independent pipes connected to potentially different
processes from each other. This satisfies a key requirement for
migrating Session Storage to the Storage Service.Bug: 1000959
Change-Id: Ic1ccc2d6cbfa462733c53d2052d616655b49ed53
Reviewed-on: https://chromium-review.googlesource.com/2036885
WPT-Export-Revision: 25adf343930ca242409e74cb35f79da355f6ea88
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
Assignee | ||
Comment 2•5 years ago
|
||
CI Results
Ran 13 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 44 tests
Status Summary
Firefox
OK : 1
PASS: 1[GitHub] 44[Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-asan-opt, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt]
Chrome
OK : 1
PASS: 1
Safari
OK : 1
PASS: 1
Links
Comment 4•5 years ago
|
||
bugherder |
Description
•