hixie: Update references from ES3 to ES5. (whatwg r4567)

hixie: Update references from ES3 to ES5. (whatwg r4567)

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.3646&r2=1.3647&f=h
http://html5.org/tools/web-apps-tracker?from=4566&to=4567

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.3646
retrieving revision 1.3647
diff -u -d -r1.3646 -r1.3647
--- Overview.html 11 Jan 2010 04:48:37 -0000 1.3646
+++ Overview.html 11 Jan 2010 06:47:52 -0000 1.3647
@@ -28713,7 +28713,7 @@
   attribute is specified and the attribute's value, when compiled as a
   JavaScript regular expression with the <code title="">global</code>,
   <code title="">ignoreCase</code>, and <code title="">multiline</code> flags <em>disabled</em> (see ECMA262
-  Edition 3, sections 15.10.7.2 through 15.10.7.4), compiles
+  Edition 5, sections 15.10.7.2 through 15.10.7.4), compiles
   successfully but the resulting regular expression does not match the
   entirety of the element's <a href="#concept-fe-value" title="concept-fe-value">value</a>, then the element is
   <a href="#suffering-from-a-pattern-mismatch">suffering from a pattern mismatch</a>. <a href="#refsECMA262">[ECMA262]</a></p>
@@ -34153,13 +34153,13 @@
   </ul>
 
   <p>Where the above requirements say that a value is to be a string,
-  the user agent must apply the ToString() conversion operator to the
+  the user agent must apply the ToString() abstract operation to the
   value, assume that the value was indeed a string, and use the result
   in the rest of the algorithm as if it had that had been the value
   passed to the method. <a href="#refsECMA262">[ECMA262]</a></p>
 
   <p>Where the above requirements say that a value is to be a number,
-  the user agent must first apply the ToNumber() conversion operator
+  the user agent must first apply the ToNumber() abstract operation
   to the value, and then verify that the result is neither an Infinity
   value nor a Not-a-Number (NaN) value. If this result is indeed
   acceptable (i.e. finite), the user agent must use the result in the
@@ -34167,14 +34167,14 @@
   the method. <a href="#refsECMA262">[ECMA262]</a></p>
 
   <p>Where the above requirements say that a value is to be an
-  integer, the user agent must first apply the ToNumber() conversion
-  operator to the value, and then verify that the result is a finite
+  integer, the user agent must first apply the ToNumber() abstract
+  operation to the value, and then verify that the result is a finite
   integer. If so, the user agent must use the result in the rest of
   the algorithm as if it had that had been the value passed to the
   method. <a href="#refsECMA262">[ECMA262]</a></p>
 
   <p>Where the above requirements say that a value is to be a boolean,
-  the user agent must apply the ToBoolean() conversion operator to the
+  the user agent must apply the ToBoolean() abstract operation to the
   value, assume that the value was indeed a boolean, and use the
   result in the rest of the algorithm as if it had that had been the
   value passed to the method. <a href="#refsECMA262">[ECMA262]</a></p>
@@ -34264,7 +34264,7 @@
     steps.</p>
 
     <p>To check if a value is an integer, the user agent must first
-    apply the ToNumber() conversion operator to the value, and then
+    apply the ToNumber() abstract operation to the value, and then
     verify that the result is a finite integer. If so, the user agent
     must use the result in the rest of the algorithm as if it had that
     had been the value passed to the method. <a
@@ -38979,15 +38979,19 @@
     environment.</p>
 
     <p>If the <a href="#script-s-global-object">script's global object</a> is a
-    <code><a href="#window">Window</a></code> object, then in JavaScript, the <code title="">this</code> keyword in the global scope must return the
-    <code><a href="#window">Window</a></code> object's <code><a href="#windowproxy">WindowProxy</a></code> object.</p>
+    <code><a href="#window">Window</a></code> object, then in JavaScript, the ThisBinding of
+    the global execution context for this script must be the
+    <code><a href="#window">Window</a></code> object's <code><a href="#windowproxy">WindowProxy</a></code> object,
+    rather than the global object. <a href="#refsECMA262">[ECMA262]</a></p>
 
     <p class="note">This is a <a href="#willful-violation">willful violation</a> of the
     JavaScript specification current at the time of writing
