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

Unified Diff: Source/web/WebInputEventConversion.cpp

Issue 642203002: Make input event forwarding work in --site-per-process. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Remove blink prefix Created 6 years, 2 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: Source/web/WebInputEventConversion.cpp
diff --git a/Source/web/WebInputEventConversion.cpp b/Source/web/WebInputEventConversion.cpp
index 362b99b254876736cbb944ee74d105b86e6a2732..b69412bee92ea14d33fe024220fdad787a923b25 100644
--- a/Source/web/WebInputEventConversion.cpp
+++ b/Source/web/WebInputEventConversion.cpp
@@ -484,12 +484,15 @@ static IntPoint convertAbsoluteLocationForRenderObject(const LayoutPoint& locati
return roundedIntPoint(convertAbsoluteLocationForRenderObjectFloat(location, renderObject));
}
-static void updateWebMouseEventFromCoreMouseEvent(const MouseRelatedEvent& event, const Widget& widget, const RenderObject& renderObject, WebMouseEvent& webEvent)
+// FIXME: Change |widget| to const Widget& after RemoteFrames get
+// RemoteFrameViews. When this happens, check widget.isScrollView(), because
+// RemoteFrameView is a Widget but not a ScrollView.
+static void updateWebMouseEventFromCoreMouseEvent(const MouseRelatedEvent& event, const Widget* widget, const RenderObject& renderObject, WebMouseEvent& webEvent)
{
webEvent.timeStampSeconds = event.timeStamp() / millisPerSecond;
webEvent.modifiers = getWebInputModifiers(event);
- ScrollView* view = toScrollView(widget.parent());
+ ScrollView* view = widget ? toScrollView(widget->parent()) : 0;
IntPoint windowPoint = IntPoint(event.absoluteLocation().x(), event.absoluteLocation().y());
if (view)
windowPoint = view->contentsToWindow(windowPoint);
@@ -519,7 +522,7 @@ WebMouseEventBuilder::WebMouseEventBuilder(const Widget* widget, const RenderObj
else
return; // Skip all other mouse events.
- updateWebMouseEventFromCoreMouseEvent(event, *widget, *renderObject, *this);
+ updateWebMouseEventFromCoreMouseEvent(event, widget, *renderObject, *this);
switch (event.button()) {
case LeftButton:
@@ -649,7 +652,7 @@ WebMouseWheelEventBuilder::WebMouseWheelEventBuilder(const Widget* widget, const
if (event.type() != EventTypeNames::wheel && event.type() != EventTypeNames::mousewheel)
return;
type = WebInputEvent::MouseWheel;
- updateWebMouseEventFromCoreMouseEvent(event, *widget, *renderObject, *this);
+ updateWebMouseEventFromCoreMouseEvent(event, widget, *renderObject, *this);
deltaX = -event.deltaX();
deltaY = -event.deltaY();
wheelTicksX = event.ticksX();

Powered by Google App Engine
This is Rietveld 408576698