Chromium Code Reviews| 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) |