Closed Bug 1585279 Opened 5 years ago Closed 4 years ago

[wpt-sync] Sync PR 19436 - Connect document.requestStorageAccess() to NetworkService

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox75 fixed)

RESOLVED FIXED
mozilla75
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 suite virtual/storage-access-api has
been added to pass the --enable-features=StorageAccessAPI flag to the test
binaries.

Bug: 989663
Change-Id: Icaf964097f765ae94d4973633a05beb9bdc8c962

Reviewed-on: https://chromium-review.googlesource.com/1833481
WPT-Export-Revision: 24ca9535570975819ec3fd2cf46e2c34674fbea9

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → INVALID
Status: RESOLVED → REOPENED
Resolution: INVALID → ---

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)

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/40ee4dcb5d8c
[wpt PR 19436] - Connect document.requestStorageAccess() to NetworkService, a=testonly
https://hg.mozilla.org/integration/autoland/rev/8a4c7cefcffb
[wpt PR 19436] - Update wpt metadata, a=testonly
Status: REOPENED → RESOLVED
Closed: 4 years ago4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla75
You need to log in before you can comment on or make changes to this bug.