-
scheib@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=77029 Reviewed by Adrienne Walker. Source/WebCore: Pointer Lock Controller now checks when elements or documents are removed, and unlocks if the target element is being removed. Tests: pointer-lock/locked-element-iframe-removed-from-dom.html pointer-lock/locked-element-removed-from-dom.html * dom/Document.cpp: (WebCore::Document::detach): * dom/Element.cpp: (WebCore::Element::removedFrom): (WebCore::Element::webkitRequestPointerLock): * page/PointerLockController.cpp: (WebCore::PointerLockController::requestPointerLock): (WebCore::PointerLockController::elementRemoved): (WebCore): (WebCore::PointerLockController::documentDetached): (WebCore::PointerLockController::didLosePointerLock): (WebCore::PointerLockController::enqueueEvent): * page/PointerLockController.h: (WebCore): (PointerLockController): LayoutTests: Two new tests that verify pointer lock is released when the target is removed from the document. * pointer-lock/locked-element-iframe-removed-from-dom-expected.txt: Added. * pointer-lock/locked-element-iframe-removed-from-dom.html: Added. * pointer-lock/locked-element-removed-from-dom-expected.txt: Added. * pointer-lock/locked-element-removed-from-dom.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122626 268f45cc-cd09-0410-ab3c-d52691b4dbfc
fd0b8a9b