Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(386)

Unified Diff: third_party/WebKit/Source/core/page/PointerLockController.cpp

Issue 1980133002: Implement pointer lock API for out-of-process iframes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/page/PointerLockController.cpp
diff --git a/third_party/WebKit/Source/core/page/PointerLockController.cpp b/third_party/WebKit/Source/core/page/PointerLockController.cpp
index c5b6dbc000daa59ffe0b585c38c5c97a1250881b..72ee211b26cb4822e86bb9dcc944cb7bd0592bc0 100644
--- a/third_party/WebKit/Source/core/page/PointerLockController.cpp
+++ b/third_party/WebKit/Source/core/page/PointerLockController.cpp
@@ -68,7 +68,7 @@ void PointerLockController::requestPointerLock(Element* target)
}
enqueueEvent(EventTypeNames::pointerlockchange, target);
m_element = target;
- } else if (m_page->chromeClient().requestPointerLock()) {
+ } else if (m_page->chromeClient().requestPointerLock(target->document().frame())) {
m_lockPending = true;
m_element = target;
} else {
@@ -78,25 +78,25 @@ void PointerLockController::requestPointerLock(Element* target)
void PointerLockController::requestPointerUnlock()
{
- return m_page->chromeClient().requestPointerUnlock();
+ return m_page->chromeClient().requestPointerUnlock(m_element->document().frame());
}
void PointerLockController::elementRemoved(Element* element)
{
if (m_element == element) {
m_documentOfRemovedElementWhileWaitingForUnlock = &m_element->document();
+ requestPointerUnlock();
// Set element null immediately to block any future interaction with it
// including mouse events received before the unlock completes.
clearElement();
- requestPointerUnlock();
}
}
void PointerLockController::documentDetached(Document* document)
{
if (m_element && m_element->document() == document) {
- clearElement();
requestPointerUnlock();
+ clearElement();
}
}
« no previous file with comments | « third_party/WebKit/Source/core/page/ChromeClient.h ('k') | third_party/WebKit/Source/web/ChromeClientImpl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698