Index: third_party/WebKit/Source/web/WebViewImpl.cpp |
diff --git a/third_party/WebKit/Source/web/WebViewImpl.cpp b/third_party/WebKit/Source/web/WebViewImpl.cpp |
index fad565d27c6eaef57d89c1087056567fb40a7363..afbaa6d6a83843a3783389694f85c21396cc2c64 100644 |
--- a/third_party/WebKit/Source/web/WebViewImpl.cpp |
+++ b/third_party/WebKit/Source/web/WebViewImpl.cpp |
@@ -140,6 +140,7 @@ |
#include "public/web/WebElement.h" |
#include "public/web/WebFrame.h" |
#include "public/web/WebFrameClient.h" |
+#include "public/web/WebFrameWidget.h" |
#include "public/web/WebHitTestResult.h" |
#include "public/web/WebInputElement.h" |
#include "public/web/WebMeaningfulLayout.h" |
@@ -4445,18 +4446,30 @@ void WebViewImpl::setVisibilityState(WebPageVisibilityState visibilityState, |
bool WebViewImpl::requestPointerLock() |
{ |
- return m_client && m_client->requestPointerLock(); |
+ if (WebFrameWidget* widget = mainFrameImpl()->frameWidget()) { |
dcheng
2016/06/04 05:28:56
It doesn't seem like anyone still needs to call th
lfg
2016/06/06 20:09:43
Done.
|
+ if (WebWidgetClient* client = widget->client()) |
+ return client->requestPointerLock(); |
+ } |
+ |
+ return false; |
} |
void WebViewImpl::requestPointerUnlock() |
{ |
- if (m_client) |
- m_client->requestPointerUnlock(); |
+ if (WebFrameWidget* widget = mainFrameImpl()->frameWidget()) { |
+ if (WebWidgetClient* client = widget->client()) |
+ client->requestPointerUnlock(); |
+ } |
} |
bool WebViewImpl::isPointerLocked() |
{ |
- return m_client && m_client->isPointerLocked(); |
+ if (WebFrameWidget* widget = mainFrameImpl()->frameWidget()) { |
+ if (WebWidgetClient* client = widget->client()) |
+ return client->isPointerLocked(); |
+ } |
+ |
+ return false; |
} |
void WebViewImpl::pointerLockMouseEvent(const WebInputEvent& event) |