Experiment with StoragePrincipal
Categories
(Core :: Privacy: Anti-Tracking, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox68 | --- | fixed |
People
(Reporter: baku, Assigned: baku)
References
Details
Attachments
(10 files, 1 obsolete file)
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 | |
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 |
This experiment wants to introduce a new principal to give access to the site's cookie jar: the StoragePrincipal. For non-tracking resources, the storagePrincipal will be equal to the NodePrincipal, but for 3rd party trackers, it will have the first-party attribute set to the top-level domain.
The StoragePrincipal will be reset to the NodePrincipal's one when the Storage Access permission is granted.
Assignee | ||
Comment 1•5 years ago
|
||
Assignee | ||
Comment 2•5 years ago
|
||
Depends on D24024
Assignee | ||
Comment 3•5 years ago
|
||
Depends on D24025
Assignee | ||
Comment 4•5 years ago
|
||
Depends on D24026
Assignee | ||
Comment 5•5 years ago
|
||
Depends on D24027
Assignee | ||
Comment 6•5 years ago
|
||
Depends on D24028
Assignee | ||
Comment 7•5 years ago
|
||
Depends on D24029
Assignee | ||
Comment 8•5 years ago
|
||
Depends on D24863
Comment 9•5 years ago
|
||
It's very exciting to see this come to fruition and I'm very happy with the strategy arrived at!
Is it possible to try and get some type of explainer document or large comment-block into the tree that builds upon the context provided by your description in https://groups.google.com/d/msg/mozilla.dev.platform/qO6MserGVmk/sT83XseXCgAJ and the greater context of your thread's explanation of the Storage Access API and the StoragePrincipal?
Ideally we could then reference/point-to this via a comment that precedes the addition of mStoragePrincipal
instances. Specifically, I'm thinking I could help provide an enhancement to searchfox so that when someone is looking at one of the definition lines of mStoragePrincipal/mStoragePrincipalInfo, they'd see a comment line above it like "see dom/doc/StoragePrincipal.md" or "see dom/doc/StorageAccessAPI.md#StoragePrincipal" or something. And they could click on it and they'd then have your great explainer to look at.
The exact mechanics of the storage principal linkage aren't really a concern at this time, I mainly want:
- Your most excellent explanations available to people in-tree.
- That people know that the most excellent explanations exist.
And then I and others can iterate on making point 2 more accessible. There's some currently-shelved in-progress work to help provide more direct access to/awareness of block comments in searchfox in the popups that I'm hoping to get back to soon.
It's fine if the first part is a comment in source-code too, but as the searchfox query at https://searchfox.org/mozilla-central/search?q=&case=false®exp=false&path=.md%24 demonstrates, it's becoming more and more common to put markdown based documentation into the tree and I think it's probably easier to edit a markdown file and provide things like code snippets, etc. that way.
Thanks!
Comment 10•5 years ago
|
||
Andrea, I did my best to review all parts, but unfortunately I didn't get to parts 6 and 7, sorry about that. Those two would need to wait till Monday...
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 11•5 years ago
|
||
Depends on D24864
Assignee | ||
Comment 12•5 years ago
|
||
Assignee | ||
Comment 13•5 years ago
|
||
Comment 14•5 years ago
|
||
Pushed by amarchesini@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/87601ef1d4d4 StoragePrincipal - part 0 - WorkerPrivate::StorageAccess, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/45708d22bb6d StoragePrincipal - part 1 - Implementation, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/2eb20578159b StoragePrincipal - part 2 - Worker and StoragePrincipal, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/552c4b588524 StoragePrincipal - part 3 - IDBFactory, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/ccbe1af00fb9 StoragePrincipal - part 4 - BroadcastChannel, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/1107a9767f38 StoragePrincipal - part 5 - Tests, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/f67d157e8baf StoragePrincipal - part 6 - Cookies, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/c68dc3152faa StoragePrincipal - part 7 - test for DOMCache and ServiceWorkers, r=Ehsan,asuth https://hg.mozilla.org/integration/autoland/rev/f94dfbf2476c StoragePrincipal - part 8 - SharedWorkers, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/eda5854cd7e8 StoragePrincipal - part 9 - documentation, r=ckerschb,asuth
Comment 15•5 years ago
|
||
Backout by csabou@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a047b64590a4 Backed out 10 changesets for causing leaks in CondVar, MessagePortService, MessagePortServiceData.
Comment 16•5 years ago
|
||
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=239730624&repo=autoland&lineNumber=27285
Backout link: https://hg.mozilla.org/integration/autoland/rev/a047b64590a4926c919b299f883cec2e00d1dedd
18:09:35 INFO - TEST-INFO | leakcheck | default leaked 1 nsThread
18:09:35 INFO - TEST-UNEXPECTED-FAIL | leakcheck | default 1240 bytes leaked (CondVar, MessagePortService, MessagePortServiceData, Mutex, SharedJSAllocatedData, ...)
18:09:35 INFO -
18:09:35 INFO - leakcheck | Processing leak log file /var/folders/dn/fsrggjbj1dj9vh735pdj820w00000x/T/tmp5Rmzjr.mozrunner/runtests_leaks_plugin_pid1105.log
18:09:35 INFO -
18:09:35 INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, plugin process 1105
18:09:35 INFO -
18:09:35 INFO - |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
18:09:35 INFO - | | Per-Inst Leaked| Total Rem|
18:09:35 INFO - 0 |TOTAL | 80 0| 2437 0|
18:09:35 INFO -
18:09:35 INFO - nsTraceRefcnt::DumpStatistics: 43 entries
18:09:35 INFO - TEST-PASS | leakcheck | plugin no leaks detected!
18:09:35 INFO - leakcheck | Processing leak log file /var/folders/dn/fsrggjbj1dj9vh735pdj820w00000x/T/tmp5Rmzjr.mozrunner/runtests_leaks_tab_pid1097.log
18:09:35 INFO -
18:09:35 INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 1097
18:09:35 INFO -
18:09:35 INFO - |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
18:09:35 INFO - | | Per-Inst Leaked| Total Rem|
18:09:35 INFO - 0 |TOTAL | 39 0| 814328 0|
18:09:35 INFO -
18:09:35 INFO - nsTraceRefcnt::DumpStatistics: 971 entries
18:09:35 INFO - TEST-PASS | leakcheck | tab no leaks detected!
18:09:35 INFO - leakcheck | Processing leak log file /var/folders/dn/fsrggjbj1dj9vh735pdj820w00000x/T/tmp5Rmzjr.mozrunner/runtests_leaks_tab_pid1098.log
18:09:35 INFO -
18:09:35 INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 1098
18:09:35 INFO -
18:09:35 INFO - |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
18:09:35 INFO - | | Per-Inst Leaked| Total Rem|
18:09:35 INFO - 0 |TOTAL | 40 0| 9633264 0|
18:09:35 INFO -
18:09:35 INFO - nsTraceRefcnt::DumpStatistics: 1364 entries
18:09:35 INFO - TEST-PASS | leakcheck | tab no leaks detected!
18:09:35 INFO - leakcheck | Processing leak log file /var/folders/dn/fsrggjbj1dj9vh735pdj820w00000x/T/tmp5Rmzjr.mozrunner/runtests_leaks_tab_pid1099.log
18:09:35 INFO -
18:09:35 INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 1099
18:09:35 INFO -
18:09:35 INFO - |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
18:09:35 INFO - | | Per-Inst Leaked| Total Rem|
18:09:35 INFO - 0 |TOTAL | 39 0| 8136745 0|
18:09:35 INFO -
18:09:35 INFO - nsTraceRefcnt::DumpStatistics: 1307 entries
18:09:35 INFO - TEST-PASS | leakcheck | tab no leaks detected!
18:09:35 INFO - leakcheck | Processing leak log file /var/folders/dn/fsrggjbj1dj9vh735pdj820w00000x/T/tmp5Rmzjr.mozrunner/runtests_leaks_tab_pid1100.log
18:09:35 INFO -
18:09:35 INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 1100
18:09:35 INFO -
18:09:35 INFO - |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
18:09:35 INFO - | | Per-Inst Leaked| Total Rem|
18:09:35 INFO - 0 |TOTAL | 31 0| 1602788 0|
18:09:35 INFO -
18:09:35 INFO - nsTraceRefcnt::DumpStatistics: 1016 entries
18:09:35 INFO - TEST-PASS | leakcheck | tab no leaks detected!
18:09:35 INFO - leakcheck | Processing leak log file /var/folders/dn/fsrggjbj1dj9vh735pdj820w00000x/T/tmp5Rmzjr.mozrunner/runtests_leaks_tab_pid1101.log
18:09:35 INFO -
18:09:35 INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 1101
18:09:35 INFO -
18:09:35 INFO - |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
18:09:35 INFO - | | Per-Inst Leaked| Total Rem|
18:09:35 INFO - 0 |TOTAL | 39 0| 1104619 0|
18:09:35 INFO -
18:09:35 INFO - nsTraceRefcnt::DumpStatistics: 1020 entries
18:09:35 INFO - TEST-PASS | leakcheck | tab no leaks detected!
18:09:35 INFO - leakcheck | Processing leak log file /var/folders/dn/fsrggjbj1dj9vh735pdj820w00000x/T/tmp5Rmzjr.mozrunner/runtests_leaks_tab_pid1102.log
18:09:35 INFO -
18:09:35 INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 1102
18:09:35 INFO -
18:09:35 INFO - |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
18:09:35 INFO - | | Per-Inst Leaked| Total Rem|
18:09:35 INFO - 0 |TOTAL | 44 0| 12592 0|
18:09:35 INFO -
18:09:35 INFO - nsTraceRefcnt::DumpStatistics: 393 entries
18:09:35 INFO - TEST-PASS | leakcheck | tab no leaks detected!
18:09:35 INFO - leakcheck | Processing leak log file /var/folders/dn/fsrggjbj1dj9vh735pdj820w00000x/T/tmp5Rmzjr.mozrunner/runtests_leaks_tab_pid1103.log
18:09:35 INFO -
18:09:35 INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 1103
18:09:35 INFO -
18:09:35 INFO - |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
18:09:35 INFO - | | Per-Inst Leaked| Total Rem|
18:09:35 INFO - 0 |TOTAL | 44 0| 502307 0|
18:09:35 INFO -
18:09:35 INFO - nsTraceRefcnt::DumpStatistics: 1079 entries
18:09:35 INFO - TEST-PASS | leakcheck | tab no leaks detected!
18:09:35 INFO - leakcheck | Processing leak log file /var/folders/dn/fsrggjbj1dj9vh735pdj820w00000x/T/tmp5Rmzjr.mozrunner/runtests_leaks_tab_pid1104.log
18:09:35 INFO -
18:09:35 INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 1104
18:09:35 INFO -
18:09:35 INFO - |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
18:09:35 INFO - | | Per-Inst Leaked| Total Rem|
18:09:35 INFO - 0 |TOTAL | 41 0| 164548 0|
18:09:35 INFO -
18:09:35 INFO - nsTraceRefcnt::DumpStatistics: 927 entries
18:09:35 INFO - TEST-PASS | leakcheck | tab no leaks detected!
18:09:35 INFO - leakcheck | Processing leak log file /var/folders/dn/fsrggjbj1dj9vh735pdj820w00000x/T/tmp5Rmzjr.mozrunner/runtests_leaks_tab_pid1106.log
18:09:35 INFO -
18:09:35 INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 1106
18:09:35 INFO -
18:09:35 INFO - |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
18:09:35 INFO - | | Per-Inst Leaked| Total Rem|
18:09:35 INFO - 0 |TOTAL | 41 0| 173408 0|
18:09:35 INFO -
18:09:35 INFO - nsTraceRefcnt::DumpStatistics: 957 entries
18:09:35 INFO - TEST-PASS | leakcheck | tab no leaks detected!
18:09:35 INFO - leakcheck | Processing leak log file /var/folders/dn/fsrggjbj1dj9vh735pdj820w00000x/T/tmp5Rmzjr.mozrunner/runtests_leaks_tab_pid1107.log
18:09:35 INFO -
18:09:35 INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 1107
18:09:35 INFO -
18:09:35 INFO - |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
18:09:35 INFO - | | Per-Inst Leaked| Total Rem|
18:09:35 INFO - 0 |TOTAL | 41 0| 186826 0|
18:09:35 INFO -
18:09:35 INFO - nsTraceRefcnt::DumpStatistics: 956 entries
18:09:35 INFO - TEST-PASS | leakcheck | tab no leaks detected!
18:09:35 INFO - leakcheck | Processing leak log file /var/folders/dn/fsrggjbj1dj9vh735pdj820w00000x/T/tmp5Rmzjr.mozrunner/runtests_leaks_tab_pid1108.log
18:09:35 INFO -
18:09:35 INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 1108
18:09:35 INFO -
18:09:35 INFO - |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
18:09:35 INFO - | | Per-Inst Leaked| Total Rem|
18:09:35 INFO - 0 |TOTAL | 41 0| 172995 0|
18:09:35 INFO -
18:09:35 INFO - nsTraceRefcnt::DumpStatistics: 949 entries
Assignee | ||
Updated•5 years ago
|
Comment 17•5 years ago
|
||
Pushed by amarchesini@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/fdd9adb9382f StoragePrincipal - part 0 - WorkerPrivate::StorageAccess, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/4191e4de46ca StoragePrincipal - part 1 - Implementation, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/382b8c528545 StoragePrincipal - part 2 - Worker and StoragePrincipal, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/5b98a535f40d StoragePrincipal - part 3 - IDBFactory, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/8593e3e86772 StoragePrincipal - part 4 - BroadcastChannel, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/ed51986b7628 StoragePrincipal - part 5 - Tests, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/c1074e3a0d5f StoragePrincipal - part 6 - Cookies, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/9fd7d42e7f55 StoragePrincipal - part 7 - test for DOMCache and ServiceWorkers, r=Ehsan,asuth https://hg.mozilla.org/integration/autoland/rev/941f963a8fc8 StoragePrincipal - part 8 - SharedWorkers, r=Ehsan https://hg.mozilla.org/integration/autoland/rev/9603ef15dc04 StoragePrincipal - part 9 - documentation, r=ckerschb,asuth
Comment 18•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/fdd9adb9382f
https://hg.mozilla.org/mozilla-central/rev/4191e4de46ca
https://hg.mozilla.org/mozilla-central/rev/382b8c528545
https://hg.mozilla.org/mozilla-central/rev/5b98a535f40d
https://hg.mozilla.org/mozilla-central/rev/8593e3e86772
https://hg.mozilla.org/mozilla-central/rev/ed51986b7628
https://hg.mozilla.org/mozilla-central/rev/c1074e3a0d5f
https://hg.mozilla.org/mozilla-central/rev/9fd7d42e7f55
https://hg.mozilla.org/mozilla-central/rev/941f963a8fc8
https://hg.mozilla.org/mozilla-central/rev/9603ef15dc04
Updated•5 years ago
|
Description
•