Skip to content

Commit

Permalink
[giow] (1) Don't bother protecting structured cloning from a getter w…
Browse files Browse the repository at this point in the history
…ith infinite regression, since we can't protect it from a non-terminating getter anyway. Reverts part of r6185.

Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=12101

git-svn-id: http://svn.whatwg.org/webapps@6434 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed Aug 12, 2011
1 parent 8791a81 commit b46656b
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 41 deletions.
19 changes: 6 additions & 13 deletions complete.html
Expand Up @@ -8822,18 +8822,14 @@ <h4 id=safe-passing-of-structured-data><span class=secno>2.8.6 </span>Safe passi
<li><p>Let <var title="">output</var> be the value resulting from
calling the <a href=#internal-structured-cloning-algorithm>internal structured cloning algorithm</a> with
<var title="">input</var> as the "<var title="">input</var>"
argument, <var title="">memory</var> as the "<var title="">memory</var>" argument, and zero as the "<var title="">depth</var>" argument.</li>
argument, and <var title="">memory</var> as the "<var title="">memory</var>" argument.</li>

<li><p>Return <var title="">output</var>.</li>

</ol><p>The <dfn id=internal-structured-cloning-algorithm>internal structured cloning algorithm</dfn> is always
called with three arguments, <var title="">input</var>, <var title="">memory</var>, and <var title="">depth</var>, and its
behavior is as follows:</p>
called with two arguments, <var title="">input</var> and <var title="">memory</var>, and its behavior is as follows:</p>

<ol><li><p>If <var title="">depth</var> is greater than 1, return null
and abort these steps.</li>

<li><p>If <var title="">input</var> is the source object of a pair
<ol><li><p>If <var title="">input</var> is the source object of a pair
of objects in <var title="">memory</var>, then return the
destination object in that pair of objects and abort these
steps.</li>
Expand Down Expand Up @@ -8938,11 +8934,8 @@ <h4 id=safe-passing-of-structured-data><span class=secno>2.8.6 </span>Safe passi
object, then, for each enumerable property in <var title="">input</var>, add a new property to <var title="">output</var> having the same name, and having a value
created from invoking the <a href=#internal-structured-cloning-algorithm>internal structured cloning
algorithm</a> recursively with the value of the property as the
"<var title="">input</var>" argument, <var title="">memory</var>
as the "<var title="">memory</var>" argument, and <span title=""><var title="">depth</var>+<var title="">newDepth</var></span> as the "<var title="">depth</var>"
argument, where <var title="">newDepth</var> is zero except if
obtaining the value of the property involved executing script, in
which case it is one (1). The order of the properties in the <var title="">input</var> and <var title="">output</var> objects must
"<var title="">input</var>" argument and <var title="">memory</var> as the "<var title="">memory</var>"
argument. The order of the properties in the <var title="">input</var> and <var title="">output</var> objects must
be the same, and any properties that involve running script must
be processed in that same order. If obtaining the value of the
property involved executing script, and that script threw an
Expand Down Expand Up @@ -37014,7 +37007,7 @@ <h6 id=text-0><span class=secno>4.8.11.1.9 </span>Text</h6> <!-- a v3 feature --
attribute's allowed keywords correspond to alignment points in the
font:</p>

<p><img alt="The top of the em square is roughly at the top of the glyphs in a font, the hanging baseline is where some glyphs like &#2310; are anchored, the middle is half-way between the top of the em square and the bottom of the em square, the alphabetic baseline is where characters like &Aacute;, &yuml;, f, and " height=300 src=http://images.whatwg.org/baselines.png width=738>x03A9; are anchored, the ideographic baseline is where glyphs like &#31169; and &#36948; are anchored, and the bottom of the em square is roughly at the bottom of the glyphs in a font. The top and bottom of the bounding box can be far from these baselines, due to glyphs extending far outside the em square."&gt;</p>
<p><img alt="The top of the em square is roughly at the top of the glyphs in a font, the hanging baseline is where some glyphs like &#2310; are anchored, the middle is half-way between the top of the em square and the bottom of the em square, the alphabetic baseline is where characters like &Aacute;, &yuml;, f, and &Omega; are anchored, the ideographic baseline is where glyphs like &#31169; and &#36948; are anchored, and the bottom of the em square is roughly at the bottom of the glyphs in a font. The top and bottom of the bounding box can be far from these baselines, due to glyphs extending far outside the em square." height=300 src=http://images.whatwg.org/baselines.png width=738></p>

<p>The keywords map to these alignment points as follows:</p>

