Remove unsupported, misleading "dom.indexedDB.enabled" preference
Categories
(Core :: Storage: IndexedDB, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox72 | --- | fixed |
People
(Reporter: asuth, Assigned: asuth)
References
Details
(Whiteboard: DWS_NEXT )
Attachments
(1 file)
Updated•7 years ago
|
Assignee | ||
Comment 3•7 years ago
|
||
Assignee | ||
Comment 5•7 years ago
|
||
Assignee | ||
Comment 7•7 years ago
|
||
Assignee | ||
Comment 9•7 years ago
|
||
Comment 10•7 years ago
|
||
Just practically speaking, researchers are excellent at finding novel timing attacks
Well, there are always trade offs with convenience. People do such trade offs by using Firefox over TorBrowser, or TorBrowser on OS with persistent storage over LiveCD etc.
Also even if files are not deduplicated on disk it may be deduplicated in RAM, or at least have additional RAM cache size limiting - it seems that current limits are old implementation not expecting many containers.
the tracking protection differentiates itself from existing anti-tracking addons by going beyond blocking access to specific JS trackers and also having the ability to deny a loaded page context access to storage, to provide it with fake storage, or to provide it with specially partitioned storage
If you're not interested, that's fine, I just want to make sure that as we remove this preference that I provide some guidance to anyone who finds this bug later about how to best transition their use-cases if they're sticking with Firefox.
I am, but https://wiki.mozilla.org/Security/Tracking_protection doesn't mention any storage blocking/faking at all.
why it's being advocated to flip the preference out in the wilds of the internet
So their privacy goal isn't being fulfilled
It's wrong to fight users misunderstanding preferences by removing them. It's probably better to have official documentation for such preferences and extend about:config warranty void warning with something like "unofficial documentation for these preferences may be misleading, the official one is available at ...". Otherwise you'll have to remove many other prefs as somebody will discover them and write a misleading article.
As referenced in comment 0, this implementation decision leads to crashes in certain scenarios where the preference has been enabled, plus has caused breakage in extensions
I agree it's bad as it is. What i'm trying to say is that the existing cookies permissions model is not perfect and there should be a kill-switch that just pretends the API isn't implemented because users have more control over the cookies and localStorage compared to IndexedDB, so it's fine for some usecases if sites will be able to use localStorage, not everyone assumes that indexedDB.enabled disables everything.
A user disabling indexedDB might be surprised to find that a site would still be able to register a ServiceWorker to perform offline storage and store massive amounts of tracking data
Projects encouraging changing about:config preferences usually mention there are multiple ways to store data. And that a ServiceWorkers have their own switch. Again, if you are afraid people are not informed properly this can be solved by small official wiki page(which maybe already exists) referenced from about:config warning.
Disabling IndexedDB while still letting a site store tracking data on a user increases the support/implementation complexity
Is it that difficult to just not expose the API?
without delivering real user benefit
That's what i'm trying to argue from the beginning: there is benefit. It allows to disable storage which is yet not controlled as good as cookies/localStorage.
with potentially much worse performance
Users are warned about potential performance problem and they will probably discover if problems are site-related.
So at least, in the large, disabling the larger storage mechanisms
What matters is not their size but how much control there is other what is stored at what time where time is more precise than built-in per-session.
Which, again, is where tracking protection comes in
Either i'm missing something or you've posted wrong link. Please explain where there is a TP reference of storage faking, related prefs etc.
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 11•6 years ago
|
||
Assignee | ||
Comment 12•6 years ago
|
||
There were 3 checks for this preference. Prior to bug 1079355 which ignored the
pref for system principals, the checks were all straightforward pref checks.
The conditionals are somewhat confusing as written. The main idea is the code
inside the blocks only executes if:
- The preference is disabled.
- The RV was success (we don't want to steal error handling, just prevent
success.) - We're not dealing with the system principal.
As such, I'm removing the full conditional blocks.
Comment 13•6 years ago
|
||
Comment 14•6 years ago
|
||
bugherder |
Comment 15•6 years ago
|
||
We're not really documenting removal of preferences any more, as it doesn't seem to be very useful to web devs.
Description
•