Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(349)

Unified Diff: content/renderer/gpu/input_handler_manager.h

Issue 15920002: Fix WebView compositor input handling (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Avoid DCHECKs when retrieving process ID Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/gpu/input_event_filter_unittest.cc ('k') | content/renderer/gpu/input_handler_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 598e9448a3ec3e062952a3f393790130604bb91f..904db0db6d6eea7c44f53e522c574cdb77916aa1 100644
--- a/content/renderer/gpu/input_handler_manager.h
+++ b/content/renderer/gpu/input_handler_manager.h
@@ -7,10 +7,10 @@
#include <map>
+#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
#include "content/port/common/input_event_ack_state.h"
#include "content/renderer/render_view_impl.h"
-#include "ipc/ipc_channel_proxy.h"
namespace base {
class MessageLoopProxy;
@@ -26,26 +26,20 @@ class WebInputEvent;
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.
+ // |message_loop_proxy| is the MessageLoopProxy of the compositor thread. Both
+ // the underlying MessageLoop and supplied |client| must outlive this object.
InputHandlerManager(
- IPC::Listener* main_listener,
- const scoped_refptr<base::MessageLoopProxy>& message_loop_proxy);
+ const scoped_refptr<base::MessageLoopProxy>& message_loop_proxy,
+ InputHandlerManagerClient* client);
~InputHandlerManager();
- // This MessageFilter should be added to allow input events to be redirected
- // to the compositor's thread.
- IPC::ChannelProxy::MessageFilter* GetMessageFilter() const;
-
// Callable from the main thread only.
void AddInputHandler(
int routing_id,
@@ -59,9 +53,6 @@ class InputHandlerManager {
InputEventAckState 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(
@@ -75,7 +66,7 @@ class InputHandlerManager {
InputHandlerMap input_handlers_;
scoped_refptr<base::MessageLoopProxy> message_loop_proxy_;
- scoped_refptr<InputEventFilter> filter_;
+ InputHandlerManagerClient* client_;
};
} // namespace content
« no previous file with comments | « content/renderer/gpu/input_event_filter_unittest.cc ('k') | content/renderer/gpu/input_handler_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698