Expand Down
17 changes: 5 additions & 12 deletions index
Expand Up @@ -8686,18 +8686,14 @@ interface <dfn id=transferable>Transferable</dfn> { };</pre>
<li><p>Let <var title="">output</var> be the value resulting from
calling the <a href=#internal-structured-cloning-algorithm>internal structured cloning algorithm</a> with
<var title="">input</var> as the "<var title="">input</var>"
argument, <var title="">memory</var> as the "<var title="">memory</var>" argument, and zero as the "<var title="">depth</var>" argument.</li>
argument, and <var title="">memory</var> as the "<var title="">memory</var>" argument.</li>

<li><p>Return <var title="">output</var>.</li>

</ol><p>The <dfn id=internal-structured-cloning-algorithm>internal structured cloning algorithm</dfn> is always
called with three arguments, <var title="">input</var>, <var title="">memory</var>, and <var title="">depth</var>, and its
behavior is as follows:</p>
called with two arguments, <var title="">input</var> and <var title="">memory</var>, and its behavior is as follows:</p>

<ol><li><p>If <var title="">depth</var> is greater than 1, return null
and abort these steps.</li>

<li><p>If <var title="">input</var> is the source object of a pair
<ol><li><p>If <var title="">input</var> is the source object of a pair
of objects in <var title="">memory</var>, then return the
destination object in that pair of objects and abort these
steps.</li>
Expand Down Expand Up @@ -8802,11 +8798,8 @@ interface <dfn id=transferable>Transferable</dfn> { };</pre>
object, then, for each enumerable property in <var title="">input</var>, add a new property to <var title="">output</var> having the same name, and having a value
created from invoking the <a href=#internal-structured-cloning-algorithm>internal structured cloning
algorithm</a> recursively with the value of the property as the
"<var title="">input</var>" argument, <var title="">memory</var>
as the "<var title="">memory</var>" argument, and <span title=""><var title="">depth</var>+<var title="">newDepth</var></span> as the "<var title="">depth</var>"
argument, where <var title="">newDepth</var> is zero except if
obtaining the value of the property involved executing script, in
which case it is one (1). The order of the properties in the <var title="">input</var> and <var title="">output</var> objects must
"<var title="">input</var>" argument and <var title="">memory</var> as the "<var title="">memory</var>"
argument. The order of the properties in the <var title="">input</var> and <var title="">output</var> objects must
be the same, and any properties that involve running script must
be processed in that same order. If obtaining the value of the
property involved executing script, and that script threw an
Expand Down
23 changes: 7 additions & 16 deletions source
Expand Up @@ -8772,24 +8772,19 @@ interface <dfn>Transferable</dfn> { };</pre>
<li><p>Let <var title="">output</var> be the value resulting from
calling the <span>internal structured cloning algorithm</span> with
<var title="">input</var> as the "<var title="">input</var>"
argument, <var title="">memory</var> as the "<var
title="">memory</var>" argument, and zero as the "<var
title="">depth</var>" argument.</p></li>
argument, and <var title="">memory</var> as the "<var
title="">memory</var>" argument.</p></li>

<li><p>Return <var title="">output</var>.</p></li>

</ol>

<p>The <dfn>internal structured cloning algorithm</dfn> is always
called with three arguments, <var title="">input</var>, <var
title="">memory</var>, and <var title="">depth</var>, and its
behavior is as follows:</p>
called with two arguments, <var title="">input</var> and <var
title="">memory</var>, and its behavior is as follows:</p>

<ol>

<li><p>If <var title="">depth</var> is greater than 1, return null
and abort these steps.</p></li>

<li><p>If <var title="">input</var> is the source object of a pair
of objects in <var title="">memory</var>, then return the
destination object in that pair of objects and abort these
Expand Down Expand Up @@ -8904,13 +8899,9 @@ interface <dfn>Transferable</dfn> { };</pre>
title="">output</var> having the same name, and having a value
created from invoking the <span>internal structured cloning
algorithm</span> recursively with the value of the property as the
"<var title="">input</var>" argument, <var title="">memory</var>
as the "<var title="">memory</var>" argument, and <span
title=""><var title="">depth</var>+<var
title="">newDepth</var></span> as the "<var title="">depth</var>"
argument, where <var title="">newDepth</var> is zero except if
obtaining the value of the property involved executing script, in
which case it is one (1). The order of the properties in the <var
"<var title="">input</var>" argument and <var
title="">memory</var> as the "<var title="">memory</var>"
argument. The order of the properties in the <var
title="">input</var> and <var title="">output</var> objects must
be the same, and any properties that involve running script must
be processed in that same order. If obtaining the value of the
Expand Down

0 comments on commit b46656b

Please sign in to comment.