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