[meta] Add support for multiple private browsing mode ids
Categories
(Firefox :: Private Browsing, enhancement, P3)
Tracking
()
People
(Reporter: abhishekmadan, Unassigned)
References
(Depends on 10 open bugs, Blocks 1 open bug)
Details
(Keywords: meta)
Attachments
(1 obsolete file)
Edit emz:
This project is for updating Gecko to support multiple private browsing ids. Currently we only support privateBrowsingId = 0 (normal browsing) and privateBrowsingId = 1 (private browsing).
This behavior has the shortcoming that we can only have one private browsing session at a time. It also means that when we want to restart private browsing there can be race conditions. We don't know when a private browsing session has fully torn down and starting a new one uses the same ID thus sharing the storage bucket.
For storage and cache implementations (Anything that holds PBM state) we key PBM data differently. Some of the implementations do it properly: they key off the OriginAttributes suffix thus incorporating the private browsing (PBM) id in their key. This means switching over to multiple private browsing ids automatically creates separate buckets for separate sessions / ids.
Unfortunately there are a lot of implementations that simply look at PBM id 0 vs 1 and then manually manage two buckets. These implementations need to be updated to properly key off the PBM id, potentially via OriginAttributes suffix, or just the id.
This project will not only help with avoiding race conditions with PBM teardown. It also enables handling PBM more flexibly in the future: Multiple PBM ids allow us to have multiple, isolated PBM sessions in different windows, or even per tab.
| Reporter | ||
Comment 1•2 years ago
|
||
Updated•2 years ago
|
Updated•1 month ago
|
Description
•