Skip to content

Commit 233d984

Browse files
authored
Check for transferable detachedness after serializing
Since serializing can make a transferable detached, it seems better to throw for that later. See https://bugs.chromium.org/p/chromium/issues/detail?id=816447 for more context. Tests: web-platform-tests/wpt#9672.
1 parent 3d2719a commit 233d984

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

source

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8808,13 +8808,8 @@ o.myself = o;</pre>
88088808
<span>[[Detached]]</span> internal slot, then throw a
88098809
<span>"<code>DataCloneError</code>"</span> <code>DOMException</code>.</p></li>
88108810

8811-
<li><p>If <var>transferable</var> has an [[ArrayBufferData]] internal slot and either !
8812-
<span>IsSharedArrayBuffer</span>(<var>transferable</var>) is true or !
8813-
<span>IsDetachedBuffer</span>(<var>transferable</var>) is true, then throw a
8814-
<span>"<code>DataCloneError</code>"</span> <code>DOMException</code>.</p></li>
8815-
8816-
<li><p>If <var>transferable</var> has a <span>[[Detached]]</span> internal slot and
8817-
<var>transferable</var>.<span>[[Detached]]</span> is true, then throw a
8811+
<li><p>If <var>transferable</var> has an [[ArrayBufferData]] internal slot and !
8812+
<span>IsSharedArrayBuffer</span>(<var>transferable</var>) is true, then throw a
88188813
<span>"<code>DataCloneError</code>"</span> <code>DOMException</code>.</p></li>
88198814

88208815
<li><p>If <var>memory</var>[<var>transferable</var>] <span data-x="map exists">exists</span>,
@@ -8841,6 +8836,14 @@ o.myself = o;</pre>
88418836
<var>transferList</var>:</p>
88428837

88438838
<ol>
8839+
<li><p>If <var>transferable</var> has an [[ArrayBufferData]] internal slot and !
8840+
<span>IsDetachedBuffer</span>(<var>transferable</var>) is true, then throw a
8841+
<span>"<code>DataCloneError</code>"</span> <code>DOMException</code>.</p></li>
8842+
8843+
<li><p>If <var>transferable</var> has a <span>[[Detached]]</span> internal slot and
8844+
<var>transferable</var>.<span>[[Detached]]</span> is true, then throw a
8845+
<span>"<code>DataCloneError</code>"</span> <code>DOMException</code>.</p></li>
8846+
88448847
<li><p>Let <var>dataHolder</var> be <var>memory</var>[<var>transferable</var>].</p></li>
88458848

88468849
<li>
@@ -121000,6 +121003,7 @@ INSERT INTERFACES HERE
121000121003
Jeremey Hustman,
121001121004
Jeremy Keith,
121002121005
Jeremy Orlow,
121006+
Jeremy Roman,
121003121007
Jeroen van der Meer,
121004121008
Jerry Smith,
121005121009
Jesse Ren&eacute;e Beach,

0 commit comments

Comments
 (0)