Per-window Private Browsing: Difference between revisions

Jump to navigation Jump to search
Line 50: Line 50:
=== Channels ===
=== Channels ===
The design which requires access to docshells is fundamentally broken for e10s, where networking occurs in the parent process and the relevant docshell is in a content process. [http://hg.mozilla.org/users/josh_joshmatthews.net/pb-per-window/file/352685cd7155/pb-httpchannel
The design which requires access to docshells is fundamentally broken for e10s, where networking occurs in the parent process and the relevant docshell is in a content process. [http://hg.mozilla.org/users/josh_joshmatthews.net/pb-per-window/file/352685cd7155/pb-httpchannel
|This patch] demonstrates a correct implementation for HTTP channels, whereby a concrete nsHttpChannel object can be reliably queried as to its PB usage, regardless of process. Possible solutions:
This patch] demonstrates a correct implementation for HTTP channels, whereby a concrete nsHttpChannel object can be reliably queried as to its PB usage, regardless of process. Possible solutions:


* add a new interface (or modify nsIChannel) to add private browsing status to every channel type, and propagate the information from the child to the parent as in the previously-linked HTTP patch
* add a new interface (or modify nsIChannel) to add private browsing status to every channel type, and propagate the information from the child to the parent as in the previously-linked HTTP patch
* make docshells implement IPDL actors, so that querying the docshell on the parent gives something useful. probably a non-starter.
* make docshells implement IPDL actors, so that querying the docshell on the parent gives something useful. probably a non-starter.


I've chosen to make a clean break and create an nsIPrivateBrowserConsumer interface. [http://hg.mozilla.org/users/josh_joshmatthews.net/pb-per-window/file/78dc6bacca11/pb-channels|This patch] demonstrates the application of this to FTP and HTTP channels in a very elegant manner.
I've chosen to make a clean break and create an nsIPrivateBrowserConsumer interface. [http://hg.mozilla.org/users/josh_joshmatthews.net/pb-per-window/file/78dc6bacca11/pb-channels This patch] demonstrates the application of this to FTP and HTTP channels in a very elegant manner.


=== Cookies ===
=== Cookies ===


The cookie service already has a non-PB DB and a PB DB. However, functions like GetEnumerator assume that they can enumerate all the cookies of the currently active DB - how should this interact with the cookie list, which call this to list all cookies?
The cookie service already has a non-PB DB and a PB DB. However, functions like GetEnumerator assume that they can enumerate all the cookies of the currently active DB - how should this interact with the cookie list, which call this to list all cookies?
Confirmed users
512

edits

Navigation menu