[html5] r5699 - [giow] (0) make sure the definitions of 'nested browsing context' make sense whe [...]

whatwg at whatwg.org whatwg at whatwg.org
Wed Dec 1 23:15:34 PST 2010


Author: ianh
Date: 2010-12-01 23:15:33 -0800 (Wed, 01 Dec 2010)
New Revision: 5699

Modified:
   complete.html
   index
   source
Log:
[giow] (0) make sure the definitions of 'nested browsing context' make sense when you consider that iframes can be removed from a document

Modified: complete.html
===================================================================
--- complete.html	2010-12-02 04:28:54 UTC (rev 5698)
+++ complete.html	2010-12-02 07:15:33 UTC (rev 5699)
@@ -56840,36 +56840,43 @@
   <p>Certain elements (for example, <code><a href=#the-iframe-element>iframe</a></code> elements) can
   instantiate further <a href=#browsing-context title="browsing context">browsing
   contexts</a>. These are called <dfn id=nested-browsing-context title="nested browsing
-  context">nested browsing contexts</dfn>. If a browsing context <var title="">P</var> has an element <var title="">E</var> in one of its
-  <code><a href=#document>Document</a></code>s <var title="">D</var> that nests another
-  browsing context <var title="">C</var> inside it, then <var title="">P</var> is said to be the <dfn id=parent-browsing-context>parent browsing
-  context</dfn> of <var title="">C</var>, <var title="">C</var> is
-  said to be a <dfn id=child-browsing-context>child browsing context</dfn> of <var title="">P</var>, <var title="">C</var> is said to be <dfn id=browsing-context-nested-through title="browsing context nested through">nested through</dfn> <var title="">D</var>, and <var title="">E</var> is said to be the
-  <dfn id=browsing-context-container>browsing context container</dfn> of <var title="">C</var>.</p>
+  context">nested browsing contexts</dfn>. If a browsing context <var title="">P</var> has a <code><a href=#document>Document</a></code>s <var title="">D</var>
+  with an element <var title="">E</var> that nests another browsing
+  context <var title="">C</var> inside it, then <var title="">C</var>
+  is said to be <dfn id=browsing-context-nested-through title="browsing context nested through">nested
+  through</dfn> <var title="">D</var>, and <var title="">E</var> is
+  said to be the <dfn id=browsing-context-container>browsing context container</dfn> of <var title="">C</var>. If the <a href=#browsing-context-container>browsing context container</a>
+  element <var title="">E</var> is <a href=#in-a-document title="in a
+  Document">in</a> the <code><a href=#document>Document</a></code> <var title="">D</var>,
+  then <var title="">P</var> is said to be the <dfn id=parent-browsing-context>parent browsing
+  context</dfn> of <var title="">C</var> and <var title="">C</var> is
+  said to be a <dfn id=child-browsing-context>child browsing context</dfn> of <var title="">P</var>. Otherwise, the <a href=#nested-browsing-context>nested browsing
+  context</a> <var title="">C</var> has no <a href=#parent-browsing-context>parent browsing
+  context</a>.</p>
 
-  <p>A browsing context <var title="">A</var> is said to be an
-  ancestor of a browsing context <var title="">B</var> if there exists
-  a browsing context <var title="">A'</var> that is a <a href=#child-browsing-context>child
-  browsing context</a> of <var title="">A</var> and that is itself
-  an ancestor of <var title="">B</var>, or if there is a browsing
-  context <var title="">P</var> that is a <a href=#child-browsing-context>child browsing
-  context</a> of <var title="">A</var> and that is the <a href=#parent-browsing-context>parent
-  browsing context</a> of <var title="">B</var>.</p>
+  <p>A browsing context <var title="">A</var> is said to be an <dfn id=ancestor-browsing-context title="ancestor browsing context">ancestor</dfn> of a browsing
+  context <var title="">B</var> if there exists a browsing context
+  <var title="">A'</var> that is a <a href=#child-browsing-context>child browsing context</a>
+  of <var title="">A</var> and that is itself an <a href=#ancestor-browsing-context title="ancestor
+  browsing context">ancestor</a> of <var title="">B</var>, or if
+  there is a browsing context <var title="">P</var> that is a
+  <a href=#child-browsing-context>child browsing context</a> of <var title="">A</var> and
+  that is the <a href=#parent-browsing-context>parent browsing context</a> of <var title="">B</var>.</p>
 
-  <p>The browsing context with no <a href=#parent-browsing-context>parent browsing context</a>
-  is the <dfn id=top-level-browsing-context>top-level browsing context</dfn> of all the browsing
-  contexts <a href=#nested-browsing-context title="nested browsing context">nested</a> within
-  it (either directly or indirectly through other nested browsing
-  contexts).</p>
+  <p>A browsing context that is not a <a href=#nested-browsing-context>nested browsing
+  context</a> has no <a href=#parent-browsing-context>parent browsing context</a>, and is
+  the <dfn id=top-level-browsing-context>top-level browsing context</dfn> of all the browsing
+  contexts for which it is an <a href=#ancestor-browsing-context>ancestor browsing
+  context</a>.</p>
 
   <p>The transitive closure of <a href=#parent-browsing-context title="parent browsing
   context">parent browsing contexts</a> for a <a href=#nested-browsing-context>nested browsing
-  context</a> gives the list of <dfn id=ancestor-browsing-context title="ancestor browsing
-  context">ancestor browsing contexts</dfn>.</p>
+  context</a> gives the list of <a href=#ancestor-browsing-context title="ancestor browsing
+  context">ancestor browsing contexts</a>.</p>
 
   <p>The <dfn id=list-of-the-descendant-browsing-contexts>list of the descendant browsing contexts</dfn> of a
-  <code><a href=#document>Document</a></code> <var title="">d</var> is the list returned by
-  the following algorithm:</p>
+  <code><a href=#document>Document</a></code> <var title="">d</var> is the (ordered) list
+  returned by the following algorithm:</p>
 
   <ol><li><p>Let <var title="">list</var> be an empty list.</li>
 
@@ -56884,12 +56891,13 @@
 
    <li><p>Return the constructed <var title="">list</var>.</li>
 
-  </ol><hr><p>A <code><a href=#document>Document</a></code> is said to be <dfn id=fully-active>fully active</dfn>
+  </ol><p>A <code><a href=#document>Document</a></code> is said to be <dfn id=fully-active>fully active</dfn>
   when it is the <a href=#active-document>active document</a> of its <a href=#browsing-context>browsing
   context</a>, and either its browsing context is a <a href=#top-level-browsing-context>top-level
-  browsing context</a>, or the <code><a href=#document>Document</a></code> <a href=#browsing-context-nested-through title="browsing context nested through">through which</a> that
-  browsing context is <a href=#nested-browsing-context title="nested browsing
-  context">nested</a> is itself <a href=#fully-active>fully active</a>.</p>
+  browsing context</a>, or it has a <a href=#parent-browsing-context>parent browsing
+  context</a> and the <code><a href=#document>Document</a></code> <a href=#browsing-context-nested-through title="browsing
+  context nested through">through which</a> it is <a href=#nested-browsing-context title="nested browsing context">nested</a> is itself <a href=#fully-active>fully
+  active</a>.</p>
 
   <p>Because they are nested through an element, <a href=#child-browsing-context title="child
   browsing context">child browsing contexts</a> are always tied to
@@ -56903,7 +56911,23 @@
   browsing context flag</a> set, if it is embedded through an
   <code><a href=#the-iframe-element>iframe</a></code> element with a <code title=attr-iframe-seamless><a href=#attr-iframe-seamless>seamless</a></code> attribute.</p>
 
+  <p class=note>A <a href=#nested-browsing-context>nested browsing context</a> can in some
+  cases be taken out of its <a href=#parent-browsing-context>parent browsing context</a> (e.g.
+  if an <code><a href=#the-iframe-element>iframe</a></code> element is removed from its
+  <code><a href=#document>Document</a></code>). In such a situation, the <a href=#nested-browsing-context>nested
+  browsing context</a> has no <a href=#parent-browsing-context>parent browsing context</a>,
+  but it still has the same <a href=#browsing-context-container>browsing context container</a>
+  and is still <a href=#browsing-context-nested-through title="browsing context nested through">nested
+  through</a> that element's <code><a href=#document>Document</a></code>. Such a
+  <a href=#nested-browsing-context>nested browsing context</a> is <em>not</em> a
+  <a href=#top-level-browsing-context>top-level browsing context</a>, and cannot contain
+  <code><a href=#document>Document</a></code>s that are <a href=#fully-active>fully active</a>.
+  Furthermore, if a <a href=#browsing-context-container>browsing context container</a> (such as
+  an <code><a href=#the-iframe-element>iframe</a></code>) is moved to another <code><a href=#document>Document</a></code>,
+  then the <a href=#parent-browsing-context>parent browsing context</a> of its <a href=#nested-browsing-context>nested
+  browsing context</a> will change.</p>
 
+
   <h5 id=navigating-nested-browsing-contexts-in-the-dom><span class=secno>6.1.1.1 </span>Navigating nested browsing contexts in the DOM</h5>
 
   <dl class=domintro><dt><var title="">window</var> . <code title=dom-top><a href=#dom-top>top</a></code></dt>

Modified: index
===================================================================
--- index	2010-12-02 04:28:54 UTC (rev 5698)
+++ index	2010-12-02 07:15:33 UTC (rev 5699)
@@ -56821,36 +56821,43 @@
   <p>Certain elements (for example, <code><a href=#the-iframe-element>iframe</a></code> elements) can
   instantiate further <a href=#browsing-context title="browsing context">browsing
   contexts</a>. These are called <dfn id=nested-browsing-context title="nested browsing
-  context">nested browsing contexts</dfn>. If a browsing context <var title="">P</var> has an element <var title="">E</var> in one of its
-  <code><a href=#document>Document</a></code>s <var title="">D</var> that nests another
-  browsing context <var title="">C</var> inside it, then <var title="">P</var> is said to be the <dfn id=parent-browsing-context>parent browsing
-  context</dfn> of <var title="">C</var>, <var title="">C</var> is
-  said to be a <dfn id=child-browsing-context>child browsing context</dfn> of <var title="">P</var>, <var title="">C</var> is said to be <dfn id=browsing-context-nested-through title="browsing context nested through">nested through</dfn> <var title="">D</var>, and <var title="">E</var> is said to be the
-  <dfn id=browsing-context-container>browsing context container</dfn> of <var title="">C</var>.</p>
+  context">nested browsing contexts</dfn>. If a browsing context <var title="">P</var> has a <code><a href=#document>Document</a></code>s <var title="">D</var>
+  with an element <var title="">E</var> that nests another browsing
+  context <var title="">C</var> inside it, then <var title="">C</var>
+  is said to be <dfn id=browsing-context-nested-through title="browsing context nested through">nested
+  through</dfn> <var title="">D</var>, and <var title="">E</var> is
+  said to be the <dfn id=browsing-context-container>browsing context container</dfn> of <var title="">C</var>. If the <a href=#browsing-context-container>browsing context container</a>
+  element <var title="">E</var> is <a href=#in-a-document title="in a
+  Document">in</a> the <code><a href=#document>Document</a></code> <var title="">D</var>,
+  then <var title="">P</var> is said to be the <dfn id=parent-browsing-context>parent browsing
+  context</dfn> of <var title="">C</var> and <var title="">C</var> is
+  said to be a <dfn id=child-browsing-context>child browsing context</dfn> of <var title="">P</var>. Otherwise, the <a href=#nested-browsing-context>nested browsing
+  context</a> <var title="">C</var> has no <a href=#parent-browsing-context>parent browsing
+  context</a>.</p>
 
-  <p>A browsing context <var title="">A</var> is said to be an
-  ancestor of a browsing context <var title="">B</var> if there exists
-  a browsing context <var title="">A'</var> that is a <a href=#child-browsing-context>child
-  browsing context</a> of <var title="">A</var> and that is itself
-  an ancestor of <var title="">B</var>, or if there is a browsing
-  context <var title="">P</var> that is a <a href=#child-browsing-context>child browsing
-  context</a> of <var title="">A</var> and that is the <a href=#parent-browsing-context>parent
-  browsing context</a> of <var title="">B</var>.</p>
+  <p>A browsing context <var title="">A</var> is said to be an <dfn id=ancestor-browsing-context title="ancestor browsing context">ancestor</dfn> of a browsing
+  context <var title="">B</var> if there exists a browsing context
+  <var title="">A'</var> that is a <a href=#child-browsing-context>child browsing context</a>
+  of <var title="">A</var> and that is itself an <a href=#ancestor-browsing-context title="ancestor
+  browsing context">ancestor</a> of <var title="">B</var>, or if
+  there is a browsing context <var title="">P</var> that is a
+  <a href=#child-browsing-context>child browsing context</a> of <var title="">A</var> and
+  that is the <a href=#parent-browsing-context>parent browsing context</a> of <var title="">B</var>.</p>
 
-  <p>The browsing context with no <a href=#parent-browsing-context>parent browsing context</a>
-  is the <dfn id=top-level-browsing-context>top-level browsing context</dfn> of all the browsing
-  contexts <a href=#nested-browsing-context title="nested browsing context">nested</a> within
-  it (either directly or indirectly through other nested browsing
-  contexts).</p>
+  <p>A browsing context that is not a <a href=#nested-browsing-context>nested browsing
+  context</a> has no <a href=#parent-browsing-context>parent browsing context</a>, and is
+  the <dfn id=top-level-browsing-context>top-level browsing context</dfn> of all the browsing
+  contexts for which it is an <a href=#ancestor-browsing-context>ancestor browsing
+  context</a>.</p>
 
   <p>The transitive closure of <a href=#parent-browsing-context title="parent browsing
   context">parent browsing contexts</a> for a <a href=#nested-browsing-context>nested browsing
-  context</a> gives the list of <dfn id=ancestor-browsing-context title="ancestor browsing
-  context">ancestor browsing contexts</dfn>.</p>
+  context</a> gives the list of <a href=#ancestor-browsing-context title="ancestor browsing
+  context">ancestor browsing contexts</a>.</p>
 
   <p>The <dfn id=list-of-the-descendant-browsing-contexts>list of the descendant browsing contexts</dfn> of a
-  <code><a href=#document>Document</a></code> <var title="">d</var> is the list returned by
-  the following algorithm:</p>
+  <code><a href=#document>Document</a></code> <var title="">d</var> is the (ordered) list
+  returned by the following algorithm:</p>
 
   <ol><li><p>Let <var title="">list</var> be an empty list.</li>
 
@@ -56865,12 +56872,13 @@
 
    <li><p>Return the constructed <var title="">list</var>.</li>
 
-  </ol><hr><p>A <code><a href=#document>Document</a></code> is said to be <dfn id=fully-active>fully active</dfn>
+  </ol><p>A <code><a href=#document>Document</a></code> is said to be <dfn id=fully-active>fully active</dfn>
   when it is the <a href=#active-document>active document</a> of its <a href=#browsing-context>browsing
   context</a>, and either its browsing context is a <a href=#top-level-browsing-context>top-level
-  browsing context</a>, or the <code><a href=#document>Document</a></code> <a href=#browsing-context-nested-through title="browsing context nested through">through which</a> that
-  browsing context is <a href=#nested-browsing-context title="nested browsing
-  context">nested</a> is itself <a href=#fully-active>fully active</a>.</p>
+  browsing context</a>, or it has a <a href=#parent-browsing-context>parent browsing
+  context</a> and the <code><a href=#document>Document</a></code> <a href=#browsing-context-nested-through title="browsing
+  context nested through">through which</a> it is <a href=#nested-browsing-context title="nested browsing context">nested</a> is itself <a href=#fully-active>fully
+  active</a>.</p>
 
   <p>Because they are nested through an element, <a href=#child-browsing-context title="child
   browsing context">child browsing contexts</a> are always tied to
@@ -56884,7 +56892,23 @@
   browsing context flag</a> set, if it is embedded through an
   <code><a href=#the-iframe-element>iframe</a></code> element with a <code title=attr-iframe-seamless><a href=#attr-iframe-seamless>seamless</a></code> attribute.</p>
 
+  <p class=note>A <a href=#nested-browsing-context>nested browsing context</a> can in some
+  cases be taken out of its <a href=#parent-browsing-context>parent browsing context</a> (e.g.
+  if an <code><a href=#the-iframe-element>iframe</a></code> element is removed from its
+  <code><a href=#document>Document</a></code>). In such a situation, the <a href=#nested-browsing-context>nested
+  browsing context</a> has no <a href=#parent-browsing-context>parent browsing context</a>,
+  but it still has the same <a href=#browsing-context-container>browsing context container</a>
+  and is still <a href=#browsing-context-nested-through title="browsing context nested through">nested
+  through</a> that element's <code><a href=#document>Document</a></code>. Such a
+  <a href=#nested-browsing-context>nested browsing context</a> is <em>not</em> a
+  <a href=#top-level-browsing-context>top-level browsing context</a>, and cannot contain
+  <code><a href=#document>Document</a></code>s that are <a href=#fully-active>fully active</a>.
+  Furthermore, if a <a href=#browsing-context-container>browsing context container</a> (such as
+  an <code><a href=#the-iframe-element>iframe</a></code>) is moved to another <code><a href=#document>Document</a></code>,
+  then the <a href=#parent-browsing-context>parent browsing context</a> of its <a href=#nested-browsing-context>nested
+  browsing context</a> will change.</p>
 
+
   <h5 id=navigating-nested-browsing-contexts-in-the-dom><span class=secno>6.1.1.1 </span>Navigating nested browsing contexts in the DOM</h5>
 
   <dl class=domintro><dt><var title="">window</var> . <code title=dom-top><a href=#dom-top>top</a></code></dt>

Modified: source
===================================================================
--- source	2010-12-02 04:28:54 UTC (rev 5698)
+++ source	2010-12-02 07:15:33 UTC (rev 5699)
@@ -64583,40 +64583,47 @@
   instantiate further <span title="browsing context">browsing
   contexts</span>. These are called <dfn title="nested browsing
   context">nested browsing contexts</dfn>. If a browsing context <var
-  title="">P</var> has an element <var title="">E</var> in one of its
-  <code>Document</code>s <var title="">D</var> that nests another
-  browsing context <var title="">C</var> inside it, then <var
-  title="">P</var> is said to be the <dfn>parent browsing
-  context</dfn> of <var title="">C</var>, <var title="">C</var> is
+  title="">P</var> has a <code>Document</code>s <var title="">D</var>
+  with an element <var title="">E</var> that nests another browsing
+  context <var title="">C</var> inside it, then <var title="">C</var>
+  is said to be <dfn title="browsing context nested through">nested
+  through</dfn> <var title="">D</var>, and <var title="">E</var> is
+  said to be the <dfn>browsing context container</dfn> of <var
+  title="">C</var>. If the <span>browsing context container</span>
+  element <var title="">E</var> is <span title="in a
+  Document">in</span> the <code>Document</code> <var title="">D</var>,
+  then <var title="">P</var> is said to be the <dfn>parent browsing
+  context</dfn> of <var title="">C</var> and <var title="">C</var> is
   said to be a <dfn>child browsing context</dfn> of <var
-  title="">P</var>, <var title="">C</var> is said to be <dfn
-  title="browsing context nested through">nested through</dfn> <var
-  title="">D</var>, and <var title="">E</var> is said to be the
-  <dfn>browsing context container</dfn> of <var title="">C</var>.</p>
+  title="">P</var>. Otherwise, the <span>nested browsing
+  context</span> <var title="">C</var> has no <span>parent browsing
+  context</span>.</p>
 
-  <p>A browsing context <var title="">A</var> is said to be an
-  ancestor of a browsing context <var title="">B</var> if there exists
-  a browsing context <var title="">A'</var> that is a <span>child
-  browsing context</span> of <var title="">A</var> and that is itself
-  an ancestor of <var title="">B</var>, or if there is a browsing
-  context <var title="">P</var> that is a <span>child browsing
-  context</span> of <var title="">A</var> and that is the <span>parent
-  browsing context</span> of <var title="">B</var>.</p>
+  <p>A browsing context <var title="">A</var> is said to be an <dfn
+  title="ancestor browsing context">ancestor</dfn> of a browsing
+  context <var title="">B</var> if there exists a browsing context
+  <var title="">A'</var> that is a <span>child browsing context</span>
+  of <var title="">A</var> and that is itself an <span title="ancestor
+  browsing context">ancestor</span> of <var title="">B</var>, or if
+  there is a browsing context <var title="">P</var> that is a
+  <span>child browsing context</span> of <var title="">A</var> and
+  that is the <span>parent browsing context</span> of <var
+  title="">B</var>.</p>
 
-  <p>The browsing context with no <span>parent browsing context</span>
-  is the <dfn>top-level browsing context</dfn> of all the browsing
-  contexts <span title="nested browsing context">nested</span> within
-  it (either directly or indirectly through other nested browsing
-  contexts).</p>
+  <p>A browsing context that is not a <span>nested browsing
+  context</span> has no <span>parent browsing context</span>, and is
+  the <dfn>top-level browsing context</dfn> of all the browsing
+  contexts for which it is an <span>ancestor browsing
+  context</span>.</p>
 
   <p>The transitive closure of <span title="parent browsing
   context">parent browsing contexts</span> for a <span>nested browsing
-  context</span> gives the list of <dfn title="ancestor browsing
-  context">ancestor browsing contexts</dfn>.</p>
+  context</span> gives the list of <span title="ancestor browsing
+  context">ancestor browsing contexts</span>.</p>
 
   <p>The <dfn>list of the descendant browsing contexts</dfn> of a
-  <code>Document</code> <var title="">d</var> is the list returned by
-  the following algorithm:</p>
+  <code>Document</code> <var title="">d</var> is the (ordered) list
+  returned by the following algorithm:</p>
 
   <ol>
 
@@ -64637,15 +64644,14 @@
 
   </ol>
 
-  <hr>
-
   <p>A <code>Document</code> is said to be <dfn>fully active</dfn>
   when it is the <span>active document</span> of its <span>browsing
   context</span>, and either its browsing context is a <span>top-level
-  browsing context</span>, or the <code>Document</code> <span
-  title="browsing context nested through">through which</span> that
-  browsing context is <span title="nested browsing
-  context">nested</span> is itself <span>fully active</span>.</p>
+  browsing context</span>, or it has a <span>parent browsing
+  context</span> and the <code>Document</code> <span title="browsing
+  context nested through">through which</span> it is <span
+  title="nested browsing context">nested</span> is itself <span>fully
+  active</span>.</p>
 
   <p>Because they are nested through an element, <span title="child
   browsing context">child browsing contexts</span> are always tied to
@@ -64660,7 +64666,23 @@
   <code>iframe</code> element with a <code
   title="attr-iframe-seamless">seamless</code> attribute.</p>
 
+  <p class="note">A <span>nested browsing context</span> can in some
+  cases be taken out of its <span>parent browsing context</span> (e.g.
+  if an <code>iframe</code> element is removed from its
+  <code>Document</code>). In such a situation, the <span>nested
+  browsing context</span> has no <span>parent browsing context</span>,
+  but it still has the same <span>browsing context container</span>
+  and is still <span title="browsing context nested through">nested
+  through</span> that element's <code>Document</code>. Such a
+  <span>nested browsing context</span> is <em>not</em> a
+  <span>top-level browsing context</span>, and cannot contain
+  <code>Document</code>s that are <span>fully active</span>.
+  Furthermore, if a <span>browsing context container</span> (such as
+  an <code>iframe</code>) is moved to another <code>Document</code>,
+  then the <span>parent browsing context</span> of its <span>nested
+  browsing context</span> will change.</p>
 
+
   <h5>Navigating nested browsing contexts in the DOM</h5>
 
   <dl class="domintro">




More information about the Commit-Watchers mailing list