| Index: Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| diff --git a/Source/core/page/scrolling/ScrollingCoordinator.cpp b/Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| index c09c01c5755f87eab0487d5af1a31e37ae6fe59b..6147b1228d0c4cef0c9d456665edb1c57156e3e2 100644
|
| --- a/Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| +++ b/Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| @@ -29,13 +29,19 @@
|
|
|
| #include "RuntimeEnabledFeatures.h"
|
| #include "core/dom/Document.h"
|
| +#include "core/dom/FullscreenElementStack.h"
|
| #include "core/dom/Node.h"
|
| #include "core/dom/WheelController.h"
|
| #include "core/html/HTMLElement.h"
|
| #include "core/frame/FrameView.h"
|
| #include "core/frame/LocalFrame.h"
|
| -#include "core/page/Page.h"
|
| #include "core/frame/Settings.h"
|
| +#include "core/page/Page.h"
|
| +#include "core/plugins/PluginView.h"
|
| +#include "core/rendering/RenderGeometryMap.h"
|
| +#include "core/rendering/RenderView.h"
|
| +#include "core/rendering/compositing/CompositedLayerMapping.h"
|
| +#include "core/rendering/compositing/RenderLayerCompositor.h"
|
| #include "platform/TraceEvent.h"
|
| #include "platform/exported/WebScrollbarImpl.h"
|
| #include "platform/exported/WebScrollbarThemeGeometryNative.h"
|
| @@ -47,11 +53,6 @@
|
| #endif
|
| #include "platform/scroll/ScrollAnimator.h"
|
| #include "platform/scroll/ScrollbarTheme.h"
|
| -#include "core/plugins/PluginView.h"
|
| -#include "core/rendering/RenderGeometryMap.h"
|
| -#include "core/rendering/RenderView.h"
|
| -#include "core/rendering/compositing/CompositedLayerMapping.h"
|
| -#include "core/rendering/compositing/RenderLayerCompositor.h"
|
| #include "public/platform/Platform.h"
|
| #include "public/platform/WebCompositorSupport.h"
|
| #include "public/platform/WebLayerPositionConstraint.h"
|
| @@ -160,8 +161,15 @@ void ScrollingCoordinator::updateAfterCompositingChange()
|
|
|
| // The mainFrame view doesn't get included in the FrameTree below, so we
|
| // update its size separately.
|
| - if (WebLayer* scrollingWebLayer = frameView ? toWebLayer(frameView->layerForScrolling()) : 0)
|
| + if (WebLayer* scrollingWebLayer = frameView ? toWebLayer(frameView->layerForScrolling()) : 0) {
|
| scrollingWebLayer->setBounds(frameView->contentsSize());
|
| + // If there is a fullscreen element, set the scroll clip layer to 0 so main frame won't scroll.
|
| + Element* fullscreenElement = FullscreenElementStack::fullscreenElementFrom(*(m_page->mainFrame()->document()));
|
| + if (fullscreenElement)
|
| + scrollingWebLayer->setScrollClipLayer(0);
|
| + else
|
| + scrollingWebLayer->setScrollClipLayer(toWebLayer(frameView->layerForContainer()));
|
| + }
|
|
|
| const FrameTree& tree = m_page->mainFrame()->tree();
|
| for (const LocalFrame* child = tree.firstChild(); child; child = child->tree().nextSibling()) {
|
|
|