-    (ECMAScript edition 3). The JavaScript specification requires that
-    the <code title="">this</code> keyword in the global scope return
-    the global object, but this is not compatible with the security
-    design prevalent in implementations as specified herein. <a href="#refsECMA262">[ECMA262]</a></p>
+    (ECMAScript edition 5, as defined in section 10.4.1.1 Initial
+    Global Execution Context, step 3). The JavaScript specification
+    requires that the <code title="">this</code> keyword in the global
+    scope return the global object, but this is not compatible with
+    the security design prevalent in implementations as specified
+    herein. <a href="#refsECMA262">[ECMA262]</a></p>
 
    </dd>
 
@@ -39552,42 +39556,66 @@
   contain valid JavaScript code matching the <code title="">FunctionBody</code> production. <a href="#refsECMA262">[ECMA262]</a><div class="impl">
 
   <!-- SCRIPT EXEC -->
-  <p>When an event handler content attribute is set, if the element is
-  owned by a <code>Document</code> that is in a <a href="#browsing-context">browsing
-  context</a>, and <a href="#concept-bc-script" title="concept-bc-script">scripting is
-  enabled</a> for that <a href="#browsing-context">browsing context</a>, the user
-  agent must run the following steps to create a <a href="#concept-script" title="concept-script">script</a> after setting the content
-  attribute to its new value:</p>
+  <p>When an <span>event handler content attribute</span> is set, if
+  the element is owned by a <code>Document</code> that is in a
+  <a href="#browsing-context">browsing context</a>, and <a href="#concept-bc-script" title="concept-bc-script">scripting is enabled</a> for that
+  <a href="#browsing-context">browsing context</a>, the user agent must run the following
+  steps to create a <a href="#concept-script" title="concept-script">script</a> after
+  setting the content attribute to its new value:</p>
 
   <ol><li><p>Set up a <a href="#script-execution-environment">script execution environment</a> for
    JavaScript.</li>
 
    <li>
 
-    <p>Using this script execution environment, interpret the
-    attribute's new value as the body of an anonymous function, with
-    the function's arguments set as follows:</p>
+    <p>Using this script execution environment, create a function
+    object (as defined in ECMAScript edition 5 section 13.2 Creating
+    Function Objects), with:</p>
 
-    <dl class="switch"><dt>If the attribute is the <code title="handler-window-onerror"><a href="#handler-window-onerror">onerror</a></code> attribute of the
-     <code><a href="#window">Window</a></code> object</dt>
+    <dl><dt>Parameter list <var title="">FormalParameterList</var></dt>
 
-     <dd>Let the function have three arguments, named <code title="">event</code>, <code title="">source</code>, and <code title="">fileno</code>.</dd>
+     <dd>
 
-     <dt>Otherwise</dt>
+      <dl class="switch"><dt>If the attribute is the <code title="handler-window-onerror"><a href="#handler-window-onerror">onerror</a></code> attribute of the
+       <code><a href="#window">Window</a></code> object</dt>
 
-     <dd>Let the function have a single argument called <code title="">event</code>.</dd>
+       <dd>Let the function have three arguments, named <code title="">event</code>, <code title="">source</code>, and <code title="">fileno</code>.</dd>
 
-    </dl><p>Link the new function's scope chain from the activation object
-    of the handler, to the element's object, to the element's
-    <a href="#form-owner">form owner</a>, if it has one, to the element's
-    <code>Document</code> object, to the <code><a href="#window">Window</a></code> object of
-    that <code>Document</code>. Set the function's <code>this</code>
-    parameter to the <code>Element</code> object representing the
-    element. Let this function be the only entry in the script's
-    <a href="#list-of-code-entry-points">list of code entry-points</a>.</p>
+       <dt>Otherwise</dt>
 
