html5/spec Overview.html,1.1879,1.1880

Update of /sources/public/html5/spec
In directory hutz:/tmp/cvs-serv7269

Modified Files:
	Overview.html 
Log Message:
Change the document's address when document.open() is invoked to match the _first script_'s document's address, not the address of the document of the script that invoked the method. (whatwg r2710)

Index: Overview.html
===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.1879
retrieving revision 1.1880
diff -u -d -r1.1879 -r1.1880
--- Overview.html	27 Jan 2009 02:40:02 -0000	1.1879
+++ Overview.html	27 Jan 2009 07:27:38 -0000	1.1880
@@ -6310,10 +6310,10 @@
    <li><p>Change the <a href=#document-s-character-encoding>document's character encoding</a> to
    UTF-16.</li>
 
-   <li><p>Change <a href=#the-document-s-address>the document's address</a> to the <a href=#the-document-s-address>the
-   document's address</a> of the <a href=#active-document>active document</a> of
-   the <a href=#script-s-browsing-context title="script's browsing context">browsing context</a>
-   of the <a href=#concept-script title=concept-script>script</a> that invoked the <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> method.</li>
+   <li><p>Change <a href=#the-document-s-address>the document's address</a> to the
+   <a href=#first-script>first script</a>'s <a href=#script-s-browsing-context title="script's browsing
+   context">browsing context</a>'s <a href=#active-document>active document</a>'s
+   <a href=#the-document-s-address title="the document's address">address</a>.</li>
 
    <li><p>Create a new <a href=#html-parser>HTML parser</a> and associate it with
    the document. This is a <dfn id=script-created-parser>script-created parser</dfn> (meaning
@@ -27201,9 +27201,11 @@
   be made to be the same as other members of the group, but could not
   be made the same as members of any other group. Each such group is a
   <dfn id=unit-of-related-similar-origin-browsing-contexts>unit of related similar-origin browsing contexts</dfn>.<p>Each <a href=#unit-of-related-similar-origin-browsing-contexts>unit of related similar-origin browsing
-  contexts</a> has a <dfn id=current-script-base-url>current script base URL</dfn> which is
-  used to <a href=#resolve-a-url title="resolve a url">resolve</a> relative <a href=#url title=URL>URLs</a> used in scripts running in that <a href=#unit-of-related-similar-origin-browsing-contexts>unit
-  of related similar-origin browsing contexts</a>.<h4 id=browsing-context-names><span class=secno>5.1.6 </span>Browsing context names</h4><p>Browsing contexts can have a <dfn id=browsing-context-name>browsing context name</dfn>. By
+  contexts</a> can have a <dfn id=first-script>first script</dfn> which is used to
+  obtain, amongst other things, the <a href=#script-s-base-url>script's base URL</a> to
+  <a href=#resolve-a-url title="resolve a url">resolve</a> relative <a href=#url title=URL>URLs</a> used in scripts running in that <a href=#unit-of-related-similar-origin-browsing-contexts>unit
+  of related similar-origin browsing contexts</a>. Initially there
+  is no <a href=#first-script>first script</a>.<h4 id=browsing-context-names><span class=secno>5.1.6 </span>Browsing context names</h4><p>Browsing contexts can have a <dfn id=browsing-context-name>browsing context name</dfn>. By
   default, a browsing context has no name (its name is not set).<p>A <dfn id=valid-browsing-context-name>valid browsing context name</dfn> is any string with at
   least one character that does not start with a U+005F LOW LINE
   character. (Names starting with an underscore are reserved for
@@ -27426,8 +27428,9 @@
   context. If no arguments are provided, or if the first argument is
   the empty string, then the <var title="">url</var> argument defaults
   to "<code><a href=#about:blank>about:blank</a></code>". The argument must be <a href=#resolve-a-url title="resolve a url">resolved</a> to an <a href=#absolute-url>absolute
-  URL</a> (or an error), relative to the <a href=#current-script-base-url>current script base
-  URL</a>, when the method is invoked.<p>The second argument, <var title="">target</var>, specifies the
+  URL</a> (or an error), relative to the <a href=#first-script>first
+  script</a>'s <a href=#script-s-base-url title="script's base URL">base URL</a>,
+  when the method is invoked.<p>The second argument, <var title="">target</var>, specifies the
   <a href=#browsing-context-name title="browsing context name">name</a> of the browsing
   context that is to be navigated. It must be a <a href=#valid-browsing-context-name-or-keyword>valid browsing
   context name or keyword</a>. If fewer than two arguments are
@@ -28202,16 +28205,17 @@
 
    </li>
 
-   <li><p>If the <a href=#current-script-base-url>current script base URL</a> has no value,
-   then set it to the <a href=#script-s-base-url>script's base URL</a>.</li>
+   <li><p>If this algorithm was <em>not</em> invoked by one script
+   calling another, then set the <a href=#first-script>first script</a> to be the
+   <a href=#concept-script title=concept-script>script</a> being invoked.</li>
 
    <li><p>Make the <a href=#script-execution-environment title="script execution environment">script
    execution environment</a> for the <a href=#concept-script title=concept-script>script</a> execute the code for the given
    code entry-point.</li>
 
-   <li><p>If the <a href=#current-script-base-url>current script base URL</a> was set in the
-   earlier step for this invocation of the algorithm, then set it back
-   to having no value.</li>
+   <li><p>If this algorithm was <em>not</em> invoked by one script
+   calling another, then set the <a href=#first-script>first script</a> back to
+   whatever it was when this algorithm started.</li>
 
   </ol><p class=note>In particular, this means that scripts in a
   <i>frozen</i> <a href=#script-group>script group</a> can keep on executing so
@@ -29093,8 +29097,8 @@
   title="">features</var>-->)</code></dfn> method, when invoked, must
   cause the user agent to run the following steps:<ol><li>
 
-    <p><a href=#resolve-a-url title="resolve a url">Resolve</a> <var title="">url</var> relative to the <a href=#current-script-base-url>current script base
-    URL</a>.</p>
+    <p><a href=#resolve-a-url title="resolve a url">Resolve</a> <var title="">url</var> relative to the <a href=#first-script>first script</a>'s
+    <a href=#script-s-base-url title="script's base URL">base URL</a>.</p>
 
     <p>If this fails, then throw a <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception
     and abort these steps.</p>
@@ -29576,8 +29580,8 @@
     occurrence of the exact literal string "<code title="">%s</code>"
     with an escaped version of the <a href=#absolute-url>absolute URL</a> of the
     content in question (as defined below), then <a href=#resolve-a-url title="resolve
-    a url">resolve</a> the resulting URL, relative to the
-    <a href=#current-script-base-url>current script base URL</a> at the time the <code title=dom-navigator-registerContentHandler><a href=#dom-navigator-registercontenthandler>registerContentHandler()</a></code>
+    a url">resolve</a> the resulting URL, relative to the <a href=#script-s-base-url title="script's base URL">base URL</a> of the <a href=#first-script>first
+    script</a> at the time the <code title=dom-navigator-registerContentHandler><a href=#dom-navigator-registercontenthandler>registerContentHandler()</a></code>
     or <code title=dom-navigator-registerProtocolHandler><a href=#dom-navigator-registerprotocolhandler>registerProtocolHandler()</a></code>
     methods were invoked, and then <a href=#fetch>fetch</a> the resulting
     URL using the GET method (<a href=#concept-http-equivalent-get title=concept-http-equivalent-get>or equivalent</a> for
@@ -29631,8 +29635,9 @@
   Web browser would likely cause an exception to be raised.<p>User agents must raise a <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception if the
   <var title="">url</var> argument passed to one of these methods does
   not contain the exact literal string "<code>%s</code>", or if <a href=#resolve-a-url title="resolve a url">resolving</a> the <var title="">url</var>
-  argument with the first occurance of the string "<code title="">%s</code>" removed, relative to the <a href=#current-script-base-url>current script
-  base URL</a>, is not successful.<p>User agents must not raise any other exceptions (other than
+  argument with the first occurance of the string "<code title="">%s</code>" removed, relative to the <a href=#first-script>first
+  script</a>'s <a href=#script-s-base-url title="script's base URL">base URL</a>, is
+  not successful.<p>User agents must not raise any other exceptions (other than
   binding-specific exceptions, such as for an incorrect number of
   arguments in an ECMAScript implementation).<p>This section does not define how the pages registered by these
   methods are used, beyond the requirements on how to process the <var title="">url</var> value (see above). To some extent, the <a href=#navigate title=navigate>processing model for navigating across
@@ -31241,8 +31246,7 @@
     <p>If a third argument is specified, run these substeps:</p>
 
     <ol><li><a href=#resolve-a-url title="resolve a url">Resolve</a> the value of the
-     third argument, relative to the <a href=#current-script-base-url>current script base
-     URL</a>.</li>
+     third argument, relative to the <a href=#first-script>first script</a>'s <a href=#script-s-base-url title="script's base URL">base URL</a>.</li>
 
      <li>If that fails, raise a <code><a href=#security_err>SECURITY_ERR</a></code> exception and
      abort the <code title=dom-history-pushState><a href=#dom-history-pushstate>pushState()</a></code>
@@ -31385,18 +31389,17 @@
   the magic location setter above simply refer straight to assign() as
   well, so we don't have two levels of indirection --><p>When the <dfn id=dom-location-assign title=dom-location-assign><code>assign(<var title="">url</var>)</code></dfn> method is invoked, the UA must
   <a href=#resolve-a-url title="resolve a url">resolve</a> the argument, relative to
-  the <a href=#current-script-base-url>current script base URL</a>, and if that is successful,
-  must <a href=#navigate>navigate</a> the <a href=#browsing-context>browsing context</a> to the
-  specified <var title="">url</var>.</p><!-- XXX browsers seem to
-  treat this as having <span>replacement enabled</span> if the
-  browsing context has only one entry and that entry is about:blank.
-  IE and Firefox only seem to treat it that way if the DOM is still a
-  virgin DOM; Safari doesn't check that. --><p>When the <dfn id=dom-location-replace title=dom-location-replace><code>replace(<var title="">url</var>)</code></dfn> method is invoked, the UA must
+  the <a href=#first-script>first script</a>'s <a href=#script-s-base-url title="script's base URL">base
+  URL</a>, and if that is successful, must <a href=#navigate>navigate</a>
+  the <a href=#browsing-context>browsing context</a> to the specified <var title="">url</var>.</p><!-- XXX browsers seem to treat this as
+  having <span>replacement enabled</span> if the browsing context has
+  only one entry and that entry is about:blank.  IE and Firefox only
+  seem to treat it that way if the DOM is still a virgin DOM; Safari
+  doesn't check that. --><p>When the <dfn id=dom-location-replace title=dom-location-replace><code>replace(<var title="">url</var>)</code></dfn> method is invoked, the UA must
   <a href=#resolve-a-url title="resolve a url">resolve</a> the argument, relative to
-  the <a href=#current-script-base-url>current script base URL</a>, and if that is successful,
-  <a href=#navigate>navigate</a> the <a href=#browsing-context>browsing context</a> to the
-  specified <var title="">url</var> with <a href=#replacement-enabled>replacement
-  enabled</a>.<p>Navigation for the <code title=dom-location-assign><a href=#dom-location-assign>assign()</a></code> and <code title=dom-location-replace><a href=#dom-location-replace>replace()</a></code> methods must be done
+  the <a href=#first-script>first script</a>'s <a href=#script-s-base-url title="script's base URL">base
+  URL</a>, and if that is successful, <a href=#navigate>navigate</a> the
+  <a href=#browsing-context>browsing context</a> to the specified <var title="">url</var> with <a href=#replacement-enabled>replacement enabled</a>.<p>Navigation for the <code title=dom-location-assign><a href=#dom-location-assign>assign()</a></code> and <code title=dom-location-replace><a href=#dom-location-replace>replace()</a></code> methods must be done
   with the <a href=#script-s-browsing-context title="script's browsing context">browsing
   context</a> of the script that invoked the method as the
   <a href=#source-browsing-context>source browsing context</a>.<p>If the <a href=#resolve-a-url title="resolve a url">resolving</a> step of the
@@ -31422,9 +31425,10 @@
   being the same as setting the <code title=dom-location-href><a href=#dom-location-href>href</a></code> attribute to the new output
   value.</p><hr><p>The <dfn id=dom-location-resolveurl title=dom-location-resolveURL><code>resolveURL(<var title="">url</var>)</code></dfn> method must <a href=#resolve-a-url title="resolve a
   url">resolve</a> its <var title="">url</var> argument, relative
-  to the <a href=#current-script-base-url>current script base URL</a>, and if that succeeds,
-  return the resulting <a href=#absolute-url>absolute URL</a>. If it fails, it must
-  throw a <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception instead.<h5 id=security-3><span class=secno>5.8.4.1 </span>Security</h5><p>User agents must raise a <code><a href=#security_err>SECURITY_ERR</a></code> exception whenever
+  to the <a href=#first-script>first script</a>'s <a href=#script-s-base-url title="script's base
+  URL">base URL</a>, and if that succeeds, return the resulting
+  <a href=#absolute-url>absolute URL</a>. If it fails, it must throw a
+  <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception instead.<h5 id=security-3><span class=secno>5.8.4.1 </span>Security</h5><p>User agents must raise a <code><a href=#security_err>SECURITY_ERR</a></code> exception whenever
   any of the members of a <code><a href=#location>Location</a></code> object are accessed by
   scripts whose <a href=#effective-script-origin>effective script origin</a> is not the <a href=#same-origin title="same origin">same</a> as the <code><a href=#location>Location</a></code>
   object's associated <code>Document</code>'s <a href=#effective-script-origin>effective script
@@ -35715,19 +35719,21 @@
   void <a href=#dom-remoteeventtarget-removeeventsource title=dom-RemoteEventTarget-removeEventSource>removeEventSource</a>(in DOMString src);
 };</pre><p>When the <dfn id=dom-remoteeventtarget-addeventsource title=dom-RemoteEventTarget-addEventSource><code>addEventSource(<var title="">src</var>)</code></dfn> method is invoked, the user agent
   must <a href=#resolve-a-url title="resolve a url">resolve</a> the <a href=#url>URL</a>
-  specified in <var title="">src</var>, relative to the <a href=#current-script-base-url>current
-  script base URL</a>, and if that succeeds, add the resulting
-  <a href=#absolute-url>absolute URL</a> to the <a href=#concept-eventsource-list title=concept-eventsource-list>list of event sources</a> for
-  that object. The same URL can be registered multiple times. If the
-  URL fails to resolve, then the user agent must raise a
+  specified in <var title="">src</var>, relative to the <a href=#first-script>first
+  script</a>'s <a href=#script-s-base-url title="script's base URL">base URL</a>, and
+  if that succeeds, add the resulting <a href=#absolute-url>absolute URL</a> to the
+  <a href=#concept-eventsource-list title=concept-eventsource-list>list of event sources</a>
+  for that object. The same URL can be registered multiple times. If
+  the URL fails to resolve, then the user agent must raise a
   <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception.<p>When the <dfn id=dom-remoteeventtarget-removeeventsource title=dom-RemoteEventTarget-removeEventSource><code>removeEventSource(<var title="">src</var>)</code></dfn> method is invoked, the user agent
   must <a href=#resolve-a-url title="resolve a url">resolve</a> the <a href=#url>URL</a>
-  specified in <var title="">src</var>, relative to the <a href=#current-script-base-url>current
-  script base URL</a>, and if that succeeds, remove the resulting
-  <a href=#absolute-url>absolute URL</a> from the <a href=#concept-eventsource-list title=concept-eventsource-list>list of event sources</a> for
-  that object. If the same URL has been registered multiple times,
-  removing it must remove only one instance of that URL for each
-  invocation of the <code title=removeEventSource>removeEventSource()</code> method. If the
+  specified in <var title="">src</var>, relative to the <a href=#first-script>first
+  script</a>'s <a href=#script-s-base-url title="script's base URL">base URL</a>, and
+  if that succeeds, remove the resulting <a href=#absolute-url>absolute URL</a>
+  from the <a href=#concept-eventsource-list title=concept-eventsource-list>list of event
+  sources</a> for that object. If the same URL has been registered
+  multiple times, removing it must remove only one instance of that
+  URL for each invocation of the <code title=removeEventSource>removeEventSource()</code> method. If the
   URL fails to resolve, the user agent does nothing.<h4 id=connecting-to-an-event-stream><span class=secno>7.2.2 </span>Connecting to an event stream</h4><p>Each object implementing the <code>EventTarget</code> and
   <code><a href=#remoteeventtarget>RemoteEventTarget</a></code> interfaces has a <dfn id=concept-eventsource-list title=concept-eventsource-list>list of event sources</dfn> that
   are registered for that object.<p>When a new <a href=#absolute-url>absolute URL</a> is added to this list, the
@@ -36898,11 +36904,12 @@
 
     <p>If the value of the <var title="">targetOrigin</var> argument
     is not a single U+002A ASTERISK character ("*"), and <a href=#resolve-a-url title="resolve a url">resolving</a> it relative to the
-    <a href=#current-script-base-url>current script base URL</a> either fails or results in a
-    <a href=#url>URL</a> with a <code title=url-host-specific><a href=#url-host-specific>&lt;host-specific&gt;</a></code> component
-    that is neither empty nor a single U+002F SOLIDUS character (/),
-    then throw a <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception and abort the
-    overall set of steps.</p>
+    <a href=#first-script>first script</a>'s <a href=#script-s-base-url title="script's base URL">base
+    URL</a> either fails or results in a <a href=#url>URL</a> with a
+    <code title=url-host-specific><a href=#url-host-specific>&lt;host-specific&gt;</a></code>
+    component that is neither empty nor a single U+002F SOLIDUS
+    character (/), then throw a <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception and
+    abort the overall set of steps.</p>
 
    </li>
 
@@ -36969,11 +36976,12 @@
 
     <p>If the value of the <var title="">targetOrigin</var> argument
     is not a single U+002A ASTERISK character ("*"), and <a href=#resolve-a-url title="resolve a url">resolving</a> it relative to the
-    <a href=#current-script-base-url>current script base URL</a> either fails or results in a
-    <a href=#url>URL</a> with a <code title=url-host-specific><a href=#url-host-specific>&lt;host-specific&gt;</a></code> component
-    that is neither empty nor a single U+002F SOLIDUS character (/),
-    then throw a <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception and abort the
-    overall set of steps.</p>
+    <a href=#first-script>first script</a>'s <a href=#script-s-base-url title="script's base URL">base
+    URL</a> either fails or results in a <a href=#url>URL</a> with a
+    <code title=url-host-specific><a href=#url-host-specific>&lt;host-specific&gt;</a></code>
+    component that is neither empty nor a single U+002F SOLIDUS
+    character (/), then throw a <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception and
+    abort the overall set of steps.</p>
 
    </li>
 

Received on Tuesday, 27 January 2009 07:27:50 UTC