| Index: third_party/WebKit/Source/core/input/EventHandler.cpp
|
| diff --git a/third_party/WebKit/Source/core/input/EventHandler.cpp b/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| index dbc20349449fedba842cf2c85959f0cd7ceda670..eac81066d1f62eac05b8760e5d69a1d86e058166 100644
|
| --- a/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| +++ b/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| @@ -84,6 +84,7 @@
|
| #include "core/page/SpatialNavigation.h"
|
| #include "core/page/TouchAdjustment.h"
|
| #include "core/page/scrolling/OverscrollController.h"
|
| +#include "core/page/scrolling/RootScroller.h"
|
| #include "core/page/scrolling/ScrollState.h"
|
| #include "core/paint/PaintLayer.h"
|
| #include "core/style/ComputedStyle.h"
|
| @@ -2429,11 +2430,10 @@ bool EventHandler::isRootScroller(const Node& node) const
|
| {
|
| // The root scroller is the one Element on the page designated to perform
|
| // "viewport actions" like top controls movement and overscroll glow.
|
| -
|
| - if (!node.isElementNode() || node.document().ownerElement())
|
| + if (!node.isElementNode() || !frameHost() || !frameHost()->rootScroller())
|
| return false;
|
|
|
| - return node.document().rootScroller() == toElement(&node);
|
| + return frameHost()->rootScroller()->get() == toElement(&node);
|
| }
|
|
|
| WebInputEventResult EventHandler::handleGestureScrollUpdate(const PlatformGestureEvent& gestureEvent)
|
| @@ -3708,6 +3708,12 @@ PlatformEvent::Modifiers EventHandler::accessKeyModifiers()
|
|
|
| FrameHost* EventHandler::frameHost()
|
| {
|
| + return const_cast<FrameHost*>(
|
| + static_cast<const EventHandler&>(*this).frameHost());
|
| +}
|
| +
|
| +const FrameHost* EventHandler::frameHost() const
|
| +{
|
| if (!m_frame->page())
|
| return nullptr;
|
|
|
|
|