DocShell: Difference between revisions

428 bytes removed ,  12 May 2015
Page moved
(Page moved)
 
(18 intermediate revisions by 13 users not shown)
Line 1: Line 1:
= Docshell Documentation =
= Docshell Documentation =


The goal of this page is to serve as a dumping/organization ground for docshell
The goal of this page is to serve as a dumping/organization ground for docshell
Line 11: Line 9:


* [http://www.mozilla.org/projects/embedding/docshell.html About] (What actually is docshell?)
* [http://www.mozilla.org/projects/embedding/docshell.html About] (What actually is docshell?)
* [[DocShell:Fastback|How fastback is implemented]]
* [[DocShell/Fastback|How fastback is implemented]]


== Interfaces Implemented by Docshell ==
== Interfaces Implemented by Docshell ==


Docshell + webshell implement the following interfaces
Docshell implement the following interfaces
 
 
 
Webshell:
 
* nsIWebShell                [http://lxr.mozilla.org/mozilla/source/webshell/public/nsIWebShell.h#75 LXR]
* nsIWebShellContainer        [http://lxr.mozilla.org/mozilla/source/webshell/public/nsIWebShell.h#66 LXR]
* nsIWebShellServices        [http://lxr.mozilla.org/mozilla/source/webshell/public/nsIWebShellServices.h#52 LXR]
* nsILinkHandler              [http://lxr.mozilla.org/mozilla/source/webshell/public/nsILinkHandler.h#70 LXR]
* nsIClipboardCommands (why?) [http://lxr.mozilla.org/mozilla/source/webshell/public/nsIClipboardCommands.idl#42 LXR]
 
Docshell:


* nsIDocShell                [http://lxr.mozilla.org/mozilla/source/docshell/base/nsIDocShell.idl#68 LXR]
* nsIDocShell                [http://lxr.mozilla.org/mozilla/source/docshell/base/nsIDocShell.idl#68 LXR]
Line 45: Line 31:
* nsIEditorDocShell          [http://lxr.mozilla.org/mozilla/source/docshell/base/nsIEditorDocShell.idl#45 LXR]
* nsIEditorDocShell          [http://lxr.mozilla.org/mozilla/source/docshell/base/nsIEditorDocShell.idl#45 LXR]
* nsIWebPageDescriptor        [http://lxr.mozilla.org/mozilla/source/docshell/base/nsIWebPageDescriptor.idl#38 LXR]
* nsIWebPageDescriptor        [http://lxr.mozilla.org/mozilla/source/docshell/base/nsIWebPageDescriptor.idl#38 LXR]
* nsIWebShellServices        [http://lxr.mozilla.org/mozilla/source/webshell/public/nsIWebShellServices.h#52 LXR]
* nsILinkHandler              [http://lxr.mozilla.org/mozilla/source/webshell/public/nsILinkHandler.h#70 LXR]
* nsIClipboardCommands (why?) [http://lxr.mozilla.org/mozilla/source/webshell/public/nsIClipboardCommands.idl#42 LXR]


In my view, nsIDocShellTree* and nsIWebShellContainer should all be merged into a single "tree node" interface.  nsIWebShell should merge into nsIDocShell.  nsILinkHandler, not sure.  nsIContentViewerContainer and nsIScriptGlobalObjectOwner, do we really need those?  nsIRefreshURI is probably something to merge into nsIDocShell (or even nsIWebNavigation?).  nsIEditorDocshell also doesn't really need to be a separate interface.
nsIContentViewerContainer and nsIScriptGlobalObjectOwner, do we really need those?  nsIRefreshURI is probably something to merge into nsIDocShell (or even nsIWebNavigation?).  nsIEditorDocshell also doesn't really need to be a separate interface.


Then again, do we want to just dump all sorts of stuff onto nsIDocShell?  Not sure about that.  Maybe we should look at who uses nsIDocShell and these other interfaces and why?
Then again, do we want to just dump all sorts of stuff onto nsIDocShell?  Not sure about that.  Maybe we should look at who uses nsIDocShell and these other interfaces and why?


== Session history (needs work) ==
== Session history (needs work) ==
== URI loading (needs work) ==
 
<h2> URI loading (needs work) </h2>
 
== Progress notifications (needs work) ==
== Progress notifications (needs work) ==


Line 61: Line 52:
== Current plans for docshell ==
== Current plans for docshell ==


[[DocShell:IRC_Logs]] has some IRC discussions concerning the future direction of docshell and docloader
[[DocShell/IRC_Logs]] has some IRC discussions concerning the future direction of docshell and docloader




Line 68: Line 59:
== Window targeting ==
== Window targeting ==


Current and proposed setup discussed at [[DocShell:Window_targeting]].
Current and proposed setup discussed at [[DocShell/Window targeting]].


== Completed Work ==
== Completed Works ==


nsIWebShell removed. Thanks to bz!  -- [http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2005-01-03+14%3A49&maxdate=2005-01-03+14%3A51&cvsroot=%2Fcvsroot Bonsai]
nsIWebShell removed. Thanks to bz!  -- [http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2005-01-03+14%3A49&maxdate=2005-01-03+14%3A51&cvsroot=%2Fcvsroot Bonsai]
canmove, Confirmed users, Bureaucrats and Sysops emeriti
960

edits