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() { |