hixie: Make about:srcdoc documents have better defined handling for base URL, Referer headers, and location.reload(). (whatwg r5679)

hixie: Make about:srcdoc documents have better defined handling for base
URL, Referer headers, and location.reload(). (whatwg r5679)

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.4545&r2=1.4546&f=h
http://html5.org/tools/web-apps-tracker?from=5678&to=5679

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.4545
retrieving revision 1.4546
diff -u -d -r1.4545 -r1.4546
--- Overview.html 11 Nov 2010 02:16:09 -0000 1.4545
+++ Overview.html 13 Nov 2010 00:01:42 -0000 1.4546
@@ -5255,6 +5255,13 @@
 
      </li>
 
+     <li><p>If the <code><a href="#document">Document</a></code> is <a href="#an-iframe-srcdoc-document">an
+     <code>iframe</code> <code title="attr-iframe-srcdoc">srcdoc</code> document</a>, then
+     let <var title="">fallback base url</var> be the <a href="#document-base-url">document
+     base URL</a> of the <code><a href="#document">Document</a></code>'s <a href="#browsing-context">browsing
+     context</a>'s <a href="#browsing-context-container">browsing context container</a>'s
+     <code><a href="#document">Document</a></code> instead.</li>
+
      <li><p>If there is no <code><a href="#the-base-element">base</a></code> element that is both a
      child of <a href="#the-head-element">the <code>head</code> element</a> and has an
      <code title="attr-base-href"><a href="#attr-base-href">href</a></code> attribute, then the
@@ -5608,10 +5615,8 @@
 
   <ol><li>
 
-    <p>Generate the <i>address of the resource from which Request-URIs
-    are obtained</i> as required by HTTP for the <code title="http-referer">Referer</code> (sic) header from <a href="#the-document-s-current-address">the
-    document's current address</a> of the appropriate
-    <code><a href="#document">Document</a></code> as given by the following list. <a href="#refsHTTP">[HTTP]</a></p>
+    <p>Let <var title="">document</var> be the appropriate
+    <code><a href="#document">Document</a></code> as given by the following list:</p>
 
     <dl class="switch"><dt>When <a href="#navigate" title="navigate">navigating</a></dt>
 
@@ -5627,7 +5632,26 @@
      <dd>The <a href="#entry-script">entry script</a>'s <a href="#script-s-document" title="script's
      document">document</a>.</dd>
 
-    </dl><p>Remove any <a href="#url-fragment" title="url-fragment">&lt;fragment&gt;</a>
+    </dl></li>
+
+   <li>
+
+    <p>While <var title="">document</var> is is <a href="#an-iframe-srcdoc-document">an
+    <code>iframe</code> <code title="attr-iframe-srcdoc">srcdoc</code>
+    document</a>, let <var title="">document</var> be <var title="">document</var>'s <a href="#browsing-context">browsing context</a>'s
+    <a href="#browsing-context-container">browsing context container</a>'s <code><a href="#document">Document</a></code>
+    instead.</p>
+
+   </li>
+
+   <li>
+
+    <p>Generate the <i>address of the resource from which Request-URIs
+    are obtained</i> as required by HTTP for the <code title="http-referer">Referer</code> (sic) header from <a href="#the-document-s-current-address">the
+    document's current address</a> of <var title="">document</var>.
+    <a href="#refsHTTP">[HTTP]</a></p>
+
+    <p>Remove any <a href="#url-fragment" title="url-fragment">&lt;fragment&gt;</a>
     component from the generated <i>address of the resource from which
     Request-URIs are obtained</i>.</p> <!-- RFC2616 says "The URI MUST
     NOT include a fragment." (section 14.36) -->
@@ -19246,8 +19270,8 @@
   <a href="#valid-non-empty-url-potentially-surrounded-by-spaces">valid non-empty URL potentially surrounded by
   spaces</a>.<p>The <dfn id="attr-iframe-srcdoc" title="attr-iframe-srcdoc"><code>srcdoc</code></dfn>
   attribute gives the content of the page that the <a href="#nested-browsing-context">nested
