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

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

Issue 2359063002: Add static root property tree nodes [spv2] (Closed)
Patch Set: 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 99ba3fb359bac352379d706d4f28c2bd7e2439b2..52bd278dee39c9612c1f3584da913d517eec3e05 100644
--- a/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp
+++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp
@@ -40,6 +40,9 @@ public:
void addPropertyNode(const PropertyTreeNode* node, String debugInfo)
{
+ // showAllPropertyNodes determines the root node itself so roots should
+ // not be added explicitly.
+ DCHECK(node && !node->isRoot());
m_nodeToDebugString.set(node, debugInfo);
}
@@ -69,17 +72,28 @@ private:
void showAllPropertyNodes(const PropertyTreeNode* node, unsigned indent = 0)
{
- if (node) {
- StringBuilder stringBuilder;
- for (unsigned i = 0; i < indent; i++)
- stringBuilder.append(' ');
- if (m_nodeToDebugString.contains(node))
- stringBuilder.append(m_nodeToDebugString.get(node));
- stringBuilder.append(String::format(" %p", node));
- Traits::printNodeAsString(node, stringBuilder);
- fprintf(stderr, "%s\n", stringBuilder.toString().ascii().data());
+ // If no node is specified, show the root node.
+ if (!node) {
+ for (const auto* childNode : m_nodeToDebugString.keys()) {
+ if (childNode->parent() && childNode->parent()->isRoot()) {
+ showAllPropertyNodes(childNode->parent());
+ break;
+ }
+ }
+ return;
}
+ StringBuilder stringBuilder;
+ for (unsigned i = 0; i < indent; i++)
+ stringBuilder.append(' ');
+ if (node->isRoot())
+ stringBuilder.append("root");
+ else if (m_nodeToDebugString.contains(node))
+ stringBuilder.append(m_nodeToDebugString.get(node));
+ stringBuilder.append(String::format(" %p", node));
+ Traits::printNodeAsString(node, stringBuilder);
+ fprintf(stderr, "%s\n", stringBuilder.toString().ascii().data());
+
for (const auto* childNode : m_nodeToDebugString.keys()) {
if (childNode->parent() == node)
showAllPropertyNodes(childNode, indent + 2);
@@ -94,8 +108,6 @@ class PropertyTreePrinterTraits<TransformPaintPropertyNode> {
public:
static void addFrameViewProperties(const FrameView& frameView, PropertyTreePrinter<TransformPaintPropertyNode>& printer)
{
- if (const TransformPaintPropertyNode* rootTransform = frameView.rootTransform())
- printer.addPropertyNode(rootTransform, "RootTransform (FrameView)");
if (const TransformPaintPropertyNode* preTranslation = frameView.preTranslation())
printer.addPropertyNode(preTranslation, "PreTranslation (FrameView)");
if (const TransformPaintPropertyNode* scrollTranslation = frameView.scrollTranslation())
@@ -144,8 +156,6 @@ class PropertyTreePrinterTraits<ClipPaintPropertyNode> {
public:
static void addFrameViewProperties(const FrameView& frameView, PropertyTreePrinter<ClipPaintPropertyNode>& printer)
{
- if (const ClipPaintPropertyNode* rootClip = frameView.rootClip())
- printer.addPropertyNode(rootClip, "RootClip (FrameView)");
if (const ClipPaintPropertyNode* contentClip = frameView.contentClip())
printer.addPropertyNode(contentClip, "ContentClip (FrameView)");
}
@@ -174,8 +184,6 @@ class PropertyTreePrinterTraits<EffectPaintPropertyNode> {
public:
static void addFrameViewProperties(const FrameView& frameView, PropertyTreePrinter<EffectPaintPropertyNode>& printer)
{
- if (const EffectPaintPropertyNode* rootEffect = frameView.rootEffect())
- printer.addPropertyNode(rootEffect, "RootEffect (FrameView)");
}
static void addObjectPaintProperties(const LayoutObject& object, const ObjectPaintProperties& paintProperties, PropertyTreePrinter<EffectPaintPropertyNode>& printer)
@@ -195,8 +203,6 @@ 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)");
}
@@ -401,15 +407,6 @@ private:
void writeFrameViewPaintPropertyNodes(const FrameView& frameView)
{
- TransformPaintPropertyNode* rootTransform = frameView.rootTransform();
- if (rootTransform)
- writePaintPropertyNode(*rootTransform, &frameView, "rootTransform");
- ClipPaintPropertyNode* rootClip = frameView.rootClip();
- if (rootClip)
- writePaintPropertyNode(*rootClip, &frameView, "rootClip");
- EffectPaintPropertyNode* rootEffect = frameView.rootEffect();
- if (rootEffect)
- writePaintPropertyNode(*rootEffect, &frameView, "rootEffect");
TransformPaintPropertyNode* preTranslation = frameView.preTranslation();
if (preTranslation)
writePaintPropertyNode(*preTranslation, &frameView, "preTranslation");

Powered by Google App Engine
This is Rietveld 408576698