User:Jminta: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(private browsing sketch)
(reorg)
Line 1: Line 1:
== Private Browsing ==
'jminta' is Joey Minta.
Goals:
irc: jminta
* Implement "private browsing sessions"
mail: add @gmail.com
* Unify private sessions with clear private data requests
* Allow for extensions that manage private data to easily integrate with privacy settings.
Implementation:
* relies on nsIObserverService and nsIObservers
* supplements current privacy methods in nsIBrowserGlue


=== Private Browsing session ===
=== Random notes ===
* Each component with private data should add observers for the <code>privacy-status-changed</code> topic
*[[User:Jminta/Steel | Steel]]
* The observer service will fire this topic when the privacy status changes
*[[User:Jminta/Private_Browsing | Private Browsing]]
** The subject for this topic will either be "private" or "normal", corresponding to the new privacy status beginning.
*[[User:Jminta:QA_Scratchpad | Bug 358985]]
** Components with private data will likely want to cache the current privacy status
* We need some sort of XPCOM service broadcasting the current privacy status (with a boolean isPrivateSession attribute)
** We can stick with nsIBrowserGlue (which has sanitize()) or move to a real privacy service
 
=== Clearing Private Data ===
*Each element in the privacy preferences should be associated with a privacy-subject. (via a privacysubject attribute)
** Extensions should overlay this window and listen for their subject
*When "clear private data" is called via any method (prefs or main browser chrome), an nsIObserverService notification will go out with the <code>clear-private-data</code> topic for each privacy-subject to be cleared.
** The subject of each of these notifications will be the associated privacy topic.
** This will obsolete the <code>browser:purge-session-history</code> topic.
 
=== Private data collections ===
The following places keep private data that should be ignored during private sessions:
*History
*Cookies
*Cache
*SessionStore
*ErrorConsole
*AutoComplete (forms)
*Download Manager
*Password Manager?
*Popup-blocker
*Image-blocker
*Certificates
 
=== Notes ===
I'm not entirely convinced about the idea of using nsIObserverService.  If we're going to go to the length of making a real privacy interface, we might as well allow interested components to register nsIObservers directly with that service.  I think this would help performance a bit, as we avoid adding more weight to nsIObserverService, but I could be wrong.

Revision as of 01:09, 1 January 2008

'jminta' is Joey Minta. irc: jminta mail: add @gmail.com

Random notes