-  browsing context</a> is to contain.  The value of the attribute
-  in is <dfn id="an-iframe-srcdoc-document">an <code>iframe</code> <code title="attr-iframe-srcdoc">srcdoc</code> document</dfn>.<p>For <code><a href="#the-iframe-element">iframe</a></code> elements in <a href="#html-documents">HTML documents</a>,
+  browsing context</a> is to contain. The value of the attribute is
+  the source of <dfn id="an-iframe-srcdoc-document">an <code>iframe</code> <code title="attr-iframe-srcdoc">srcdoc</code> document</dfn>.<p>For <code><a href="#the-iframe-element">iframe</a></code> elements in <a href="#html-documents">HTML documents</a>,
   the attribute, if present, must have a value using <a href="#syntax">the HTML
   syntax</a> that consists of the following syntactic components,
   in the given order:<ol><li>Any number of <a href="#syntax-comments" title="syntax-comments">comments</a> and
@@ -19280,14 +19304,14 @@
   first time.</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 or changed,
-  the user agent must <a href="#process-the-iframe-attributes">process the <code>iframe</code>
+  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>
   attributes</a>.</p>
 
   <p>Similarly, whenever an <code><a href="#the-iframe-element">iframe</a></code> element with a
   <a href="#nested-browsing-context">nested browsing context</a> but with no <code title="attr-iframe-srcdoc"><a href="#attr-iframe-srcdoc">srcdoc</a></code> attribute specified has its
-  <code title="attr-iframe-src"><a href="#attr-iframe-src">src</a></code> attribute set or changed,
-  the user agent must <a href="#process-the-iframe-attributes">process the <code>iframe</code>
+  <code title="attr-iframe-src"><a href="#attr-iframe-src">src</a></code> attribute set, changed, or
+  removed, the user agent must <a href="#process-the-iframe-attributes">process the <code>iframe</code>
   attributes</a>.</p> <!-- It doesn't happen when the base URL is
   changed, though. -->
 
@@ -19302,7 +19326,8 @@
    context</a> to a resource whose <a href="#content-type">Content-Type</a> is
    <code><a href="#text-html">text/html</a></code>, whose <a href="#url">URL</a> is
    <code><a href="#about:srcdoc">about:srcdoc</a></code>, and whose data consists of the value of
-   the attribute.</dd>
+   the attribute. The resulting <code><a href="#document">Document</a></code> must be
+   considered <a href="#an-iframe-srcdoc-document">an <code>iframe</code> <code title="attr-iframe-srcdoc">srcdoc</code> document</a>.</dd>
 
    <dt>If the <code title="attr-iframe-src"><a href="#attr-iframe-src">src</a></code>
    attribute is specified but the <code title="attr-iframe-srcdoc"><a href="#attr-iframe-srcdoc">srcdoc</a></code> attribute is not</dt>
@@ -43684,6 +43709,13 @@
    steps.</dd> <!-- this theoretically would have no effect but in
    practice can be useful to work around rendering bugs. -->
 
+   <dt>If the <a href="#browsing-context">browsing context</a>'s <a href="#active-document">active
+   document</a> is <a href="#an-iframe-srcdoc-document">an <code>iframe</code> <code title="attr-iframe-srcdoc">srcdoc</code> document</a></dt>
+
+   <dd><p><a href="#process-the-iframe-attributes" title="process the iframe attributes">Reprocess the
+   <code>iframe</code> attributes</a> of the <a href="#browsing-context">browsing
+   context</a>'s <a href="#browsing-context-container">browsing context container</a>.</dd>
+
    <dt>Otherwise</dt>
 
    <dd><p><a href="#navigate">Navigate</a> the <a href="#browsing-context">browsing context</a> to

Received on Saturday, 13 November 2010 00:02:40 UTC