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

Unified Diff: third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp

Issue 2320463002: [SPV2] Implement the blink-side scroll property tree (Closed)
Patch Set: Prevent circular reference caught by lsan Created 4 years, 3 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: 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 5550b1fcaad46a4c17f55a260fe5c4a0325bf2f8..2c0169ea59c7a98e2795ba17fcc189c72ddc7399 100644
--- a/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp
+++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp
@@ -193,6 +193,39 @@ 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)
+ {
+ FloatSize scrollOffset = node->scrollOffsetTranslation()->matrix().to2DTranslation();
+ stringBuilder.append(" scrollOffsetTranslation=");
+ stringBuilder.append(scrollOffset.toString());
+ stringBuilder.append(" clip=");
+ stringBuilder.append(node->clip().toString());
+ stringBuilder.append(" bounds=");
+ stringBuilder.append(node->bounds().toString());
+ stringBuilder.append(" userScrollableHorizontal=");
+ stringBuilder.append(node->userScrollableHorizontal() ? "yes" : "no");
+ stringBuilder.append(" userScrollableVertical=");
+ stringBuilder.append(node->userScrollableVertical() ? "yes" : "no");
+ }
+};
+
class PaintPropertyTreeGraphBuilder {
public:
PaintPropertyTreeGraphBuilder() { }
@@ -319,6 +352,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();
@@ -357,6 +395,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)
@@ -379,6 +420,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)
@@ -457,6 +501,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);
@@ -472,6 +521,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;

Powered by Google App Engine
This is Rietveld 408576698