Diff
Modified: trunk/Source/WebCore/ChangeLog (239547 => 239548)
--- trunk/Source/WebCore/ChangeLog 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/ChangeLog 2018-12-24 19:20:18 UTC (rev 239548)
@@ -1,3 +1,55 @@
+2018-12-24 Simon Fraser <[email protected]>
+
+ Change ScrollingNodeType to an enum class
+ https://bugs.webkit.org/show_bug.cgi?id=193009
+
+ Reviewed by Zalan Bujtas.
+
+ Change the ScrollingNodeType enum to an enum class.
+
+ No behavior change.
+
+ * page/scrolling/AsyncScrollingCoordinator.cpp:
+ (WebCore::AsyncScrollingCoordinator::ensureRootStateNodeForFrameView):
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::operator<<):
+ * page/scrolling/ScrollingCoordinator.h:
+ * page/scrolling/ScrollingStateFixedNode.cpp:
+ (WebCore::ScrollingStateFixedNode::ScrollingStateFixedNode):
+ * page/scrolling/ScrollingStateNode.h:
+ (WebCore::ScrollingStateNode::isFixedNode const):
+ (WebCore::ScrollingStateNode::isStickyNode const):
+ (WebCore::ScrollingStateNode::isFrameScrollingNode const):
+ (WebCore::ScrollingStateNode::isOverflowScrollingNode const):
+ * page/scrolling/ScrollingStateOverflowScrollingNode.cpp:
+ (WebCore::ScrollingStateOverflowScrollingNode::ScrollingStateOverflowScrollingNode):
+ * page/scrolling/ScrollingStateStickyNode.cpp:
+ (WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):
+ * page/scrolling/ScrollingStateTree.cpp:
+ (WebCore::ScrollingStateTree::createNode):
+ (WebCore::ScrollingStateTree::attachNode):
+ * page/scrolling/ScrollingTreeNode.h:
+ (WebCore::ScrollingTreeNode::isFixedNode const):
+ (WebCore::ScrollingTreeNode::isStickyNode const):
+ (WebCore::ScrollingTreeNode::isFrameScrollingNode const):
+ (WebCore::ScrollingTreeNode::isOverflowScrollingNode const):
+ * page/scrolling/ScrollingTreeOverflowScrollingNode.cpp:
+ (WebCore::ScrollingTreeOverflowScrollingNode::ScrollingTreeOverflowScrollingNode):
+ * page/scrolling/ios/ScrollingTreeIOS.cpp:
+ (WebCore::ScrollingTreeIOS::createScrollingTreeNode):
+ * page/scrolling/mac/ScrollingTreeFixedNode.mm:
+ (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
+ * page/scrolling/mac/ScrollingTreeMac.cpp:
+ (ScrollingTreeMac::createScrollingTreeNode):
+ * page/scrolling/mac/ScrollingTreeStickyNode.mm:
+ (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):
+ * platform/graphics/GraphicsLayerClient.h:
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::reattachSubframeScrollLayers):
+ (WebCore::scrollCoordinationRoleForNodeType):
+ (WebCore::RenderLayerCompositor::updateScrollCoordinationForThisFrame):
+ (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
+
2018-12-22 Carlos Garcia Campos <[email protected]>
[HarfBuzz] Width not correctly reported as 0 for zero font size
Modified: trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -510,7 +510,7 @@
// For non-main frames, it is only possible to arrive in this function from
// RenderLayerCompositor::updateBacking where the node has already been created.
ASSERT(frameView.frame().isMainFrame());
- attachToStateTree(MainFrameScrollingNode, frameView.scrollLayerID(), 0, 0);
+ attachToStateTree(ScrollingNodeType::MainFrame, frameView.scrollLayerID(), 0, 0);
}
void AsyncScrollingCoordinator::updateFrameScrollingNode(ScrollingNodeID nodeID, GraphicsLayer* layer, GraphicsLayer* scrolledContentsLayer, GraphicsLayer* counterScrollingLayer, GraphicsLayer* insetClipLayer, const ScrollingGeometry& scrollingGeometry)
Modified: trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -417,19 +417,19 @@
TextStream& operator<<(TextStream& ts, ScrollingNodeType nodeType)
{
switch (nodeType) {
- case MainFrameScrollingNode:
+ case ScrollingNodeType::MainFrame:
ts << "main-frame-scrolling";
break;
- case SubframeScrollingNode:
+ case ScrollingNodeType::Subframe:
ts << "subframe-scrolling";
break;
- case OverflowScrollingNode:
+ case ScrollingNodeType::Overflow:
ts << "overflow-scrolling";
break;
- case FixedNode:
+ case ScrollingNodeType::Fixed:
ts << "fixed";
break;
- case StickyNode:
+ case ScrollingNodeType::Sticky:
ts << "sticky";
break;
}
Modified: trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.h (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.h 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.h 2018-12-24 19:20:18 UTC (rev 239548)
@@ -54,7 +54,13 @@
typedef unsigned SynchronousScrollingReasons;
typedef uint64_t ScrollingNodeID;
-enum ScrollingNodeType { MainFrameScrollingNode, SubframeScrollingNode, OverflowScrollingNode, FixedNode, StickyNode };
+enum class ScrollingNodeType : uint8_t {
+ MainFrame,
+ Subframe,
+ Overflow,
+ Fixed,
+ Sticky
+};
enum ScrollingStateTreeAsTextBehaviorFlags {
ScrollingStateTreeAsTextBehaviorNormal = 0,
Modified: trunk/Source/WebCore/page/scrolling/ScrollingStateFixedNode.cpp (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/ScrollingStateFixedNode.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/ScrollingStateFixedNode.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -41,7 +41,7 @@
}
ScrollingStateFixedNode::ScrollingStateFixedNode(ScrollingStateTree& tree, ScrollingNodeID nodeID)
- : ScrollingStateNode(FixedNode, tree, nodeID)
+ : ScrollingStateNode(ScrollingNodeType::Fixed, tree, nodeID)
{
}
Modified: trunk/Source/WebCore/page/scrolling/ScrollingStateNode.h (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/ScrollingStateNode.h 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/ScrollingStateNode.h 2018-12-24 19:20:18 UTC (rev 239548)
@@ -196,11 +196,11 @@
ScrollingNodeType nodeType() const { return m_nodeType; }
- bool isFixedNode() const { return m_nodeType == FixedNode; }
- bool isStickyNode() const { return m_nodeType == StickyNode; }
+ bool isFixedNode() const { return m_nodeType == ScrollingNodeType::Fixed; }
+ bool isStickyNode() const { return m_nodeType == ScrollingNodeType::Sticky; }
bool isScrollingNode() const { return isFrameScrollingNode() || isOverflowScrollingNode(); }
- bool isFrameScrollingNode() const { return m_nodeType == MainFrameScrollingNode || m_nodeType == SubframeScrollingNode; }
- bool isOverflowScrollingNode() const { return m_nodeType == OverflowScrollingNode; }
+ bool isFrameScrollingNode() const { return m_nodeType == ScrollingNodeType::MainFrame || m_nodeType == ScrollingNodeType::Subframe; }
+ bool isOverflowScrollingNode() const { return m_nodeType == ScrollingNodeType::Overflow; }
virtual Ref<ScrollingStateNode> clone(ScrollingStateTree& adoptiveTree) = 0;
Ref<ScrollingStateNode> cloneAndReset(ScrollingStateTree& adoptiveTree);
Modified: trunk/Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.cpp (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -39,7 +39,7 @@
}
ScrollingStateOverflowScrollingNode::ScrollingStateOverflowScrollingNode(ScrollingStateTree& stateTree, ScrollingNodeID nodeID)
- : ScrollingStateScrollingNode(stateTree, OverflowScrollingNode, nodeID)
+ : ScrollingStateScrollingNode(stateTree, ScrollingNodeType::Overflow, nodeID)
{
}
Modified: trunk/Source/WebCore/page/scrolling/ScrollingStateStickyNode.cpp (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/ScrollingStateStickyNode.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/ScrollingStateStickyNode.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -41,7 +41,7 @@
}
ScrollingStateStickyNode::ScrollingStateStickyNode(ScrollingStateTree& tree, ScrollingNodeID nodeID)
- : ScrollingStateNode(StickyNode, tree, nodeID)
+ : ScrollingStateNode(ScrollingNodeType::Sticky, tree, nodeID)
{
}
Modified: trunk/Source/WebCore/page/scrolling/ScrollingStateTree.cpp (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/ScrollingStateTree.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/ScrollingStateTree.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -68,15 +68,15 @@
Ref<ScrollingStateNode> ScrollingStateTree::createNode(ScrollingNodeType nodeType, ScrollingNodeID nodeID)
{
switch (nodeType) {
- case FixedNode:
+ case ScrollingNodeType::MainFrame:
+ case ScrollingNodeType::Subframe:
+ return ScrollingStateFrameScrollingNode::create(*this, nodeType, nodeID);
+ case ScrollingNodeType::Overflow:
+ return ScrollingStateOverflowScrollingNode::create(*this, nodeID);
+ case ScrollingNodeType::Fixed:
return ScrollingStateFixedNode::create(*this, nodeID);
- case StickyNode:
+ case ScrollingNodeType::Sticky:
return ScrollingStateStickyNode::create(*this, nodeID);
- case MainFrameScrollingNode:
- case SubframeScrollingNode:
- return ScrollingStateFrameScrollingNode::create(*this, nodeType, nodeID);
- case OverflowScrollingNode:
- return ScrollingStateOverflowScrollingNode::create(*this, nodeID);
}
ASSERT_NOT_REACHED();
return ScrollingStateFixedNode::create(*this, nodeID);
@@ -132,7 +132,7 @@
// If we're resetting the root node, we should clear the HashMap and destroy the current children.
clear();
- setRootStateNode(ScrollingStateFrameScrollingNode::create(*this, MainFrameScrollingNode, newNodeID));
+ setRootStateNode(ScrollingStateFrameScrollingNode::create(*this, ScrollingNodeType::MainFrame, newNodeID));
newNode = rootStateNode();
m_hasNewRootStateNode = true;
} else {
@@ -142,7 +142,7 @@
return 0;
}
- if (nodeType == SubframeScrollingNode && parentID) {
+ if (nodeType == ScrollingNodeType::Subframe && parentID) {
if (auto orphanedNode = m_orphanedSubframeNodes.take(newNodeID)) {
newNode = orphanedNode.get();
if (childIndex == notFound)
Modified: trunk/Source/WebCore/page/scrolling/ScrollingTreeNode.h (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/ScrollingTreeNode.h 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTreeNode.h 2018-12-24 19:20:18 UTC (rev 239548)
@@ -47,11 +47,11 @@
ScrollingNodeType nodeType() const { return m_nodeType; }
ScrollingNodeID scrollingNodeID() const { return m_nodeID; }
- bool isFixedNode() const { return nodeType() == FixedNode; }
- bool isStickyNode() const { return nodeType() == StickyNode; }
+ bool isFixedNode() const { return nodeType() == ScrollingNodeType::Fixed; }
+ bool isStickyNode() const { return nodeType() == ScrollingNodeType::Sticky; }
bool isScrollingNode() const { return isFrameScrollingNode() || isOverflowScrollingNode(); }
- bool isFrameScrollingNode() const { return nodeType() == MainFrameScrollingNode || nodeType() == SubframeScrollingNode; }
- bool isOverflowScrollingNode() const { return nodeType() == OverflowScrollingNode; }
+ bool isFrameScrollingNode() const { return nodeType() == ScrollingNodeType::MainFrame || nodeType() == ScrollingNodeType::Subframe; }
+ bool isOverflowScrollingNode() const { return nodeType() == ScrollingNodeType::Overflow; }
virtual void commitStateBeforeChildren(const ScrollingStateNode&) = 0;
virtual void commitStateAfterChildren(const ScrollingStateNode&) { }
Modified: trunk/Source/WebCore/page/scrolling/ScrollingTreeOverflowScrollingNode.cpp (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/ScrollingTreeOverflowScrollingNode.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTreeOverflowScrollingNode.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -34,7 +34,7 @@
namespace WebCore {
ScrollingTreeOverflowScrollingNode::ScrollingTreeOverflowScrollingNode(ScrollingTree& scrollingTree, ScrollingNodeID nodeID)
- : ScrollingTreeScrollingNode(scrollingTree, OverflowScrollingNode, nodeID)
+ : ScrollingTreeScrollingNode(scrollingTree, ScrollingNodeType::Overflow, nodeID)
{
}
Modified: trunk/Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeCoordinatedGraphics.cpp (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeCoordinatedGraphics.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeCoordinatedGraphics.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -49,15 +49,15 @@
Ref<ScrollingTreeNode> ScrollingTreeCoordinatedGraphics::createScrollingTreeNode(ScrollingNodeType nodeType, ScrollingNodeID nodeID)
{
switch (nodeType) {
- case MainFrameScrollingNode:
- case SubframeScrollingNode:
+ case ScrollingNodeType::MainFrame:
+ case ScrollingNodeType::Subframe:
return ScrollingTreeFrameScrollingNodeCoordinatedGraphics::create(*this, nodeType, nodeID);
- case OverflowScrollingNode:
+ case ScrollingNodeType::Overflow:
// Should not be reached -- caught by ASSERT_NOT_REACHED() below.
break;
- case FixedNode:
+ case ScrollingNodeType::Fixed:
return ScrollingTreeFixedNode::create(*this, nodeID);
- case StickyNode:
+ case ScrollingNodeType::Sticky:
return ScrollingTreeStickyNode::create(*this, nodeID);
}
Modified: trunk/Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeFixedNode.cpp (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeFixedNode.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeFixedNode.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -40,7 +40,7 @@
}
ScrollingTreeFixedNode::ScrollingTreeFixedNode(ScrollingTree& scrollingTree, ScrollingNodeID nodeID)
- : ScrollingTreeNode(scrollingTree, FixedNode, nodeID)
+ : ScrollingTreeNode(scrollingTree, ScrollingNodeType::Fixed, nodeID)
{
scrollingTree.fixedOrStickyNodeAdded();
}
Modified: trunk/Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeStickyNode.cpp (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeStickyNode.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeStickyNode.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -40,7 +40,7 @@
}
ScrollingTreeStickyNode::ScrollingTreeStickyNode(ScrollingTree& scrollingTree, ScrollingNodeID nodeID)
- : ScrollingTreeNode(scrollingTree, StickyNode, nodeID)
+ : ScrollingTreeNode(scrollingTree, ScrollingNodeType::Sticky, nodeID)
{
scrollingTree.fixedOrStickyNodeAdded();
}
Modified: trunk/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -86,15 +86,15 @@
Ref<ScrollingTreeNode> ScrollingTreeIOS::createScrollingTreeNode(ScrollingNodeType nodeType, ScrollingNodeID nodeID)
{
switch (nodeType) {
- case MainFrameScrollingNode:
- case SubframeScrollingNode:
+ case ScrollingNodeType::MainFrame:
+ case ScrollingNodeType::Subframe:
return ScrollingTreeFrameScrollingNodeIOS::create(*this, nodeType, nodeID);
- case OverflowScrollingNode:
+ case ScrollingNodeType::Overflow:
ASSERT_NOT_REACHED();
break;
- case FixedNode:
+ case ScrollingNodeType::Fixed:
return ScrollingTreeFixedNode::create(*this, nodeID);
- case StickyNode:
+ case ScrollingNodeType::Sticky:
return ScrollingTreeStickyNode::create(*this, nodeID);
}
ASSERT_NOT_REACHED();
Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm 2018-12-24 19:20:18 UTC (rev 239548)
@@ -42,7 +42,7 @@
}
ScrollingTreeFixedNode::ScrollingTreeFixedNode(ScrollingTree& scrollingTree, ScrollingNodeID nodeID)
- : ScrollingTreeNode(scrollingTree, FixedNode, nodeID)
+ : ScrollingTreeNode(scrollingTree, ScrollingNodeType::Fixed, nodeID)
{
scrollingTree.fixedOrStickyNodeAdded();
}
Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeMac.cpp (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeMac.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeMac.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -47,15 +47,15 @@
Ref<ScrollingTreeNode> ScrollingTreeMac::createScrollingTreeNode(ScrollingNodeType nodeType, ScrollingNodeID nodeID)
{
switch (nodeType) {
- case MainFrameScrollingNode:
- case SubframeScrollingNode:
+ case ScrollingNodeType::MainFrame:
+ case ScrollingNodeType::Subframe:
return ScrollingTreeFrameScrollingNodeMac::create(*this, nodeType, nodeID);
- case OverflowScrollingNode:
+ case ScrollingNodeType::Overflow:
ASSERT_NOT_REACHED();
break;
- case FixedNode:
+ case ScrollingNodeType::Fixed:
return ScrollingTreeFixedNode::create(*this, nodeID);
- case StickyNode:
+ case ScrollingNodeType::Sticky:
return ScrollingTreeStickyNode::create(*this, nodeID);
}
ASSERT_NOT_REACHED();
Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.mm (239547 => 239548)
--- trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.mm 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.mm 2018-12-24 19:20:18 UTC (rev 239548)
@@ -44,7 +44,7 @@
}
ScrollingTreeStickyNode::ScrollingTreeStickyNode(ScrollingTree& scrollingTree, ScrollingNodeID nodeID)
- : ScrollingTreeNode(scrollingTree, StickyNode, nodeID)
+ : ScrollingTreeNode(scrollingTree, ScrollingNodeType::Sticky, nodeID)
{
scrollingTree.fixedOrStickyNodeAdded();
}
Modified: trunk/Source/WebCore/platform/graphics/GraphicsLayerClient.h (239547 => 239548)
--- trunk/Source/WebCore/platform/graphics/GraphicsLayerClient.h 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/platform/graphics/GraphicsLayerClient.h 2018-12-24 19:20:18 UTC (rev 239548)
@@ -55,9 +55,9 @@
AnimatedPropertyTransform,
AnimatedPropertyOpacity,
AnimatedPropertyBackgroundColor,
- AnimatedPropertyFilter
+ AnimatedPropertyFilter,
#if ENABLE(FILTERS_LEVEL_2)
- , AnimatedPropertyWebkitBackdropFilter
+ AnimatedPropertyWebkitBackdropFilter,
#endif
};
Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (239547 => 239548)
--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -3806,7 +3806,7 @@
if (!parentNodeID)
continue;
- scrollingCoordinator->attachToStateTree(child->isMainFrame() ? MainFrameScrollingNode : SubframeScrollingNode, frameScrollingNodeID, parentNodeID);
+ scrollingCoordinator->attachToStateTree(child->isMainFrame() ? ScrollingNodeType::MainFrame : ScrollingNodeType::Subframe, frameScrollingNodeID, parentNodeID);
}
}
@@ -3813,12 +3813,12 @@
static inline LayerScrollCoordinationRole scrollCoordinationRoleForNodeType(ScrollingNodeType nodeType)
{
switch (nodeType) {
- case MainFrameScrollingNode:
- case SubframeScrollingNode:
- case OverflowScrollingNode:
+ case ScrollingNodeType::MainFrame:
+ case ScrollingNodeType::Subframe:
+ case ScrollingNodeType::Overflow:
return Scrolling;
- case FixedNode:
- case StickyNode:
+ case ScrollingNodeType::Fixed:
+ case ScrollingNodeType::Sticky:
return ViewportConstrained;
}
ASSERT_NOT_REACHED();
@@ -3874,7 +3874,7 @@
FrameView& frameView = m_renderView.frameView();
ASSERT(scrollingCoordinator->coordinatesScrollingForFrameView(frameView));
- ScrollingNodeID nodeID = attachScrollingNode(*m_renderView.layer(), m_renderView.frame().isMainFrame() ? MainFrameScrollingNode : SubframeScrollingNode, parentNodeID);
+ ScrollingNodeID nodeID = attachScrollingNode(*m_renderView.layer(), m_renderView.frame().isMainFrame() ? ScrollingNodeType::MainFrame : ScrollingNodeType::Subframe, parentNodeID);
ScrollingCoordinator::ScrollingGeometry scrollingGeometry;
// FIXME(https://webkit.org/b/172917): Pass parentRelativeScrollableRect?
scrollingGeometry.scrollOrigin = frameView.scrollOrigin();
@@ -3918,11 +3918,11 @@
// Always call this even if the backing is already attached because the parent may have changed.
// If a node plays both roles, fixed/sticky is always the ancestor node of scrolling.
if (reasons & ViewportConstrained) {
- ScrollingNodeType nodeType = MainFrameScrollingNode;
+ ScrollingNodeType nodeType = ScrollingNodeType::MainFrame;
if (layer.renderer().isFixedPositioned())
- nodeType = FixedNode;
+ nodeType = ScrollingNodeType::Fixed;
else if (layer.renderer().style().position() == PositionType::Sticky)
- nodeType = StickyNode;
+ nodeType = ScrollingNodeType::Sticky;
else
ASSERT_NOT_REACHED();
@@ -3937,15 +3937,15 @@
if (changes & ScrollingNodeChangeFlags::LayerGeometry) {
switch (nodeType) {
- case FixedNode:
+ case ScrollingNodeType::Fixed:
scrollingCoordinator->updateNodeViewportConstraints(nodeID, computeFixedViewportConstraints(layer));
break;
- case StickyNode:
+ case ScrollingNodeType::Sticky:
scrollingCoordinator->updateNodeViewportConstraints(nodeID, computeStickyViewportConstraints(layer));
break;
- case MainFrameScrollingNode:
- case SubframeScrollingNode:
- case OverflowScrollingNode:
+ case ScrollingNodeType::MainFrame:
+ case ScrollingNodeType::Subframe:
+ case ScrollingNodeType::Overflow:
break;
}
}
@@ -3958,7 +3958,7 @@
if (isRenderViewLayer)
updateScrollCoordinationForThisFrame(parentNodeID);
else {
- ScrollingNodeType nodeType = OverflowScrollingNode;
+ ScrollingNodeType nodeType = ScrollingNodeType::Overflow;
ScrollingNodeID nodeID = attachScrollingNode(layer, nodeType, parentNodeID);
if (!nodeID)
return;
Modified: trunk/Source/WebKit/ChangeLog (239547 => 239548)
--- trunk/Source/WebKit/ChangeLog 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebKit/ChangeLog 2018-12-24 19:20:18 UTC (rev 239548)
@@ -1,3 +1,27 @@
+2018-12-24 Simon Fraser <[email protected]>
+
+ Change ScrollingNodeType to an enum class
+ https://bugs.webkit.org/show_bug.cgi?id=193009
+
+ Reviewed by Zalan Bujtas.
+
+ Change the ScrollingNodeType enum to an enum class.
+
+ No behavior change.
+
+ * Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
+ (WebKit::encodeNodeAndDescendants):
+ (WebKit::RemoteScrollingCoordinatorTransaction::decode):
+ (WebKit::dump):
+ * UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
+ (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
+ * UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:
+ (WebKit::RemoteScrollingTree::createScrollingTreeNode):
+ * UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:
+ (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
+ * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:
+ (WebKit::ScrollingTreeScrollingNodeDelegateIOS::updateChildNodesAfterScroll):
+
2018-12-23 Wenson Hsieh <[email protected]>
[iOS] Remove some unnecessary editing SPI after <rdar://problem/46047546>
Modified: trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp (239547 => 239548)
--- trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -333,17 +333,17 @@
++encodedNodeCount;
switch (stateNode.nodeType()) {
- case MainFrameScrollingNode:
- case SubframeScrollingNode:
+ case ScrollingNodeType::MainFrame:
+ case ScrollingNodeType::Subframe:
encoder << downcast<ScrollingStateFrameScrollingNode>(stateNode);
break;
- case OverflowScrollingNode:
+ case ScrollingNodeType::Overflow:
encoder << downcast<ScrollingStateOverflowScrollingNode>(stateNode);
break;
- case FixedNode:
+ case ScrollingNodeType::Fixed:
encoder << downcast<ScrollingStateFixedNode>(stateNode);
break;
- case StickyNode:
+ case ScrollingNodeType::Sticky:
encoder << downcast<ScrollingStateStickyNode>(stateNode);
break;
}
@@ -418,20 +418,20 @@
ASSERT(!parentNodeID || newNode->parent());
switch (nodeType) {
- case MainFrameScrollingNode:
- case SubframeScrollingNode:
+ case ScrollingNodeType::MainFrame:
+ case ScrollingNodeType::Subframe:
if (!decoder.decode(downcast<ScrollingStateFrameScrollingNode>(*newNode)))
return false;
break;
- case OverflowScrollingNode:
+ case ScrollingNodeType::Overflow:
if (!decoder.decode(downcast<ScrollingStateOverflowScrollingNode>(*newNode)))
return false;
break;
- case FixedNode:
+ case ScrollingNodeType::Fixed:
if (!decoder.decode(downcast<ScrollingStateFixedNode>(*newNode)))
return false;
break;
- case StickyNode:
+ case ScrollingNodeType::Sticky:
if (!decoder.decode(downcast<ScrollingStateStickyNode>(*newNode)))
return false;
break;
@@ -562,17 +562,17 @@
ts.dumpProperty("layer", static_cast<GraphicsLayer::PlatformLayerID>(node.layer()));
switch (node.nodeType()) {
- case MainFrameScrollingNode:
- case SubframeScrollingNode:
+ case ScrollingNodeType::MainFrame:
+ case ScrollingNodeType::Subframe:
dump(ts, downcast<ScrollingStateFrameScrollingNode>(node), changedPropertiesOnly);
break;
- case OverflowScrollingNode:
+ case ScrollingNodeType::Overflow:
dump(ts, downcast<ScrollingStateOverflowScrollingNode>(node), changedPropertiesOnly);
break;
- case FixedNode:
+ case ScrollingNodeType::Fixed:
dump(ts, downcast<ScrollingStateFixedNode>(node), changedPropertiesOnly);
break;
- case StickyNode:
+ case ScrollingNodeType::Sticky:
dump(ts, downcast<ScrollingStateStickyNode>(node), changedPropertiesOnly);
break;
}
Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp (239547 => 239548)
--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -103,8 +103,8 @@
currNode->setLayer(layerTreeHost.layerForID(currNode->layer()));
switch (currNode->nodeType()) {
- case MainFrameScrollingNode:
- case SubframeScrollingNode: {
+ case ScrollingNodeType::MainFrame:
+ case ScrollingNodeType::Subframe: {
ScrollingStateFrameScrollingNode& scrollingStateNode = downcast<ScrollingStateFrameScrollingNode>(*currNode);
if (scrollingStateNode.hasChangedProperty(ScrollingStateScrollingNode::ScrolledContentsLayer))
@@ -127,7 +127,7 @@
scrollingStateNode.setFooterLayer(layerTreeHost.layerForID(scrollingStateNode.footerLayer()));
break;
}
- case OverflowScrollingNode: {
+ case ScrollingNodeType::Overflow: {
ScrollingStateOverflowScrollingNode& scrollingStateNode = downcast<ScrollingStateOverflowScrollingNode>(*currNode);
if (scrollingStateNode.hasChangedProperty(ScrollingStateScrollingNode::ScrolledContentsLayer))
@@ -134,8 +134,8 @@
scrollingStateNode.setScrolledContentsLayer(layerTreeHost.layerForID(scrollingStateNode.scrolledContentsLayer()));
break;
}
- case FixedNode:
- case StickyNode:
+ case ScrollingNodeType::Fixed:
+ case ScrollingNodeType::Sticky:
break;
}
}
Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp (239547 => 239548)
--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp 2018-12-24 19:20:18 UTC (rev 239548)
@@ -112,14 +112,14 @@
Ref<ScrollingTreeNode> RemoteScrollingTree::createScrollingTreeNode(ScrollingNodeType nodeType, ScrollingNodeID nodeID)
{
switch (nodeType) {
- case MainFrameScrollingNode:
- case SubframeScrollingNode:
+ case ScrollingNodeType::MainFrame:
+ case ScrollingNodeType::Subframe:
#if PLATFORM(IOS_FAMILY)
return ScrollingTreeFrameScrollingNodeIOS::create(*this, nodeType, nodeID);
#else
return ScrollingTreeFrameScrollingNodeMac::create(*this, nodeType, nodeID);
#endif
- case OverflowScrollingNode:
+ case ScrollingNodeType::Overflow:
#if PLATFORM(IOS_FAMILY)
return ScrollingTreeOverflowScrollingNodeIOS::create(*this, nodeID);
#else
@@ -126,9 +126,9 @@
ASSERT_NOT_REACHED();
break;
#endif
- case FixedNode:
+ case ScrollingNodeType::Fixed:
return ScrollingTreeFixedNode::create(*this, nodeID);
- case StickyNode:
+ case ScrollingNodeType::Sticky:
return ScrollingTreeStickyNode::create(*this, nodeID);
}
ASSERT_NOT_REACHED();
Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm (239547 => 239548)
--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm 2018-12-24 19:20:18 UTC (rev 239548)
@@ -51,7 +51,7 @@
{
for (auto& currNode : stateTree.nodeMap().values()) {
switch (currNode->nodeType()) {
- case OverflowScrollingNode: {
+ case ScrollingNodeType::Overflow: {
ScrollingStateOverflowScrollingNode& scrollingStateNode = downcast<ScrollingStateOverflowScrollingNode>(*currNode);
if (scrollingStateNode.hasChangedProperty(ScrollingStateNode::ScrollLayer))
@@ -61,8 +61,8 @@
scrollingStateNode.setScrolledContentsLayer(layerTreeHost.layerForID(scrollingStateNode.scrolledContentsLayer()));
break;
};
- case MainFrameScrollingNode:
- case SubframeScrollingNode: {
+ case ScrollingNodeType::MainFrame:
+ case ScrollingNodeType::Subframe: {
ScrollingStateFrameScrollingNode& scrollingStateNode = downcast<ScrollingStateFrameScrollingNode>(*currNode);
if (scrollingStateNode.hasChangedProperty(ScrollingStateNode::ScrollLayer))
@@ -79,8 +79,8 @@
scrollingStateNode.setFooterLayer(layerTreeHost.layerForID(scrollingStateNode.footerLayer()));
break;
}
- case FixedNode:
- case StickyNode:
+ case ScrollingNodeType::Fixed:
+ case ScrollingNodeType::Sticky:
if (currNode->hasChangedProperty(ScrollingStateNode::ScrollLayer))
currNode->setLayer(layerTreeHost.layerForID(currNode->layer()));
break;
Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm (239547 => 239548)
--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm 2018-12-24 05:07:01 UTC (rev 239547)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm 2018-12-24 19:20:18 UTC (rev 239548)
@@ -246,7 +246,7 @@
FloatRect fixedPositionRect;
auto* frameNode = scrollingNode().enclosingFrameNodeIncludingSelf();
- if (frameNode && frameNode->nodeType() == SubframeScrollingNode)
+ if (frameNode && frameNode->nodeType() == ScrollingNodeType::Subframe)
fixedPositionRect = frameNode->fixedPositionRect();
else
fixedPositionRect = scrollingTree().fixedPositionRect();