Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / page / PointerLockController.cpp
index ab377a3..257cfa9 100644 (file)
@@ -49,6 +49,7 @@ PassOwnPtr<PointerLockController> 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;