Index: content/renderer/render_widget.h |
diff --git a/content/renderer/render_widget.h b/content/renderer/render_widget.h |
index 5eecc23c2729d62504f4a4ed8ebf4fef2d0cd047..e2858c0cf09b6182025d840fa103624cab9cfdc7 100644 |
--- a/content/renderer/render_widget.h |
+++ b/content/renderer/render_widget.h |
@@ -27,6 +27,8 @@ |
#include "content/renderer/input/render_widget_input_handler.h" |
#include "content/renderer/input/render_widget_input_handler_delegate.h" |
#include "content/renderer/message_delivery_policy.h" |
+#include "content/renderer/mouse_lock_dispatcher.h" |
+#include "content/renderer/render_widget_mouse_lock_dispatcher.h" |
#include "ipc/ipc_listener.h" |
#include "ipc/ipc_sender.h" |
#include "third_party/WebKit/public/platform/WebDisplayMode.h" |
@@ -259,6 +261,9 @@ class CONTENT_EXPORT RenderWidget |
void showImeIfNeeded() override; |
void convertViewportToWindow(blink::WebRect* rect) override; |
void convertWindowToViewport(blink::WebFloatRect* rect) override; |
+ bool requestPointerLock() override; |
+ void requestPointerUnlock() override; |
+ bool isPointerLocked() override; |
// Override point to obtain that the current input method state and caret |
// position. |
@@ -363,6 +368,10 @@ class CONTENT_EXPORT RenderWidget |
// Indicates whether this widget has focus. |
bool has_focus() const { return has_focus_; } |
+ MouseLockDispatcher* mouse_lock_dispatcher() { |
+ return mouse_lock_dispatcher_.get(); |
+ } |
+ |
protected: |
// Friend RefCounted so that the dtor can be non-public. Using this class |
// without ref-counting is an error. |
@@ -398,7 +407,8 @@ class CONTENT_EXPORT RenderWidget |
// Called by Init and subclasses to perform initialization. |
bool DoInit(int32_t opener_id, |
blink::WebWidget* web_widget, |
- IPC::SyncMessage* create_widget_message); |
+ IPC::SyncMessage* create_widget_message, |
+ bool should_add_route); |
scheib
2016/05/19 00:38:58
Is this part of the mouse lock move? I didn't foll
lfg
2016/05/19 23:54:06
It's not strictly necessary, but since I've moved
|
// Sets whether this RenderWidget has been swapped out to be displayed by |
// a RenderWidget in a different process. If so, no new IPC messages will be |
@@ -757,6 +767,12 @@ class CONTENT_EXPORT RenderWidget |
std::unique_ptr<scheduler::RenderWidgetSchedulingState> |
render_widget_scheduling_state_; |
+ // Mouse Lock dispatcher attached to this view. |
+ std::unique_ptr<RenderWidgetMouseLockDispatcher> mouse_lock_dispatcher_; |
+ |
+ // Wraps the |webwidget_| as a MouseLockDispatcher::LockTarget interface. |
+ std::unique_ptr<MouseLockDispatcher::LockTarget> webwidget_mouse_lock_target_; |
+ |
private: |
// When emulated, this returns original device scale factor. |
float GetOriginalDeviceScaleFactor() const; |