Skip to content

Commit

Permalink
[giow] (2) Remove the 'magic iframe' feature.
Browse files Browse the repository at this point in the history
Affected topics: HTML

git-svn-id: http://svn.whatwg.org/webapps@7139 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed Jun 22, 2012
1 parent 5002eb4 commit 196b728
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 99 deletions.
47 changes: 14 additions & 33 deletions complete.html
Expand Up @@ -240,7 +240,7 @@

<header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1 class=allcaps>HTML</h1>
<h2 class="no-num no-toc">Living Standard &mdash; Last Updated 15 June 2012</h2>
<h2 class="no-num no-toc">Living Standard &mdash; Last Updated 22 June 2012</h2>
</hgroup><dl><dt><strong>Web developer edition:</strong></dt>
<dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
<dt>Multiple-page version:</dt>
Expand Down Expand Up @@ -25616,12 +25616,21 @@ <h4 id=the-iframe-element><span class=secno>4.8.2 </span>The <dfn><code>iframe</

<div class=impl>

<p>When an <code><a href=#the-iframe-element>iframe</a></code> element is first <a href=#insert-an-element-into-a-document title="insert
an element into a document">inserted into a document</a>, the
user agent must create a <a href=#nested-browsing-context>nested browsing context</a>, and
then <a href=#process-the-iframe-attributes>process the <code>iframe</code> attributes</a> for the
<p>When an <code><a href=#the-iframe-element>iframe</a></code> element is <a href=#insert-an-element-into-a-document title="insert an
element into a document">inserted into a document</a>, the user
agent must create a <a href=#nested-browsing-context>nested browsing context</a>, and then
<a href=#process-the-iframe-attributes>process the <code>iframe</code> attributes</a> for the
first time.</p>

<p>When an <code><a href=#the-iframe-element>iframe</a></code> element is <a href=#remove-an-element-from-a-document title="remove an
element from a document">removed from a document</a>, the user
agent must <a href=#a-browsing-context-is-discarded title="a browsing context is
discarded">discard</a> the <a href=#nested-browsing-context>nested browsing
context</a>.</p>

<p class=note>This happens without any <code title=event-unload>unload</code> events firing (the <a href=#nested-browsing-context>nested
browsing context</a> and its <code><a href=#document>Document</a></code> are <em title="a browsing context is discarded">discarded</em>, not <em title="unload a document">unloaded</em>).</p>

<p>Whenever an <code><a href=#the-iframe-element>iframe</a></code> element with a <a href=#nested-browsing-context>nested
browsing context</a> has its <code title=attr-iframe-srcdoc><a href=#attr-iframe-srcdoc>srcdoc</a></code> attribute set, changed, or
removed, the user agent must <a href=#process-the-iframe-attributes>process the <code>iframe</code>
Expand Down Expand Up @@ -25727,34 +25736,6 @@ <h4 id=the-iframe-element><span class=secno>4.8.2 </span>The <dfn><code>iframe</
<code><a href=#windowproxy>WindowProxy</a></code> object will proxy new <code><a href=#window>Window</a></code>
objects for new <code><a href=#document>Document</a></code> objects, but the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code> attribute will not change.</p>

<div class=impl>

<div class=note>

<p><a href=#remove-an-element-from-a-document title="remove an element from a document">Removing</a>
an <code><a href=#the-iframe-element>iframe</a></code> from a <code><a href=#document>Document</a></code> does not cause
its <a href=#browsing-context>browsing context</a> to be discarded. Indeed, an
<code><a href=#the-iframe-element>iframe</a></code>'s <a href=#browsing-context>browsing context</a> can survive its
original parent <code><a href=#document>Document</a></code> if its <code><a href=#the-iframe-element>iframe</a></code> is
moved to another <code><a href=#document>Document</a></code>.</p>

<p>On the other hand, if an <code><a href=#the-iframe-element>iframe</a></code> is <a href=#remove-an-element-from-a-document title="remove an element from a document">removed</a> from a
<code><a href=#document>Document</a></code> and is then subsequently garbage collected,
this will likely mean (in the absence of other references) that the
<a href=#child-browsing-context>child browsing context</a>'s <code><a href=#windowproxy>WindowProxy</a></code>
object will become eligble for garbage collection, which will then
lead to that <a href=#browsing-context>browsing context</a> being <a href=#a-browsing-context-is-discarded title="a
browsing context is discarded">discarded</a>, which will then
lead to its <code><a href=#document>Document</a></code> being <a href=#discard-a-document title="discard a
document">discarded</a> also. This happens without notice to any
scripts running in that <code><a href=#document>Document</a></code>; for example, no
<code title=event-unload>unload</code> events are fired (the
"<a href=#unload-a-document>unload a document</a>" steps are not run).</p>

</div>

</div>

<div class=example>

<p>Here a blog uses the <code title=attr-iframe-srcdoc><a href=#attr-iframe-srcdoc>srcdoc</a></code> attribute in conjunction
Expand Down
47 changes: 14 additions & 33 deletions index
Expand Up @@ -240,7 +240,7 @@

<header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1 class=allcaps>HTML</h1>
<h2 class="no-num no-toc">Living Standard &mdash; Last Updated 15 June 2012</h2>
<h2 class="no-num no-toc">Living Standard &mdash; Last Updated 22 June 2012</h2>
</hgroup><dl><dt><strong>Web developer edition:</strong></dt>
<dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
<dt>Multiple-page version:</dt>
Expand Down Expand Up @@ -25616,12 +25616,21 @@ href="?audio"&gt;audio&lt;/a&gt; test instead.)&lt;/p&gt;</pre>

