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

Unified Diff: Source/core/page/Page.cpp

Issue 815363003: FrameView now notifies ScrollCoorinator of changes in its scrollable area set (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Improve test Created 5 years, 11 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/core/page/Page.cpp
diff --git a/Source/core/page/Page.cpp b/Source/core/page/Page.cpp
index 834f760c4e445dcda79caf3ea60985bf525d5832..cd7b11f2674c3aea64c3f3bcc6f88cbaf0c89021 100644
--- a/Source/core/page/Page.cpp
+++ b/Source/core/page/Page.cpp
@@ -57,6 +57,7 @@
#include "core/rendering/RenderView.h"
#include "core/rendering/TextAutosizer.h"
#include "core/storage/StorageNamespace.h"
+#include "platform/graphics/GraphicsLayer.h"
#include "platform/plugins/PluginData.h"
#include "wtf/HashMap.h"
#include "wtf/RefCountedLeakCounter.h"
@@ -184,16 +185,14 @@ String Page::mainThreadScrollingReasonsAsText()
PassRefPtrWillBeRawPtr<ClientRectList> Page::nonFastScrollableRects(const LocalFrame* frame)
{
- if (m_mainFrame->isLocalFrame() && deprecatedLocalMainFrame()->document())
- deprecatedLocalMainFrame()->document()->updateLayout();
-
- Vector<IntRect> rects;
if (ScrollingCoordinator* scrollingCoordinator = this->scrollingCoordinator()) {
// Hits in compositing/iframes/iframe-composited-scrolling.html
DisableCompositingQueryAsserts disabler;
- rects = scrollingCoordinator->computeShouldHandleScrollGestureOnMainThreadRegion(frame, IntPoint()).rects();
+ scrollingCoordinator->updateAfterCompositingChangeIfNeeded();
}
+ // Now retain non-fast scrollable regions
+ WebVector<WebRect> rects = frame->view()->layerForScrolling()->platformLayer()->nonFastScrollableRegion();
Vector<FloatQuad> quads(rects.size());
for (size_t i = 0; i < rects.size(); ++i)
quads[i] = FloatRect(rects[i]);

Powered by Google App Engine
This is Rietveld 408576698