- 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