- From: Ms2ger <notifications@github.com>
- Date: Fri, 11 Jan 2019 06:26:11 -0800
- To: heycam/webidl <webidl@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <heycam/webidl/issues/607@github.com>
When there's a property on `Window.prototype`, the named property visibility algorithm called on `window` will return false in step 5.1, when *prototype* is `Window.prototype`. This implies that [[GetOwnProperty]] on the named properties object will fall back to calling `OrdinaryGetOwnProperty(O, P)`, which returns undefined.
However, the browsers I tested consistently return the result of the named getter.
Consider [the following code](http://software.hixie.ch/utilities/js/live-dom-viewer/saved/6505):
```html
<!DOCTYPE html>
<span id=foo></span>
...<script>
var wp = window.__proto__;
var npo = window.__proto__.__proto__;
wp.foo = 7;
w(wp)
w(npo)
w(window.foo)
w(wp.foo)
>>>> w(npo.foo);
w("------")
var ep = npo.__proto__;
ep.bar = 7;
w(ep)
w(window.bar)
w(wp.bar)
w(npo.bar);
w(ep.bar);
</script>
```
This logs the same in Firefox, Chrome dev and Epiphany:
```
log: object "[object WindowPrototype]" (4 props: foo=7, addEventListener=function addEventListener() {\n [native code]\n}, removeEventListener=function removeEventListener() {\n [native code]\n}, dispatchEvent=function dispatchEvent() {\n [native code]\n})
log: object "[object WindowProperties]" (3 props: addEventListener=function addEventListener() {\n [native code]\n}, removeEventListener=function removeEventListener() {\n [native code]\n}, dispatchEvent=function dispatchEvent() {\n [native code]\n})
log: 7
log: 7
>>>> log: object "[object HTMLSpanElement]" (242 props: click=function click() {\n [native code]\n}, focus=function focus() {\n [native code]\n}, blur=function blur() {\n [native code]\n}, title=""...)
log: ------
log: object "[object EventTargetPrototype]" (4 props: addEventListener=function addEventListener() {\n [native code]\n}, removeEventListener=function removeEventListener() {\n [native code]\n}, dispatchEvent=function dispatchEvent() {\n [native code]\n}, bar=7)
log: 7
log: 7
log: 7
log: 7
```
--
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/607
Received on Friday, 11 January 2019 14:26:33 UTC