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