-    <p class="note">See ECMA262 Edition 3, sections 10.1.6 and 10.2.3,
-    for more details on activation objects. <a href="#refsECMA262">[ECMA262]</a></p>
+       <dd>Let the function have a single argument called <code title="">event</code>.</dd>
+
+      </dl></dd>
+
+     <dt>Function body <var title="">FunctionBody</var></dt>
+
+     <dd>The <span>event handler content attribute</span>'s new value.</dd>
+
+     <dt>Lexical Environment <var title="">Scope</var></dt>
+
+     <dd>
+
+      <ol><li>Let <var title="">Scope</var> be the result of
+       NewObjectEnvironment(the element's <code>Document</code>, the
+       <var title="">global environment</var>).</li>
+
+       <li>If the element has a <a href="#form-owner">form owner</a>, let <var title="">Scope</var> be the result of NewObjectEnvironment(the
+       element's <a href="#form-owner">form owner</a>, <var title="">Scope</var>).</li>
+
+       <li>Let <var title="">Scope</var> be the result of
+       NewObjectEnvironment(the element's object, <var title="">Scope</var>).</li>
+
+      </ol><p class="note">NewObjectEnvironment() is defined in ECMAScript
+      edition 5 section 10.2.2.3 NewObjectEnvironment (O, E). <a href="#refsECMA262">[ECMA262]</a></p>
+
+     </dd>
+
+     <dt>Boolean flag <var title="">Strict</var></dt>
+
+     <dd>False.</dd>
+
+    </dl><p>Let this new function be the only entry in the script's
+    <a href="#list-of-code-entry-points">list of code entry-points</a>.</p>
 
    </li>
 
@@ -39676,7 +39704,20 @@
   any <a href="#dom-function-call" title="dom-function-call">call</a>(in any... arguments);
 };</pre><p>The <dfn id="dom-function-call" title="dom-function-call"><code>call(...)</code></dfn>
   method is the object's callback.<p class="note">In JavaScript, any <code title="">Function</code>
-  object implements this interface.<p>The return value of the function is affects whether the event is
+  object implements this interface.<p>If the <code><a href="#function">Function</a></code> object is a JavaScript <code title="">Function</code>, then when it is invoked by the user agent,
+  the user agent must set the <var title="">thisArg</var> (as defined
+  by ECMAScript edition 5 section 10.4.3 Entering Function Code) to
+  the <a href="#event-handlers" title="event handlers">event handler</a>'s object. <a href="#refsECMA262">[ECMA262]</a><div class="example">
+
+   <p>For example, the following document fragment:</p>
+
+   <pre>&lt;body onload="alert(this)" onclick="alert(this)"&gt;</pre>
+
+   <p>...leads to an alert saying "<code title="">[object&nbsp;Window]</code>" when the document is loaded,
+   and an alert saying "<code title="">[object&nbsp;HTMLBodyElement]</code>" whenever the user
+   clicks something in the page.</p>
+
+  </div><p>The return value of the function is affects whether the event is
   canceled or not: <span class="impl">as described above,</span> if
   the return value is false, the event is canceled (except for <code class="event-mouseover">mouseover</code> events, where the return
   value has to be true to cancel the event). With <code title="event-beforeunload">beforeunload</code> events, the value is
@@ -40119,9 +40160,9 @@
 
    </li>
 
-   <li><p>Apply the ToString() conversion operator to the first
+   <li><p>Apply the ToString() abstract operation to the first
    argument to the method, and let <var title="">script source</var>
-   be the result.</li>
+   be the result. <a href="#refsECMA262">[ECMA262]</a></li>
 
    <li><p>Let <var title="">script language</var> be
    JavaScript.</li>
@@ -40168,11 +40209,11 @@
   <ol><li><p>Let <var title="">timeout</var> be the second argument to
    the method, or zero if the argument was omitted.</li>
 
-   <li><p>Apply the ToString() conversion operator to <var title="">timeout</var>, and let <var title="">timeout</var>
-   be the result.</li>
+   <li><p>Apply the ToString() abstract operation to <var title="">timeout</var>, and let <var title="">timeout</var>
+   be the result. <a href="#refsECMA262">[ECMA262]</a></li>
 
-   <li><p>Apply the ToNumber() conversion operator to <var title="">timeout</var>, and let <var title="">timeout</var> be the
-   result.</li>
+   <li><p>Apply the ToNumber() abstract operation to <var title="">timeout</var>, and let <var title="">timeout</var> be the
+   result. <a href="#refsECMA262">[ECMA262]</a></li>
 
    <li><p>If <var title="">timeout</var> is an Infinity value, a
    Not-a-Number (NaN) value, or negative, let <var title="">timeout</var> be zero.</li>
@@ -66473,7 +66514,7 @@
 
    <dt id="refsECMA262">[ECMA262]</dt>
    <dd><cite><a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ECMAScript
-   Language Specification</a></cite>. ECMA, December 1999.</dd>
+   Language Specification</a></cite>. ECMA, December 2009.</dd>
 
    <dt id="refsECMA357">[ECMA357]</dt>
    <dd>(Non-normative) <cite><a href="http://www.ecma-international.org/publications/standards/Ecma-357.htm">ECMAScript

Received on Monday, 11 January 2010 06:48:40 UTC