Make mHasStorageAccess in nsGlobalWindowOuter Fission-Compatible
Categories
(Core :: Privacy: Anti-Tracking, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox78 | --- | fixed |
People
(Reporter: timhuang, Assigned: dimi)
References
Details
Attachments
(5 files, 1 obsolete file)
See here, the permission observer here won't work in Fission since the storage permission could be put under a cross-origin principal under the current design of the storage permission in ETP. We need to fix this too.
Comment 1•5 years ago
|
||
Tracking ETP bugs for Fission Nightly (M6) milestone
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
CookieBehavior should be the same for all the frames in the same tab,
we don't have to get its value for every browsing context in the same
browsing context tree.
Assignee | ||
Comment 3•5 years ago
|
||
CookieBehavior should be the same for all the frames in the same tab,
we don't have to get its value for every browsing context in the same
browsing context tree.
Assignee | ||
Comment 4•5 years ago
|
||
Before this patch, in non-fission mode, we cache storage access granted result
in the top-level window so we don't have to iterate all the browsing contexts
in the same tree while syncing the storage permission granted decision.
However, since we plan to rely on the current update mechanism to sync
mHasStorageAccess flag for different documents in the same tab (instead of using
the syncing mechanism of permission manager), we will eventually need to iterate
the browsing context tree to find all the documents to sync. Base on this,
we no longer have to maintain different method for fission and non-fission.
In this patch, we store the permission granted result in the inner
window instead of using permission key and store the key in the top-level
window.
Depends on D73709
Assignee | ||
Comment 5•5 years ago
|
||
We already have an architecture to sync the storage access granted
result to all 3rd-party frames with the same tracking origin.
We use the same way to sync HasStorageAccess flag instead of relying
on permission manager update permissions to child processes.
Depends on D73710
Updated•5 years ago
|
Assignee | ||
Comment 6•5 years ago
|
||
Before this patch, we only call StorageAccessGranted on windows that
triggers the storage heuristics. So even if we sync storage permission to the
other frames, their data will not be refreshed. For example, if a document
has a worker, we don't propagate the permission to the worker.
In this patch, we call ::StorageAccessGranted as long as we update
the window's storage permission.
Depends on D73710
Updated•5 years ago
|
Assignee | ||
Comment 7•5 years ago
|
||
Depends on D73711
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Comment 9•4 years ago
|
||
Backed out for browser-chrome failures on browser_storageAccessWithHeuristics.js
backout: https://hg.mozilla.org/integration/autoland/rev/98d6f183d5241ebd0e32dc767c33e83f602faa0f
failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=302718551&repo=autoland&lineNumber=1841
[task 2020-05-18T10:28:46.341Z] 10:28:46 INFO - Let's do another window.open()
[task 2020-05-18T10:28:46.342Z] 10:28:46 INFO - Console message: [JavaScript Warning: "Storage access automatically granted for origin “https://tracking.example.org” on “https://tracking.example.org”."]
[task 2020-05-18T10:28:46.343Z] 10:28:46 INFO - Console message: [JavaScript Error: "The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol." {file: "https://tracking.example.org/browser/toolkit/components/antitracking/test/browser/3rdPartyOpen.html" line: 0}]
[task 2020-05-18T10:28:46.343Z] 10:28:46 INFO - Buffered messages finished
[task 2020-05-18T10:28:46.344Z] 10:28:46 INFO - TEST-UNEXPECTED-FAIL | toolkit/components/antitracking/test/browser/browser_storageAccessWithHeuristics.js | Has storage access - false == true - got false, expected true (operator ==)
[task 2020-05-18T10:28:46.345Z] 10:28:46 INFO - Stack trace:
[task 2020-05-18T10:28:46.345Z] 10:28:46 INFO - ok@resource://specialpowers/SpecialPowersSandbox.jsm:87:21
[task 2020-05-18T10:28:46.346Z] 10:28:46 INFO - msg@chrome://mochitests/content/browser/toolkit/components/antitracking/test/browser/browser_storageAccessWithHeuristics.js:151:15
[task 2020-05-18T10:28:46.346Z] 10:28:46 INFO - EventListener.handleEvent*@chrome://mochitests/content/browser/toolkit/components/antitracking/test/browser/browser_storageAccessWithHeuristics.js:143:17
[task 2020-05-18T10:28:46.347Z] 10:28:46 INFO - @chrome://mochitests/content/browser/toolkit/components/antitracking/test/browser/browser_storageAccessWithHeuristics.js:136:13
[task 2020-05-18T10:28:46.347Z] 10:28:46 INFO - execute@resource://specialpowers/SpecialPowersSandbox.jsm:141:12
[task 2020-05-18T10:28:46.347Z] 10:28:46 INFO - _spawnTask@resource://specialpowers/SpecialPowersChild.jsm:1734:15
[task 2020-05-18T10:28:46.347Z] 10:28:46 INFO - receiveMessage@resource://specialpowers/SpecialPowersChild.jsm:281:21
[task 2020-05-18T10:28:46.348Z] 10:28:46 INFO - JSActor queryreceiveMessage@resource://specialpowers/SpecialPowersParent.jsm:1119:12
[task 2020-05-18T10:28:46.348Z] 10:28:46 INFO - JSActor queryspawn@resource://specialpowers/SpecialPowersChild.jsm:1689:17
[task 2020-05-18T10:28:46.349Z] 10:28:46 INFO - testDoublyNestedWindowOpenHeuristic@chrome://mochitests/content/browser/toolkit/components/antitracking/test/browser/browser_storageAccessWithHeuristics.js:115:23
[task 2020-05-18T10:28:46.349Z] 10:28:46 INFO - AsyncTester_execTest/<@chrome://mochikit/content/browser-test.js:1064:34
[task 2020-05-18T10:28:46.349Z] 10:28:46 INFO - asyncTester_execTest@chrome://mochikit/content/browser-test.js:1104:11
[task 2020-05-18T10:28:46.349Z] 10:28:46 INFO - nextTest/<@chrome://mochikit/content/browser-test.js:927:14
[task 2020-05-18T10:28:46.350Z] 10:28:46 INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:918:23
Comment 10•4 years ago
|
||
Comment 11•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/f9edbff92af5
https://hg.mozilla.org/mozilla-central/rev/6cf0a879475e
https://hg.mozilla.org/mozilla-central/rev/302d7f2d05a7
https://hg.mozilla.org/mozilla-central/rev/b4d9fdb09028
https://hg.mozilla.org/mozilla-central/rev/94cc5975ab11
Assignee | ||
Updated•4 years ago
|
Description
•