<div class=impl>

<p>When an <code><a href=#the-iframe-element>iframe</a></code> element is first <a href=#insert-an-element-into-a-document title="insert
an element into a document">inserted into a document</a>, the
user agent must create a <a href=#nested-browsing-context>nested browsing context</a>, and
then <a href=#process-the-iframe-attributes>process the <code>iframe</code> attributes</a> for the
<p>When an <code><a href=#the-iframe-element>iframe</a></code> element is <a href=#insert-an-element-into-a-document title="insert an
element into a document">inserted into a document</a>, the user
agent must create a <a href=#nested-browsing-context>nested browsing context</a>, and then
<a href=#process-the-iframe-attributes>process the <code>iframe</code> attributes</a> for the
first time.</p>

<p>When an <code><a href=#the-iframe-element>iframe</a></code> element is <a href=#remove-an-element-from-a-document title="remove an
element from a document">removed from a document</a>, the user
agent must <a href=#a-browsing-context-is-discarded title="a browsing context is
discarded">discard</a> the <a href=#nested-browsing-context>nested browsing
context</a>.</p>

<p class=note>This happens without any <code title=event-unload>unload</code> events firing (the <a href=#nested-browsing-context>nested
browsing context</a> and its <code><a href=#document>Document</a></code> are <em title="a browsing context is discarded">discarded</em>, not <em title="unload a document">unloaded</em>).</p>

<p>Whenever an <code><a href=#the-iframe-element>iframe</a></code> element with a <a href=#nested-browsing-context>nested
browsing context</a> has its <code title=attr-iframe-srcdoc><a href=#attr-iframe-srcdoc>srcdoc</a></code> attribute set, changed, or
removed, the user agent must <a href=#process-the-iframe-attributes>process the <code>iframe</code>
Expand Down Expand Up @@ -25727,34 +25736,6 @@ href="?audio"&gt;audio&lt;/a&gt; test instead.)&lt;/p&gt;</pre>
<code><a href=#windowproxy>WindowProxy</a></code> object will proxy new <code><a href=#window>Window</a></code>
objects for new <code><a href=#document>Document</a></code> objects, but the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code> attribute will not change.</p>

<div class=impl>

<div class=note>

<p><a href=#remove-an-element-from-a-document title="remove an element from a document">Removing</a>
an <code><a href=#the-iframe-element>iframe</a></code> from a <code><a href=#document>Document</a></code> does not cause
its <a href=#browsing-context>browsing context</a> to be discarded. Indeed, an
<code><a href=#the-iframe-element>iframe</a></code>'s <a href=#browsing-context>browsing context</a> can survive its
original parent <code><a href=#document>Document</a></code> if its <code><a href=#the-iframe-element>iframe</a></code> is
moved to another <code><a href=#document>Document</a></code>.</p>

