[wpt-sync] Sync PR 19436 - Connect document.requestStorageAccess() to NetworkService
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox75 fixed)
| Tracking | Status | |
|---|---|---|
| firefox75 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 19436 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/19436
Details from upstream follow.
Brandon Maslen <brandm@microsoft.com> wrote:
Connect document.requestStorageAccess() to NetworkService
This change plumbs successful Document::RequestStorageAccess calls from
blink to the RenderFrameHost and subsequently into the BrowserContentClient
and CookieManager. This call also ensures that each StoragePartition in the
NetworkService is called to update the set of storage access grants they
have. The original callback in the Document is gated upon the successful
update of all StoragePartions; this is to ensure no race exists between the
renderer process receiving notice of access being granted and the grant(s)
actually being delivered to all of the StoragePartitions.Future changes will amend the added methods to ensure that new grants are
conditionally added to the appropriate CONTENT_SETTINGS_* to persist and
that those settings are delivered to the NetworkService CookieManager
properly. This change focuses on the proper plumbing and conditional
callback when access is requested from a renderer's Document.New mojo methods have been added to the CookieManager and FrameHost
interfaces to facilitate updating storage grants and request storage access
respectively. As the renderer process may not be trustworthy the FrameHost
method is guarded by a a feature control check to ensure the feature is
actually enabled before allowing the call to proceed.Browser and unit tests have been added to validate newly added surface area
and a WPT test case has been added to validate the end to end scenario. In
order to facilitate the non-blink feature flag configuration required to run
the new test case a virtual test suitevirtual/storage-access-apihas
been added to pass the --enable-features=StorageAccessAPI flag to the test
binaries.Bug: 989663
Change-Id: Icaf964097f765ae94d4973633a05beb9bdc8c962Reviewed-on: https://chromium-review.googlesource.com/1833481
WPT-Export-Revision: 24ca9535570975819ec3fd2cf46e2c34674fbea9
| Assignee | ||
Comment 1•6 years ago
|
||
| Assignee | ||
Comment 2•6 years ago
|
||
| Assignee | ||
Comment 3•6 years ago
|
||
| Assignee | ||
Comment 4•6 years ago
|
||
| Assignee | ||
Comment 5•6 years ago
|
||
| Assignee | ||
Comment 6•6 years ago
|
||
| Assignee | ||
Comment 7•6 years ago
|
||
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 8•5 years ago
|
||
| Assignee | ||
Comment 9•5 years ago
|
||
CI Results
Ran 13 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 46 tests
Status Summary
Firefox
PASS : 4[GitHub] 44[Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview] 48[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]
FAIL : 2[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, GitHub] 6[Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview]
TIMEOUT: 2
Chrome
FAIL : 3
TIMEOUT: 1
ERROR : 1
Safari
PASS : 4
FAIL : 2
TIMEOUT: 2
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
/storage-access-api/requestStorageAccess.sub.window.html: TIMEOUT (Chrome: ERROR, Safari: TIMEOUT)
[top-level-context] document.requestStorageAccess() should be resolved when called properly with a user gesture: FAIL (Safari: FAIL)
[top-level-context] document.requestStorageAccess() should be supported on the document interface: FAIL [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview], PASS [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, GitHub] (Safari: PASS)
[top-level-context] document.requestStorageAccess() should be rejected by default with no user gesture: FAIL [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview], PASS [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, GitHub] (Safari: FAIL)
/storage-access-api/hasStorageAccess.sub.window.html: TIMEOUT (Chrome: TIMEOUT, Safari: TIMEOUT)
[top-level-context] document.hasStorageAccess() should be allowed by default: true: FAIL [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview], PASS [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, GitHub] (Chrome: FAIL, Safari: PASS)
[top-level-context] document.hasStorageAccess() should work on a document object.: FAIL (Chrome: FAIL, Safari: PASS)
[top-level-context] document.hasStorageAccess() should be supported on the document interface: FAIL [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview], PASS [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, GitHub] (Chrome: FAIL, Safari: PASS)
Comment 10•5 years ago
|
||
Comment 11•5 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/40ee4dcb5d8c
https://hg.mozilla.org/mozilla-central/rev/8a4c7cefcffb
Description
•