Confirmed users
512
edits
| 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: | |||
* 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 | 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? | ||