JSDOMWindow::getOwnPropertySlot erroneously searches the prototype chain, which it shouldn't be doing for an 'own' access. 'hasOwnProperty' is implemented in terms of getOwnPropertySlot, so this can result in incorrect results (if you create a property 'foo' on the Window object's prototype, hasOwnProperty for 'foo' on the Window object will return true). Our behavior here is likely related to the sadness that is bug#49739.