Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 22 additions & 5 deletions source
Original file line number Diff line number Diff line change
Expand Up @@ -3123,6 +3123,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
<li>The <dfn data-x="js-HostMakeJobCallback" data-x-href="https://tc39.es/ecma262/#sec-hostmakejobcallback">HostMakeJobCallback</dfn> abstract operation</li>
<li>The <dfn data-x="js-HostPromiseRejectionTracker" data-x-href="https://tc39.es/ecma262/#sec-host-promise-rejection-tracker">HostPromiseRejectionTracker</dfn> abstract operation</li>
<li>The <dfn data-x="js-InitializeHostDefinedRealm" data-x-href="https://tc39.es/ecma262/#sec-initializehostdefinedrealm">InitializeHostDefinedRealm</dfn> abstract operation</li>
<li>The <dfn data-x-href="https://tc39.es/ecma262/#sec-isarray">IsArray</dfn> abstract operation</li>
<li>The <dfn data-x-href="https://tc39.es/ecma262/#sec-isarraybufferviewoutofbounds">IsArrayBufferViewOutOfBounds</dfn> abstract operation</li>
<li>The <dfn data-x-href="https://tc39.es/ecma262/#sec-isaccessordescriptor">IsAccessorDescriptor</dfn> abstract operation</li>
<li>The <dfn data-x-href="https://tc39.es/ecma262/#sec-iscallable">IsCallable</dfn> abstract operation</li>
Expand Down Expand Up @@ -10436,8 +10437,7 @@ interface <dfn interface>DOMStringList</dfn> {
</li>

<li>
<p>Otherwise, if <var>value</var> is an Array exotic object, then:</p>
<!-- IsArray supports proxies too, which we cannot -->
<p>Otherwise, if ? <span>IsArray</span>(<var>value</var>) is true, then:</p>

<ol>
<li><p>Let <var>valueLenDescriptor</var> be ?
Expand All @@ -10452,6 +10452,23 @@ interface <dfn interface>DOMStringList</dfn> {
</ol>
</li>

<li>
<p>Otherwise, if <var>value</var> is a Proxy exotic object, then:</p>

<ol>
<li>If <span>IsCallable</span>(<var>value</var>) is true, then throw a <span>"
<code>DataCloneError</code>"</span> <code>DOMException</code>.</li>

<li><p>Set <var>serialized</var> to { [[Type]]: "Object", [[Properties]]: a new empty <span
data-x="js-List">List</span> }.</p></li>

<li><p>Set <var>deep</var> to true.</p></li>

</ol>
<p class="note">Proxy exotic objects that are not proxies for Arrays or functions are handled
as if they were ordinary objects. After deserialization the result will be an ordinary object.
</li>

<li>
<p>Otherwise, if <var>value</var> is a <span>platform object</span> that is a <span
data-x="serializable objects">serializable object</span>:</p>
Expand Down Expand Up @@ -10488,7 +10505,7 @@ interface <dfn interface>DOMStringList</dfn> {
<span>%Object.prototype%</span> intrinsic object associated with any <span>realm</span>, then
throw a <span>"<code>DataCloneError</code>"</span> <code>DOMException</code>.</p>

<p class="example">For instance, a proxy object.</p>
<p class="example">For instance, a module namespace object.</p>
</li>

<li>
Expand Down Expand Up @@ -10597,12 +10614,12 @@ interface <dfn interface>DOMStringList</dfn> {
</li>

<li>
<p>Otherwise, for each <var>key</var> in !
<p>Otherwise, for each <var>key</var> in ?
<span>EnumerableOwnProperties</span>(<var>value</var>, key):</p>

<ol>
<li>
<p>If ! <span>HasOwnProperty</span>(<var>value</var>, <var>key</var>) is true, then:</p>
<p>If ? <span>HasOwnProperty</span>(<var>value</var>, <var>key</var>) is true, then:</p>

<ol>
<li><p>Let <var>inputValue</var> be ? <var>value</var>.[[Get]](<var>key</var>,
Expand Down
Loading