Open
Bug 964908
Opened 11 years ago
Updated 4 years ago
implement DNT exceptions as per the W3C TPE spec
Categories
(Core :: DOM: Core & HTML, enhancement, P5)
Core
DOM: Core & HTML
Tracking
()
NEW
People
(Reporter: geekboy, Unassigned)
References
()
Details
(Keywords: dev-doc-needed)
Attachments
(1 file)
6.74 KB,
patch
|
Details | Diff | Splinter Review |
The TPE draft is pretty stable, so it's an appropriate time to start implementing the TPE exceptions mechanism if we want it.
I don't think we can use the permission manager for this, and this could cause some perf issues since we'll hit it once per top-level channel creation so we'll have to watch carefully.
There are two types of exceptions:
* Web-Wide exceptions.
* Site-Specific exceptions
WWEs are simple: when DNT is enabled and set to "no tracking", a specific third party is given DNT:0 instead of DNT:1 regardless of context (if it is a first or third party).
SSEs are more complicated. The basic idea is that a first party should be able to "enable" tracking for some or all third parties on their page. For example, exnews.com could ask to enable all trackers ("*") while you visit their site. Or it could record exceptions for just a few.
The basic design is that we must remember which third parties are allowed in which first party contexts and send DNT:0 instead of DNT:1 when DNT:1 is active as the global setting. The TPE draft suggests recording tuples for exceptions and based on the type of exception (SSE or WWE), different tuples get recorded.
Examples:
1. SSE for t.com and r.com when on a.com: [a.com, t.com] and [a.com, r.com]
2. WWE for t.com: [*, t.com]
3. SSE for all when on a.com: [a.com, *]
There's more details in the TPE draft: http://www.w3.org/2011/tracking-protection/drafts/tracking-dnt.html#exceptions
TBD is how we really want the back-end to look and whether there's already a storage mechanism we can use or if we have to implement yet another one in gecko.
Reporter | ||
Comment 1•11 years ago
|
||
mmc, keeler, do you know if there are existing storage services in gecko that can handle this type of thing? nsIPermissionManager is not built for double-keyed stuff...
Flags: needinfo?(mmc)
Flags: needinfo?(dkeeler)
Comment 2•11 years ago
|
||
(In reply to Sid Stamm [:geekboy or :sstamm] from comment #1)
> mmc, keeler, do you know if there are existing storage services in gecko
> that can handle this type of thing? nsIPermissionManager is not built for
> double-keyed stuff...
Hey Sid,
As far as I know there are not.
Monica
Flags: needinfo?(mmc)
Comment 3•11 years ago
|
||
(In reply to comment #2)
> (In reply to Sid Stamm [:geekboy or :sstamm] from comment #1)
> > mmc, keeler, do you know if there are existing storage services in gecko
> > that can handle this type of thing? nsIPermissionManager is not built for
> > double-keyed stuff...
>
> Hey Sid,
>
> As far as I know there are not.
I think that's correct.
Comment 4•11 years ago
|
||
I wonder if the DataStorage patch in bug 775370 would be helpful? It's a bit generic, so you would have to do your own boxing/unboxing of keys/values.
Flags: needinfo?(dkeeler)
Reporter | ||
Comment 5•11 years ago
|
||
Stubbed out all the webidl interfaces and types for the exceptions API. Still not sure what to do about the backend.
Reporter | ||
Updated•10 years ago
|
Assignee: sstamm → nobody
Updated•8 years ago
|
Keywords: dev-doc-needed
Comment 6•4 years ago
|
||
Bulk-downgrade of unassigned, 4 years untouched DOM/Storage bugs' priority.
If you have reason to believe this is wrong (especially for the severity), please write a comment and ni :jstutte.
Severity: normal → S4
Priority: -- → P5
You need to log in
before you can comment on or make changes to this bug.
Description
•