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

Unified Diff: content/renderer/render_widget.cc

Issue 7863003: Mouse lock implementation, including the renderer side and the Windows version of the browser side. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 9 years, 3 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/render_widget.h ('k') | ppapi/examples/mouse_lock/mouse_lock.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_widget.cc
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 7b2f48a79374a43eac861a774551293f251a451c..3f02e07e118564a9c8e9c5820f7a1568d4c43ae3 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -446,10 +446,16 @@ void RenderWidget::OnHandleInputEvent(const IPC::Message& message) {
if (input_event->type == WebInputEvent::RawKeyDown)
message.ReadBool(&iter, &is_keyboard_shortcut);
- bool processed = false;
+ bool prevent_default = false;
+ if (WebInputEvent::isMouseEventType(input_event->type)) {
+ prevent_default = WillHandleMouseEvent(
+ *(static_cast<const WebMouseEvent*>(input_event)));
+ }
+
+ bool processed = prevent_default;
if (input_event->type != WebInputEvent::Char || !suppress_next_char_events_) {
suppress_next_char_events_ = false;
- if (webwidget_)
+ if (!processed && webwidget_)
processed = webwidget_->handleInputEvent(*input_event);
}
@@ -482,10 +488,12 @@ void RenderWidget::OnHandleInputEvent(const IPC::Message& message) {
handling_input_event_ = false;
- if (WebInputEvent::isKeyboardEventType(input_event->type))
- DidHandleKeyEvent();
- if (WebInputEvent::isMouseEventType(input_event->type))
- DidHandleMouseEvent(*(static_cast<const WebMouseEvent*>(input_event)));
+ if (!prevent_default) {
+ if (WebInputEvent::isKeyboardEventType(input_event->type))
+ DidHandleKeyEvent();
+ if (WebInputEvent::isMouseEventType(input_event->type))
+ DidHandleMouseEvent(*(static_cast<const WebMouseEvent*>(input_event)));
+ }
}
void RenderWidget::OnMouseCaptureLost() {
@@ -1393,3 +1401,7 @@ void RenderWidget::CleanupWindowInPluginMoves(gfx::PluginWindowHandle window) {
}
}
}
+
+bool RenderWidget::WillHandleMouseEvent(const WebKit::WebMouseEvent& event) {
+ return false;
+}
« no previous file with comments | « content/renderer/render_widget.h ('k') | ppapi/examples/mouse_lock/mouse_lock.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698