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

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: 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
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..f7f79f1a1f9d249f8a91ae596e25dfc608344f60 100644
--- a/content/renderer/gpu/input_handler_manager.cc
+++ b/content/renderer/gpu/input_handler_manager.cc
@@ -15,6 +15,25 @@ using WebKit::WebInputEvent;
namespace content {
+namespace {
+
+InputEventAckState InputEventDispositionToAck(
+ InputHandlerProxy::EventDisposition disposition) {
+ switch (disposition) {
+ case InputHandlerProxy::DidHandle:
+ return INPUT_EVENT_ACK_STATE_CONSUMED;
+ case InputHandlerProxy::DidNotHandle:
+ return INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
+ case InputHandlerProxy::DropEvent:
+ return INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS;
+ default:
jamesr 2013/06/03 20:45:59 i would omit the default: so the compiler yells at
jdduke (slow) 2013/06/03 21:40:42 I like it, done.
+ NOTREACHED();
+ return INPUT_EVENT_ACK_STATE_UNKNOWN;
+ }
+}
+
+} // namespace
+
InputHandlerManager::InputHandlerManager(
IPC::Listener* main_listener,
const scoped_refptr<base::MessageLoopProxy>& message_loop_proxy)
@@ -81,7 +100,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 +110,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

Powered by Google App Engine
This is Rietveld 408576698