Le 14/12/2012 08:25, Brendan Eich a écrit :
Mark S. Miller wrote:
On Thu, Dec 13, 2012 at 7:05 PM, Brendan
Eich<bren...@secure.meer.net> wrote:
Boris Zbarsky pointed out on public-script-coord that
window.location and
window.document must be non-configurable _ab initio_, but perhaps
this is
achievable with direct proxies?
This resolved into two suggestions, both consistent with ES5 and with
direct proxies:
* windows.document and window.location must refuse to be configured,
but they can still claim to be configurable. ES5 purposely forbids
only the opposite mismatch: They can't claim to be non-configurable
but still change state in ways that violate that claim.
* Allen suggested that these could be non-configurable getter-only
accessor properties,
To be more specific, [Unforgeable] properties would be described by
non-configurable getter-only properties.
window.location can be set by assignment to navigate to a new URL.
location is [Unforgeable, PutForward], so it should be reflected as a
non-configurable getter+setter according to WebIDL.
Yet it appears in Chrome, Firefox, Opera, and Safari to be a writable
data property.
oh, web browsers and standards...
There is indeed a pretty violent mismatch between WebIDL and reality, I
guess. Specifically because of the behavior you're describing (assigning
window.location having a behavior), location ought to be an accessor.
What was the rationale that motivated all these browsers to go for data
property? Is it still time to change this behavior?
David
In any event, it can't be a getter-only accessor.
/be
where the getter stays the same and the magic
"switching" behavior is in the getter. (My words for Allen's
suggestion)
Either is fine. I like Allen's better.
--
Cheers,
--MarkM
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss