| Index: content/renderer/gpu/input_handler_manager.h
|
| diff --git a/content/renderer/gpu/input_handler_manager.h b/content/renderer/gpu/input_handler_manager.h
|
| index c33b5b772fdc75b8872145bcc109917a17a3c1cd..5b07802dbde0a6120823a8710f43c91f16354ed6 100644
|
| --- a/content/renderer/gpu/input_handler_manager.h
|
| +++ b/content/renderer/gpu/input_handler_manager.h
|
| @@ -7,9 +7,9 @@
|
|
|
| #include <map>
|
|
|
| +#include "base/memory/ref_counted.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "content/renderer/render_view_impl.h"
|
| -#include "ipc/ipc_channel_proxy.h"
|
|
|
| namespace base {
|
| class MessageLoopProxy;
|
| @@ -27,23 +27,24 @@ namespace content {
|
|
|
| class InputEventFilter;
|
| class InputHandlerWrapper;
|
| +class InputHandlerManagerClient;
|
|
|
| // InputHandlerManager class manages InputHandlerProxy instances for
|
| // the WebViews in this renderer.
|
| class InputHandlerManager {
|
| public:
|
| - // |main_listener| refers to the central IPC message listener that lives on
|
| - // the main thread, where all incoming IPC messages are first handled.
|
| // |message_loop_proxy| is the MessageLoopProxy of the compositor thread.
|
| // The underlying MessageLoop must outlive this object.
|
| InputHandlerManager(
|
| - IPC::Listener* main_listener,
|
| const scoped_refptr<base::MessageLoopProxy>& message_loop_proxy);
|
| ~InputHandlerManager();
|
|
|
| - // This MessageFilter should be added to allow input events to be redirected
|
| - // to the compositor's thread.
|
| - IPC::ChannelProxy::MessageFilter* GetMessageFilter() const;
|
| + // Called from the main thread only. Only one client can be bound to an
|
| + // InputHandlerManager, and the client must outlive this object.
|
| + void BindToClient(InputHandlerManagerClient* client);
|
| +
|
| + // Called from the compositor's thread.
|
| + InputHandlerManagerClient* client() { return client_; }
|
|
|
| // Callable from the main thread only.
|
| void AddInputHandler(
|
| @@ -58,9 +59,6 @@ class InputHandlerManager {
|
| void HandleInputEvent(int routing_id,
|
| const WebKit::WebInputEvent* input_event);
|
|
|
| - // Called from the compositor's thread.
|
| - InputEventFilter* filter() { return filter_.get(); }
|
| -
|
| private:
|
| // Called from the compositor's thread.
|
| void AddInputHandlerOnCompositorThread(
|
| @@ -74,7 +72,7 @@ class InputHandlerManager {
|
| InputHandlerMap input_handlers_;
|
|
|
| scoped_refptr<base::MessageLoopProxy> message_loop_proxy_;
|
| - scoped_refptr<InputEventFilter> filter_;
|
| + InputHandlerManagerClient* client_;
|
| };
|
|
|
| } // namespace content
|
|
|