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

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: Remove two tab chars. 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
Index: content/renderer/render_widget.cc
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 0541afe311f539e07552d9055e37bbf46ad7af5e..3eae941222e02a342e19df00a37a358d6de53d8f 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 mouse_event_absorbed = false;
brettw 2011/09/14 22:17:58 I think this would be more clear if this were call
yzshen1 2011/09/19 20:48:41 Done. It looks much better.
+ if (WebInputEvent::isMouseEventType(input_event->type)) {
+ mouse_event_absorbed = BeforeHandleMouseEvent(
brettw 2011/09/14 22:17:58 Can you rename this to "WillHandleMouseEvent" whic
yzshen1 2011/09/19 20:48:41 Done.
+ *(static_cast<const WebMouseEvent*>(input_event)));
+ }
+
+ bool processed = mouse_event_absorbed;
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);
}
@@ -484,8 +490,10 @@ void RenderWidget::OnHandleInputEvent(const IPC::Message& message) {
if (WebInputEvent::isKeyboardEventType(input_event->type))
DidHandleKeyEvent();
- if (WebInputEvent::isMouseEventType(input_event->type))
+ if (!mouse_event_absorbed &&
+ WebInputEvent::isMouseEventType(input_event->type)) {
DidHandleMouseEvent(*(static_cast<const WebMouseEvent*>(input_event)));
+ }
}
void RenderWidget::OnMouseCaptureLost() {

Powered by Google App Engine
This is Rietveld 408576698