Changes

Jump to: navigation, search

Gecko:Overview

299 bytes added, 16:21, 14 September 2017
Mention frameloader
context (see layout).
[[File:WebNavigation.png|thumb|400px|<xul:browser> , frameloader and docshell in non-e10s single process configuration]]
Docshells are organized into a tree. If a docshell has a non-null parent, then it corresponds to a subframe in whatever page is currently loaded in the parent docshell, and the corresponding subframe element (for example, an iframe) is called a '''browsing context container'''. In order Gecko, a browsing context container would implement <code>[https://dxr.mozilla.org/mozilla-central/rev/f9a5e9ed62103c84e4cde915f4d08f1ce71be83e/dom/base/nsIFrameLoader.idl#271 nsIFrameLoaderOwner]</code> to keep the session history of subframes after the root document has been unloadedhold a '''frameloader''', only which holds and manages the root docshell of a docshell tree manages the session history (this does not match the conceptual model in the HTML5 spec and may be subject to change).
One of the most interfaces docshell implemented is <code>[https://dxr.mozilla.org/mozilla-central/source/docshell/base/nsIWebNavigation.idl nsIWebNavigation]</code>. It defines major functions of a browsing context, such as <code>loadURI</code> / <code>goBack</code> / <code>goForward</code> and <code>reload</code>. In a non-e10s single process configuration of desktop Firefox, <code><xul:browser></code> (which represents a tab) operates on docshell through <code>nsIWebNavigation</code>, as shown in the right figure. In order to keep the session history of subframes after the root document has been unloaded, only the root docshell of a docshell tree manages the session history (this does not match the conceptual model in the HTML5 spec and may be subject to change).
* code: mozilla/docshell/
61
edits

Navigation menu