From 67cf388bd72dcaea1b10c8e7b35f254f9eee00c2 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Mon, 15 Apr 2019 16:20:18 +0200 Subject: [PATCH] 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. --- index.bs | 1 + 1 file changed, 1 insertion(+) diff --git a/index.bs b/index.bs index 5aba1f92..47fb07ef 100644 --- a/index.bs +++ b/index.bs @@ -12534,6 +12534,7 @@ Additionally, [=legacy platform objects=] have internal methods as defined in: 1. [=Invoke the indexed property setter=] with |P| and |V|. 1. Return true. 1. If |O| [=implements=] an interface with a [=named property setter=] + and the [{{OverrideBuiltins}}] [=extended attribute=], and Type(|P|) is String, then: 1. [=Invoke the named property setter=] with |P| and |V|. 1. Return true.