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

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

Issue 15927023: Explicit interface for synchronous InputHandlerProxy input handling (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Shorter names ftw Created 7 years, 7 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_handler_manager.h ('k') | content/renderer/gpu/input_handler_proxy.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/gpu/input_handler_manager.cc
diff --git a/content/renderer/gpu/input_handler_manager.cc b/content/renderer/gpu/input_handler_manager.cc
index 84d233678784059deaa875a960d57fdbcf8fb261..40310da3d36f5c02d24d26871a28f894de243153 100644
--- a/content/renderer/gpu/input_handler_manager.cc
+++ b/content/renderer/gpu/input_handler_manager.cc
@@ -15,6 +15,24 @@ using WebKit::WebInputEvent;
namespace content {
+namespace {
+
+InputEventAckState InputEventDispositionToAck(
+ InputHandlerProxy::EventDisposition disposition) {
+ switch (disposition) {
+ case InputHandlerProxy::DID_HANDLE:
+ return INPUT_EVENT_ACK_STATE_CONSUMED;
+ case InputHandlerProxy::DID_NOT_HANDLE:
+ return INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
+ case InputHandlerProxy::DROP_EVENT:
+ return INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS;
+ }
+ NOTREACHED();
+ return INPUT_EVENT_ACK_STATE_UNKNOWN;
+}
+
+} // namespace
+
InputHandlerManager::InputHandlerManager(
IPC::Listener* main_listener,
const scoped_refptr<base::MessageLoopProxy>& message_loop_proxy)
@@ -81,7 +99,7 @@ void InputHandlerManager::RemoveInputHandler(int routing_id) {
input_handlers_.erase(routing_id);
}
-void InputHandlerManager::HandleInputEvent(
+InputEventAckState InputHandlerManager::HandleInputEvent(
int routing_id,
const WebInputEvent* input_event) {
DCHECK(message_loop_proxy_->BelongsToCurrentThread());
@@ -91,11 +109,11 @@ void InputHandlerManager::HandleInputEvent(
TRACE_EVENT0("InputHandlerManager::HandleInputEvent",
"NoInputHandlerFound");
// Oops, we no longer have an interested input handler..
- filter_->DidNotHandleInputEvent(true);
- return;
+ return INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
}
- it->second->input_handler_proxy()->HandleInputEvent(*input_event);
+ return InputEventDispositionToAck(
+ it->second->input_handler_proxy()->HandleInputEvent(*input_event));
}
} // namespace content
« no previous file with comments | « content/renderer/gpu/input_handler_manager.h ('k') | content/renderer/gpu/input_handler_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698