Skip to content

Commit fb8b38b

Browse files
committed
Limit the special case in the [[Set]] algorithm to [OverrideBuiltins] interfaces
This is the case where it makes most sense, since the prototype chain can't shadow any properties. This change does not affect normal usage; it is only detectable by messing with the prototype of the object. The majority of implementations (Gecko and Chrome) already follow the proposed change; WebKit follows the existing spec. Fixes #630.
1 parent df1fc1e commit fb8b38b

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

index.bs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12534,6 +12534,7 @@ Additionally, [=legacy platform objects=] have internal methods as defined in:
1253412534
1. [=Invoke the indexed property setter=] with |P| and |V|.
1253512535
1. Return <emu-val>true</emu-val>.
1253612536
1. If |O| [=implements=] an interface with a [=named property setter=]
12537+
and the [{{OverrideBuiltins}}] [=extended attribute=],
1253712538
and <a abstract-op>Type</a>(|P|) is String, then:
1253812539
1. [=Invoke the named property setter=] with |P| and |V|.
1253912540
1. Return <emu-val>true</emu-val>.

0 commit comments

Comments
 (0)