Mark S. Miller (2015-01-28T19:16:06.000Z)
d at domenic.me (2015-02-13T23:27:50.072Z)
On Wed, Jan 28, 2015 at 11:08 AM, Domenic Denicola <d at domenic.me> wrote: > Am I getting this right? Exactly, yes. And again, if window is an ES6 proxy rather that a WindowProxy, it could also cause this behavior, so it doesn't create any situation which is not otherwise possible. The key points are: 1. The throw does (arguably) better obey the code's intent, since the property mostly acts like a non-configurable property until the window is navigated. 2. If a window navigation happens between your first step and your second, the second step may well succeed, which is what we (arguably) want, but which would have been prohibited if propDesc.configurable evaluated to true.
d at domenic.me (2015-02-13T23:27:41.429Z)
On Wed, Jan 28, 2015 at 11:08 AM, Domenic Denicola <d at domenic.me> wrote: > Am I getting this right? Exactly, yes. And again, if window is an ES6 proxy rather that a WindowProxy, it could also cause this behavior, so it doesn't create any situation which is not otherwise possible. The key points are: 1) The throw does (arguably) better obey the code's intent, since the property mostly acts like a non-configurable property until the window is navigated. 2) If a window navigation happens between your first step and your second, the second step may well succeed, which is what we (arguably) want, but which would have been prohibited if propDesc.configurable evaluated to true.