Diff
Modified: trunk/Source/WebCore/ChangeLog (166347 => 166348)
--- trunk/Source/WebCore/ChangeLog 2014-03-27 06:22:48 UTC (rev 166347)
+++ trunk/Source/WebCore/ChangeLog 2014-03-27 06:50:40 UTC (rev 166348)
@@ -1,3 +1,19 @@
+2014-03-26 Simon Fraser <simon.fra...@apple.com>
+
+ Fix failing scrolling tests by reverting to previous behavior where
+ the scrolling geometry for the main frame scrolling node was only
+ updated from frameViewLayoutUpdated() and no-where else.
+
+ * WebCore.exp.in:
+ * page/scrolling/AsyncScrollingCoordinator.cpp:
+ (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
+ * page/scrolling/AsyncScrollingCoordinator.h:
+ * page/scrolling/ScrollingCoordinator.h:
+ (WebCore::ScrollingCoordinator::updateScrollingNode):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
+ (WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer): Deleted.
+
2014-03-26 Ryosuke Niwa <rn...@webkit.org>
HTMLConverter::_processText is slow because it walks up ancestor elements
Modified: trunk/Source/WebCore/WebCore.exp.in (166347 => 166348)
--- trunk/Source/WebCore/WebCore.exp.in 2014-03-27 06:22:48 UTC (rev 166347)
+++ trunk/Source/WebCore/WebCore.exp.in 2014-03-27 06:50:40 UTC (rev 166348)
@@ -251,12 +251,12 @@
__ZN7WebCore12gcControllerEv
__ZN7WebCore12iconDatabaseEv
__ZN7WebCore13AXObjectCache10rootObjectEv
-__ZN7WebCore13AXObjectCache37setEnhancedUserInterfaceAccessibilityEb
__ZN7WebCore13AXObjectCache18rootObjectForFrameEPNS_5FrameE
__ZN7WebCore13AXObjectCache19enableAccessibilityEv
__ZN7WebCore13AXObjectCache20disableAccessibilityEv
__ZN7WebCore13AXObjectCache21gAccessibilityEnabledE
__ZN7WebCore13AXObjectCache23focusedUIElementForPageEPKNS_4PageE
+__ZN7WebCore13AXObjectCache37setEnhancedUserInterfaceAccessibilityEb
__ZN7WebCore13AXObjectCache42gAccessibilityEnhancedUserInterfaceEnabledE
__ZN7WebCore13CharacterData7setDataERKN3WTF6StringERi
__ZN7WebCore13ContainerNode11appendChildEN3WTF10PassRefPtrINS_4NodeEEERi
@@ -2756,7 +2756,7 @@
__ZN7WebCore25AsyncScrollingCoordinator17attachToStateTreeENS_17ScrollingNodeTypeEyy
__ZN7WebCore25AsyncScrollingCoordinator18syncChildPositionsERKNS_10LayoutRectE
__ZN7WebCore25AsyncScrollingCoordinator19detachFromStateTreeEy
-__ZN7WebCore25AsyncScrollingCoordinator19updateScrollingNodeEyPNS_13GraphicsLayerES2_S2_RKNS_20ScrollingCoordinator17ScrollingGeometryE
+__ZN7WebCore25AsyncScrollingCoordinator19updateScrollingNodeEyPNS_13GraphicsLayerES2_S2_PKNS_20ScrollingCoordinator17ScrollingGeometryE
__ZN7WebCore25AsyncScrollingCoordinator22frameViewLayoutUpdatedEPNS_9FrameViewE
__ZN7WebCore25AsyncScrollingCoordinator27frameViewRootLayerDidChangeEPNS_9FrameViewE
__ZN7WebCore25AsyncScrollingCoordinator27requestScrollPositionUpdateEPNS_9FrameViewERKNS_8IntPointE
Modified: trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp (166347 => 166348)
--- trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp 2014-03-27 06:22:48 UTC (rev 166347)
+++ trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp 2014-03-27 06:50:40 UTC (rev 166348)
@@ -287,7 +287,7 @@
attachToStateTree(FrameScrollingNode, frameView->scrollLayerID(), 0);
}
-void AsyncScrollingCoordinator::updateScrollingNode(ScrollingNodeID nodeID, GraphicsLayer* layer, GraphicsLayer* scrolledContentsLayer, GraphicsLayer* counterScrollingLayer, const ScrollingGeometry& scrollingGeometry)
+void AsyncScrollingCoordinator::updateScrollingNode(ScrollingNodeID nodeID, GraphicsLayer* layer, GraphicsLayer* scrolledContentsLayer, GraphicsLayer* counterScrollingLayer, const ScrollingGeometry* scrollingGeometry)
{
ScrollingStateScrollingNode* node = toScrollingStateScrollingNode(m_scrollingStateTree->stateNodeForID(nodeID));
ASSERT(node);
@@ -298,9 +298,11 @@
node->setScrolledContentsLayer(scrolledContentsLayer);
node->setCounterScrollingLayer(counterScrollingLayer);
- node->setScrollOrigin(scrollingGeometry.scrollOrigin);
- node->setScrollPosition(scrollingGeometry.scrollPosition);
- node->setTotalContentsSize(scrollingGeometry.contentSize);
+ if (scrollingGeometry) {
+ node->setScrollOrigin(scrollingGeometry->scrollOrigin);
+ node->setScrollPosition(scrollingGeometry->scrollPosition);
+ node->setTotalContentsSize(scrollingGeometry->contentSize);
+ }
}
void AsyncScrollingCoordinator::updateViewportConstrainedNode(ScrollingNodeID nodeID, const ViewportConstraints& constraints, GraphicsLayer* graphicsLayer)
Modified: trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h (166347 => 166348)
--- trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h 2014-03-27 06:22:48 UTC (rev 166347)
+++ trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h 2014-03-27 06:50:40 UTC (rev 166348)
@@ -87,7 +87,7 @@
virtual void clearStateTree() override;
virtual void updateViewportConstrainedNode(ScrollingNodeID, const ViewportConstraints&, GraphicsLayer*) override;
- virtual void updateScrollingNode(ScrollingNodeID, GraphicsLayer*, GraphicsLayer* scrolledContentsLayer, GraphicsLayer* counterScrollingLayer, const ScrollingGeometry&) override;
+ virtual void updateScrollingNode(ScrollingNodeID, GraphicsLayer*, GraphicsLayer* scrolledContentsLayer, GraphicsLayer* counterScrollingLayer, const ScrollingGeometry* = nullptr) override;
virtual String scrollingStateTreeAsText() const override;
virtual bool isRubberBandInProgress() const override;
virtual void setScrollPinningBehavior(ScrollPinningBehavior) override;
Modified: trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.h (166347 => 166348)
--- trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.h 2014-03-27 06:22:48 UTC (rev 166347)
+++ trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.h 2014-03-27 06:50:40 UTC (rev 166348)
@@ -159,7 +159,7 @@
IntPoint scrollOrigin;
};
- virtual void updateScrollingNode(ScrollingNodeID, GraphicsLayer* /*scrollLayer*/, GraphicsLayer* /*scrolledContentsLayer*/, GraphicsLayer* /*counterScrollingLayer*/, const ScrollingGeometry&) { }
+ virtual void updateScrollingNode(ScrollingNodeID, GraphicsLayer* /*scrollLayer*/, GraphicsLayer* /*scrolledContentsLayer*/, GraphicsLayer* /*counterScrollingLayer*/, const ScrollingGeometry* = nullptr) { }
virtual void syncChildPositions(const LayoutRect&) { }
virtual String scrollingStateTreeAsText() const;
virtual bool isRubberBandInProgress() const { return false; }
Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (166347 => 166348)
--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2014-03-27 06:22:48 UTC (rev 166347)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2014-03-27 06:50:40 UTC (rev 166348)
@@ -3520,22 +3520,18 @@
GraphicsLayer* scrolledContentsLayer = backing->scrollingContentsLayer();
GraphicsLayer* counterScrollingLayer = nullptr;
- ScrollingCoordinator::ScrollingGeometry scrollingGeometry;
if (isRootLayer) {
scrollingLayer = m_scrollLayer.get();
scrolledContentsLayer = nullptr;
counterScrollingLayer = fixedRootBackgroundLayer();
-
- scrollingGeometry.scrollOrigin = m_renderView.frameView().scrollOrigin();
- scrollingGeometry.scrollPosition = m_renderView.frameView().scrollPosition();
- scrollingGeometry.contentSize = m_renderView.frameView().totalContentsSize();
+ scrollingCoordinator->updateScrollingNode(nodeID, scrollingLayer, scrolledContentsLayer, counterScrollingLayer);
} else {
+ ScrollingCoordinator::ScrollingGeometry scrollingGeometry;
scrollingGeometry.scrollOrigin = layer.scrollOrigin();
scrollingGeometry.scrollPosition = layer.scrollPosition();
scrollingGeometry.contentSize = layer.contentsSize();
+ scrollingCoordinator->updateScrollingNode(nodeID, scrollingLayer, scrolledContentsLayer, counterScrollingLayer, &scrollingGeometry);
}
-
- scrollingCoordinator->updateScrollingNode(nodeID, scrollingLayer, scrolledContentsLayer, counterScrollingLayer, scrollingGeometry);
}
}