X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2FWebKit%2FSource%2Fcore%2Fpage%2FPointerLockController.cpp;h=257cfa9bfa718251494689f384a6688e0757af67;hb=004985e17e624662a4c85c76a7654039dc83f028;hp=ab377a3fa5e96367817a9c903a82dc660922ea24;hpb=2f108dbacb161091e42a3479f4e171339b7e7623;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/WebKit/Source/core/page/PointerLockController.cpp b/src/third_party/WebKit/Source/core/page/PointerLockController.cpp index ab377a3..257cfa9 100644 --- a/src/third_party/WebKit/Source/core/page/PointerLockController.cpp +++ b/src/third_party/WebKit/Source/core/page/PointerLockController.cpp @@ -49,6 +49,7 @@ PassOwnPtr PointerLockController::create(Page* page) void PointerLockController::requestPointerLock(Element* target) { if (!target || !target->inDocument() || m_documentOfRemovedElementWhileWaitingForUnlock) { + enqueueEvent(EventTypeNames::pointerlockerror, target); enqueueEvent(EventTypeNames::webkitpointerlockerror, target); return; } @@ -56,21 +57,25 @@ void PointerLockController::requestPointerLock(Element* target) if (target->document().isSandboxed(SandboxPointerLock)) { // FIXME: This message should be moved off the console once a solution to https://bugs.webkit.org/show_bug.cgi?id=103274 exists. target->document().addConsoleMessage(SecurityMessageSource, ErrorMessageLevel, "Blocked pointer lock on an element because the element's frame is sandboxed and the 'allow-pointer-lock' permission is not set."); + enqueueEvent(EventTypeNames::pointerlockerror, target); enqueueEvent(EventTypeNames::webkitpointerlockerror, target); return; } if (m_element) { if (m_element->document() != target->document()) { + enqueueEvent(EventTypeNames::pointerlockerror, target); enqueueEvent(EventTypeNames::webkitpointerlockerror, target); return; } + enqueueEvent(EventTypeNames::pointerlockchange, target); enqueueEvent(EventTypeNames::webkitpointerlockchange, target); m_element = target; } else if (m_page->chrome().client().requestPointerLock()) { m_lockPending = true; m_element = target; } else { + enqueueEvent(EventTypeNames::pointerlockerror, target); enqueueEvent(EventTypeNames::webkitpointerlockerror, target); } } @@ -111,18 +116,21 @@ Element* PointerLockController::element() const void PointerLockController::didAcquirePointerLock() { + enqueueEvent(EventTypeNames::pointerlockchange, m_element.get()); enqueueEvent(EventTypeNames::webkitpointerlockchange, m_element.get()); m_lockPending = false; } void PointerLockController::didNotAcquirePointerLock() { + enqueueEvent(EventTypeNames::pointerlockerror, m_element.get()); enqueueEvent(EventTypeNames::webkitpointerlockerror, m_element.get()); clearElement(); } void PointerLockController::didLosePointerLock() { + enqueueEvent(EventTypeNames::pointerlockchange, m_element ? &m_element->document() : m_documentOfRemovedElementWhileWaitingForUnlock.get()); enqueueEvent(EventTypeNames::webkitpointerlockchange, m_element ? &m_element->document() : m_documentOfRemovedElementWhileWaitingForUnlock.get()); clearElement(); m_documentOfRemovedElementWhileWaitingForUnlock = nullptr;