Re: [heycam/webidl] [[Set]] algorithm for legacy platform objects does not seem to be compatible with the Storage interface (#366)

That does seem like a problem, good catch.  This is relevant only for named setters, as far as I can tell, so in practice only for Storage and DOMStringMap.  Neither one has unforgeable attributes, so we're ok there, a bit by accident.

OK, so now the overridebuiltins bit.  Storage also isn't OverrideBuiltins (unlike DOMStringMap).  So say we do `Object.defineProperty(storageObj, "foo", { value: "bar" })`.  Per the letter of the spec as written right now, if the storage does NOT have a value for "foo" so far it will set the value to "bar", but if it _does_ it will fall through to OrdinaryDefineOwnProperty, which will define a normal property on the object and start shadowing the storage's value.

I wonder what current UAs actually do here with that defineProperty bit.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/issues/366#issuecomment-306301415

Received on Monday, 5 June 2017 20:45:53 UTC