<p>On the other hand, if an <code><a href=#the-iframe-element>iframe</a></code> is <a href=#remove-an-element-from-a-document title="remove an element from a document">removed</a> from a
<code><a href=#document>Document</a></code> and is then subsequently garbage collected,
this will likely mean (in the absence of other references) that the
<a href=#child-browsing-context>child browsing context</a>'s <code><a href=#windowproxy>WindowProxy</a></code>
object will become eligble for garbage collection, which will then
lead to that <a href=#browsing-context>browsing context</a> being <a href=#a-browsing-context-is-discarded title="a
browsing context is discarded">discarded</a>, which will then
lead to its <code><a href=#document>Document</a></code> being <a href=#discard-a-document title="discard a
document">discarded</a> also. This happens without notice to any
scripts running in that <code><a href=#document>Document</a></code>; for example, no
<code title=event-unload>unload</code> events are fired (the
"<a href=#unload-a-document>unload a document</a>" steps are not run).</p>

</div>

</div>

<div class=example>

<p>Here a blog uses the <code title=attr-iframe-srcdoc><a href=#attr-iframe-srcdoc>srcdoc</a></code> attribute in conjunction
Expand Down
49 changes: 16 additions & 33 deletions source
Expand Up @@ -27548,12 +27548,24 @@ href="?audio">audio&lt;/a> test instead.)&lt;/p></pre>

<div class="impl">

<p>When an <code>iframe</code> element is first <span title="insert
an element into a document">inserted into a document</span>, the
user agent must create a <span>nested browsing context</span>, and
then <span>process the <code>iframe</code> attributes</span> for the
<p>When an <code>iframe</code> element is <span title="insert an
element into a document">inserted into a document</span>, the user
agent must create a <span>nested browsing context</span>, and then
<span>process the <code>iframe</code> attributes</span> for the
first time.</p>

<p>When an <code>iframe</code> element is <span title="remove an
element from a document">removed from a document</span>, the user
agent must <span title="a browsing context is
discarded">discard</span> the <span>nested browsing
context</span>.</p>

<p class="note">This happens without any <code
title="event-unload">unload</code> events firing (the <span>nested
browsing context</span> and its <code>Document</code> are <em
title="a browsing context is discarded">discarded</em>, not <em
title="unload a document">unloaded</em>).</p>

<p>Whenever an <code>iframe</code> element with a <span>nested
browsing context</span> has its <code
title="attr-iframe-srcdoc">srcdoc</code> attribute set, changed, or
Expand Down Expand Up @@ -27675,35 +27687,6 @@ href="?audio">audio&lt;/a> test instead.)&lt;/p></pre>
objects for new <code>Document</code> objects, but the <code
title="attr-iframe-src">src</code> attribute will not change.</p>

<div class="impl">

<div class="note">

<p><span title="remove an element from a document">Removing</span>
an <code>iframe</code> from a <code>Document</code> does not cause
its <span>browsing context</span> to be discarded. Indeed, an
<code>iframe</code>'s <span>browsing context</span> can survive its
original parent <code>Document</code> if its <code>iframe</code> is
moved to another <code>Document</code>.</p>

<p>On the other hand, if an <code>iframe</code> is <span
title="remove an element from a document">removed</span> from a
<code>Document</code> and is then subsequently garbage collected,
this will likely mean (in the absence of other references) that the
<span>child browsing context</span>'s <code>WindowProxy</code>
object will become eligble for garbage collection, which will then
lead to that <span>browsing context</span> being <span title="a
browsing context is discarded">discarded</span>, which will then
lead to its <code>Document</code> being <span title="discard a
document">discarded</span> also. This happens without notice to any
scripts running in that <code>Document</code>; for example, no
<code title="event-unload">unload</code> events are fired (the
"<span>unload a document</span>" steps are not run).</p>

</div>

</div>

<div class="example">

<p>Here a blog uses the <code
Expand Down

0 comments on commit 196b728

Please sign in to comment.