Index: third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp b/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp |
index ecfa21d905a89406622d2507c7e5bfa4d29594ba..85f43fb7cfe1a5d94a5aecebb7cd6543cb815733 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp |
@@ -192,6 +192,30 @@ public: |
} |
}; |
+template <> |
+class PropertyTreePrinterTraits<ScrollPaintPropertyNode> { |
+public: |
+ static void addFrameViewProperties(const FrameView& frameView, PropertyTreePrinter<ScrollPaintPropertyNode>& printer) |
+ { |
+ if (const ScrollPaintPropertyNode* rootScroll = frameView.rootScroll()) |
+ printer.addPropertyNode(rootScroll, "RootScroll (FrameView)"); |
+ if (const ScrollPaintPropertyNode* scroll = frameView.scroll()) |
+ printer.addPropertyNode(scroll, "Scroll (FrameView)"); |
+ } |
+ |
+ static void addObjectPaintProperties(const LayoutObject& object, const ObjectPaintProperties& paintProperties, PropertyTreePrinter<ScrollPaintPropertyNode>& printer) |
+ { |
+ if (const ScrollPaintPropertyNode* scroll = paintProperties.scroll()) |
+ printer.addPropertyNode(scroll, "Scroll (" + object.debugName() + ")"); |
+ } |
+ |
+ static void printNodeAsString(const ScrollPaintPropertyNode* node, StringBuilder& stringBuilder) |
+ { |
+ // TODO(pdr): Fill this out. |
+ stringBuilder.append(String::format(" transform=%p ", node->transform())); |
+ } |
+}; |
+ |
class PaintPropertyTreeGraphBuilder { |
public: |
PaintPropertyTreeGraphBuilder() { } |
@@ -318,6 +342,11 @@ private: |
writeParentEdge(&node, node.parent(), s_effectNodeColor, os); |
} |
+ void writePaintPropertyNode(const ScrollPaintPropertyNode&, const void*, const char*) |
+ { |
+ // TODO(pdr): fill this out. |
+ } |
+ |
void writeObjectPaintPropertyNodes(const LayoutObject& object) |
{ |
const ObjectPaintProperties* properties = object.objectPaintProperties(); |
@@ -356,6 +385,9 @@ private: |
if (object.isLayoutView() && overflowClip->parent()) |
writePaintPropertyNode(*overflowClip->parent(), nullptr, "rootClip"); |
} |
+ const ScrollPaintPropertyNode* scroll = properties->scroll(); |
+ if (scroll) |
+ writePaintPropertyNode(*scroll, &object, "scroll"); |
} |
void writeFrameViewPaintPropertyNodes(const FrameView& frameView) |
@@ -378,6 +410,9 @@ private: |
ClipPaintPropertyNode* contentClip = frameView.contentClip(); |
if (contentClip) |
writePaintPropertyNode(*contentClip, &frameView, "contentClip"); |
+ ScrollPaintPropertyNode* scroll = frameView.scroll(); |
+ if (scroll) |
+ writePaintPropertyNode(*scroll, &frameView, "scroll"); |
} |
void writeLayoutObjectNode(const LayoutObject& object) |
@@ -456,6 +491,11 @@ void showEffectPropertyTree(const blink::FrameView& rootFrame) |
blink::PropertyTreePrinter<blink::EffectPaintPropertyNode>().showTree(rootFrame); |
} |
+void showScrollPropertyTree(const blink::FrameView& rootFrame) |
+{ |
+ blink::PropertyTreePrinter<blink::ScrollPaintPropertyNode>().showTree(rootFrame); |
+} |
+ |
void showPaintPropertyPath(const blink::TransformPaintPropertyNode* node) |
{ |
blink::PropertyTreePrinter<blink::TransformPaintPropertyNode>().showPath(node); |
@@ -471,6 +511,11 @@ void showPaintPropertyPath(const blink::EffectPaintPropertyNode* node) |
blink::PropertyTreePrinter<blink::EffectPaintPropertyNode>().showPath(node); |
} |
+void showPaintPropertyPath(const blink::ScrollPaintPropertyNode* node) |
+{ |
+ blink::PropertyTreePrinter<blink::ScrollPaintPropertyNode>().showPath(node); |
+} |
+ |
String paintPropertyTreeGraph(const blink::FrameView& frameView) |
{ |
blink::PaintPropertyTreeGraphBuilder builder; |