Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only install @@toStringTag on the prototype #357

Merged
merged 1 commit into from
Apr 23, 2020
Merged
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
13 changes: 3 additions & 10 deletions index.bs
Original file line number Diff line number Diff line change
Expand Up @@ -7175,7 +7175,7 @@ Unless otherwise specified, the \[[Prototype]] internal slot
of objects defined in this section is {{%ObjectPrototype%}}.

Some objects described in this section are defined to have a <dfn id="dfn-class-string" export>class string</dfn>,
which is the string to include in the string returned from Object.prototype.toString.
which is the string to include in the string returned from <code>Object.prototype.toString</code>.

If an object has a [=class string=] |classString|, then the object must,
at the time it is created, have a property whose name is the {{@@toStringTag}} symbol
Expand Down Expand Up @@ -11351,8 +11351,7 @@ Issue: Define those properties imperatively instead.

</div>

The [=class string=] of an [=interface prototype object=] is the concatenation of
the [=interface=]’s [=qualified name=] and the string "<code>Prototype</code>".
The [=class string=] of an [=interface prototype object=] is the [=interface=]’s [=qualified name=].


<h4 id="named-properties-object">Named properties object</h4>
Expand Down Expand Up @@ -12241,7 +12240,7 @@ restricted to iterating over an object’s
[=support indexed properties|supported indexed properties=],
use standard ECMAScript Array iterator objects.

[=Default iterator objects=] do not have [=class strings=]; when <code
Note: [=Default iterator objects=] do not have [=class strings=]; when <code
class="idl">Object.prototype.toString()</code> is called on a [=default
iterator object=] of a given [=interface=], the [=class string=] of the
[=iterator prototype object=] of that [=interface=] is used.
Expand Down Expand Up @@ -13170,12 +13169,6 @@ updated to be the [=interface prototype object=]
of the [=primary interface=]
from the [=platform object=]’s newly associated [=Realm=].

The [=class string=] of
a platform object that implements one or more interfaces
must be the [=qualified name=] of
the [=primary interface=]
of the platform object.

Additionally, [=platform objects=] which implement an [=interface=]
which has a [{{Global}}] [=extended attribute=]
get properties declaratively from:
Expand Down