New Anti-Tracking permission model
Categories
(Core :: Privacy: Anti-Tracking, task, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox76 | --- | fixed |
People
(Reporter: dimi, Assigned: timhuang)
References
Details
Attachments
(6 files)
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review |
Permission manager is now using principal as the permission key and permission type, and these information are exposed to child processes.
In fission, we are going to remove the use of permission manager in the child processes, and use hashed principals to look permissions up in WindowContext.
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 1•6 years ago
|
||
We add a flag 'HasStoragePermission' in the LoadInfo. This flag
represents whether the loading document, for docuemnt loads, or the
loading resource has the storage permission. And this flag would only
get updated in the parent process when opening the channel.
| Assignee | ||
Comment 2•6 years ago
|
||
Because we're going to check the storage permission outside the file
ContentBlocking.cpp. So we move the CheckAntiTrackingPermission() function
which was in the ContentBlocking.cpp to AntiTrackingUtils. And we rename
it to CheckStoragePermission() which is more clear.
Depends on D67466
| Assignee | ||
Comment 3•6 years ago
|
||
In order to pre-calculate the storage permissio in the parent process,
we add a CheckStoragePermissionInParent() function to check the
permission in the parent process.
Depends on D67467
| Assignee | ||
Comment 4•6 years ago
|
||
We do the pre-calculation of the storage permission in the parent
process when opening the channel.
Depends on D67468
| Assignee | ||
Comment 5•6 years ago
|
||
Depends on D67469
| Assignee | ||
Comment 6•6 years ago
|
||
We propagate the HasStoragePermission flag from the loadInfo to the
WindowContext in the patch. We add a flag HasStoragePermission in the
document and this flag will get updated when the
Document::StartDocumentLoad() happens. And then, we would sync this to
the WindowContext in the final stage of the
nsGlobalWindowOuter::SetNewDocument() where the WindowContext is ready.
Depends on D67470
| Assignee | ||
Comment 7•6 years ago
|
||
We made a modification to our new permission model. We no longer rely on the hashed principal approach. Instead, we will pre-calculate the storage permission check result in the parent process when opening the channel. We propagate the result as a flag with the LoadInfo to the content process. Once the content process gets the flag, it will sync this flag to the WindowContext.
This bug would only handle the pre-calculation and the propagation of the permission check result. The flag updating would be addressed in Bug 1624268.
Comment 9•6 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/739cb622736c
https://hg.mozilla.org/mozilla-central/rev/bba7aab05b72
https://hg.mozilla.org/mozilla-central/rev/124c24753bca
https://hg.mozilla.org/mozilla-central/rev/f6180c9bfdf4
https://hg.mozilla.org/mozilla-central/rev/d82ee126aceb
https://hg.mozilla.org/mozilla-central/rev/05e0f36e1ef9
Description
•