- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Thu, 16 Aug 2012 02:24:09 -0400
- To: Brendan Eich <brendan@mozilla.com>
- CC: Travis Leithead <travis.leithead@microsoft.com>, Brandon Benvie <brandon@brandonbenvie.com>, "public-script-coord@w3.org" <public-script-coord@w3.org>, "es-discuss@mozilla.org" <es-discuss@mozilla.org>
On 8/15/12 5:08 PM, Brendan Eich wrote: > Usually window.[standardized property name] is last -- this matters below. I don't see how it matters at all, actually. >> Firefox is affected by this problem (e.g., the result of the var >> declaration is undefined) >> Chrome is not affected by this problem because their var creation >> algorithm checks the prototype chain for an existing property name > > No, Chrome is not affected because their IDL bindings put inherited > attributes on the global object as "own" accessors. It's not affected for both reasons, at least in the last version of Chrome I tested. > That's true, but see above point about order of || terms. Again, the order of the || terms doesn't matter. "X || undefined" and "undefined || X" both evaluate to X as long as X is not falsy. > No. Rather, the erratum at > https://bugs.ecmascript.org/show_bug.cgi?id=78 was already fixed by > Mozilla, Google, Opera, and I believe IE and Apple. It's not fixed by Apple as of the 2012-08-06 WebKit nightly. It does seem to be fixed in Chrome dev (22.0.1229.6). It's not fixed in Chrome beta (21.0.1180.79). We'll see if and when the fix makes it to a final release, but in the meantime what's out there in users' hands right now does not have the fix. > Also, WebIDL-reliant spec authors must be careful not to define get-only > accessors (readonly attributes) on the global object or interfaces from > which it inherits. This leads to the idea that the global object > defaults to [Replaceable] (which may be removed from WebIDL as explicit > qualifier syntax) and [Unforgeable] must be used selectively for some > few historic exceptions. Note that there is a middle ground between [Replaceable] and [Unforgeable], which is where most props on the global live right now.... I suspect for web compat we may want to default all future stuff to being [Replaceable] but grandfather in the existing non-replaceable things. -Boris
Received on Thursday, 16 August 2012 06:24:39 UTC