| Index: content/renderer/render_widget.h
|
| diff --git a/content/renderer/render_widget.h b/content/renderer/render_widget.h
|
| index 78d5b3fa9966c00e617d91f79135240f91379f46..ed16377ea7ec1df0ab0b0924cce62893a9676a40 100644
|
| --- a/content/renderer/render_widget.h
|
| +++ b/content/renderer/render_widget.h
|
| @@ -33,6 +33,7 @@
|
| #include "content/public/common/screen_info.h"
|
| #include "content/renderer/devtools/render_widget_screen_metrics_emulator_delegate.h"
|
| #include "content/renderer/gpu/render_widget_compositor_delegate.h"
|
| +#include "content/renderer/input/main_thread_event_queue.h"
|
| #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"
|
| @@ -101,6 +102,7 @@ class CompositorDependencies;
|
| class ExternalPopupMenu;
|
| class FrameSwapMessageQueue;
|
| class ImeEventGuard;
|
| +class MainThreadEventQueue;
|
| class PepperPluginInstanceImpl;
|
| class RenderFrameImpl;
|
| class RenderFrameProxy;
|
| @@ -128,7 +130,8 @@ class CONTENT_EXPORT RenderWidget
|
| public RenderWidgetCompositorDelegate,
|
| public RenderWidgetInputHandlerDelegate,
|
| public RenderWidgetScreenMetricsEmulatorDelegate,
|
| - public base::RefCounted<RenderWidget> {
|
| + public base::RefCounted<RenderWidget>,
|
| + public MainThreadEventQueueClient {
|
| public:
|
| // Creates a new RenderWidget for a popup. |opener| is the RenderView that
|
| // this widget lives inside.
|
| @@ -228,9 +231,6 @@ class CONTENT_EXPORT RenderWidget
|
| // IPC::Sender
|
| bool Send(IPC::Message* msg) override;
|
|
|
| - // Requests a BeginMainFrame callback from the compositor.
|
| - void SetNeedsMainFrame();
|
| -
|
| // RenderWidgetCompositorDelegate
|
| void ApplyViewportDeltas(const gfx::Vector2dF& inner_delta,
|
| const gfx::Vector2dF& outer_delta,
|
| @@ -264,9 +264,6 @@ class CONTENT_EXPORT RenderWidget
|
| void OnDidHandleKeyEvent() override;
|
| void OnDidOverscroll(const ui::DidOverscrollParams& params) override;
|
| void OnInputEventAck(std::unique_ptr<InputEventAck> input_event_ack) override;
|
| - void NotifyInputEventHandled(blink::WebInputEvent::Type handled_type,
|
| - blink::WebInputEventResult result,
|
| - InputEventAckState ack_result) override;
|
| void SetInputHandler(RenderWidgetInputHandler* input_handler) override;
|
| void ShowVirtualKeyboard() override;
|
| void UpdateTextInputState() override;
|
| @@ -416,6 +413,20 @@ class CONTENT_EXPORT RenderWidget
|
| uint32_t GetContentSourceId();
|
| void IncrementContentSourceId();
|
|
|
| + // MainThreadEventQueueClient overrides.
|
| +
|
| + // Requests a BeginMainFrame callback from the compositor.
|
| + void SetNeedsMainFrame() override;
|
| +
|
| + InputEventAckState HandleInputEvent(
|
| + const blink::WebCoalescedInputEvent& input_event,
|
| + const ui::LatencyInfo& latency_info,
|
| + InputEventDispatchType dispatch_type) override;
|
| +
|
| + void SendInputEventAck(blink::WebInputEvent::Type type,
|
| + InputEventAckState ack_result,
|
| + uint32_t touch_event_id) override;
|
| +
|
| protected:
|
| // Friend RefCounted so that the dtor can be non-public. Using this class
|
| // without ref-counting is an error.
|
| @@ -868,6 +879,8 @@ class CONTENT_EXPORT RenderWidget
|
| // to replace it. See https://crbug.com/695579.
|
| uint32_t current_content_source_id_;
|
|
|
| + scoped_refptr<MainThreadEventQueue> input_event_queue_;
|
| +
|
| base::WeakPtrFactory<RenderWidget> weak_ptr_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(RenderWidget);
|
|
|