RE: Global method calls

From: Boris Zbarsky [mailto:bzbarsky@mit.edu] 

> How is that black-box observably different from having every single Web IDL method be [ImplicitThis]?

Having thought about this for a bit, I think it is not different. If you picture the beginning of every WebIDL method as beginning with

const thisToUse = this === undefined ? window : this;
if (!brandCheck(this, <<interfaceSpecificBrandHere>>)) { throw new TypeError(); }

then all the cases except methods on Window/objects in Window's prototype chain will just fail the second line if the first line coerces undefined to window.

The only exceptions I can think of are maybe [LenientThis], and any WebIDL methods that don't happen to check branding, which I am not sure is possible.

Received on Thursday, 26 February 2015 22:35:38 UTC