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

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

Issue 2372963002: Revert of Add tests for PaintPropertyTreePrinter, remove path printers (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 4d0ea45848ddaa1dde180c322713c128e3d38d14..2a08518d9c50a4a7bf7f3c898b247076496be311 100644
--- a/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp
+++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp
@@ -24,25 +24,25 @@
template <typename PropertyTreeNode>
class PropertyTreePrinter {
public:
- String treeAsString(const FrameView& frameView)
+ void showTree(const FrameView& frameView)
{
DCHECK(RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled());
collectPropertyNodes(frameView);
-
- const PropertyTreeNode* rootNode = lookupRootNode();
- if (!rootNode)
- return "";
-
- if (!m_nodeToDebugString.contains(rootNode))
- addPropertyNode(rootNode, "root");
-
- StringBuilder stringBuilder;
- addAllPropertyNodes(stringBuilder, rootNode);
- return stringBuilder.toString();
+ showAllPropertyNodes(nullptr);
+ }
+
+ void showPath(const PropertyTreeNode* node)
+ {
+ for (const PropertyTreeNode* n = node; n; n = n->parent())
+ addPropertyNode(n, "");
+ showAllPropertyNodes(nullptr);
}
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);
}
@@ -70,34 +70,34 @@
collectPropertyNodes(*child);
}
- void addAllPropertyNodes(StringBuilder& stringBuilder, const PropertyTreeNode* node, unsigned indent = 0)
- {
- DCHECK(node);
+ void showAllPropertyNodes(const PropertyTreeNode* node, unsigned indent = 0)
+ {
+ // 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 (m_nodeToDebugString.contains(node))
+ 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);
- stringBuilder.append("\n");
+ fprintf(stderr, "%s\n", stringBuilder.toString().ascii().data());
for (const auto* childNode : m_nodeToDebugString.keys()) {
if (childNode->parent() == node)
- addAllPropertyNodes(stringBuilder, childNode, indent + 2);
- }
- }
-
- // Root nodes may not be directly accessible but they can be determined by
- // walking up to the parent of a previously collected node.
- const PropertyTreeNode* lookupRootNode()
- {
- for (const auto* node : m_nodeToDebugString.keys()) {
- if (node->isRoot())
- return node;
- if (node->parent() && node->parent()->isRoot())
- return node->parent();
- }
- return nullptr;
+ showAllPropertyNodes(childNode, indent + 2);
+ }
}
HashMap<const PropertyTreeNode*, String> m_nodeToDebugString;
@@ -510,42 +510,42 @@
void showTransformPropertyTree(const blink::FrameView& rootFrame)
{
- fprintf(stderr, "%s\n", transformPropertyTreeAsString(rootFrame).utf8().data());
+ blink::PropertyTreePrinter<blink::TransformPaintPropertyNode>().showTree(rootFrame);
}
void showClipPropertyTree(const blink::FrameView& rootFrame)
{
- fprintf(stderr, "%s\n", clipPropertyTreeAsString(rootFrame).utf8().data());
+ blink::PropertyTreePrinter<blink::ClipPaintPropertyNode>().showTree(rootFrame);
}
void showEffectPropertyTree(const blink::FrameView& rootFrame)
{
- fprintf(stderr, "%s\n", effectPropertyTreeAsString(rootFrame).utf8().data());
+ blink::PropertyTreePrinter<blink::EffectPaintPropertyNode>().showTree(rootFrame);
}
void showScrollPropertyTree(const blink::FrameView& rootFrame)
{
- fprintf(stderr, "%s\n", scrollPropertyTreeAsString(rootFrame).utf8().data());
-}
-
-String transformPropertyTreeAsString(const blink::FrameView& rootFrame)
-{
- return blink::PropertyTreePrinter<blink::TransformPaintPropertyNode>().treeAsString(rootFrame);
-}
-
-String clipPropertyTreeAsString(const blink::FrameView& rootFrame)
-{
- return blink::PropertyTreePrinter<blink::ClipPaintPropertyNode>().treeAsString(rootFrame);
-}
-
-String effectPropertyTreeAsString(const blink::FrameView& rootFrame)
-{
- return blink::PropertyTreePrinter<blink::EffectPaintPropertyNode>().treeAsString(rootFrame);
-}
-
-String scrollPropertyTreeAsString(const blink::FrameView& rootFrame)
-{
- return blink::PropertyTreePrinter<blink::ScrollPaintPropertyNode>().treeAsString(rootFrame);
+ blink::PropertyTreePrinter<blink::ScrollPaintPropertyNode>().showTree(rootFrame);
+}
+
+void showPaintPropertyPath(const blink::TransformPaintPropertyNode* node)
+{
+ blink::PropertyTreePrinter<blink::TransformPaintPropertyNode>().showPath(node);
+}
+
+void showPaintPropertyPath(const blink::ClipPaintPropertyNode* node)
+{
+ blink::PropertyTreePrinter<blink::ClipPaintPropertyNode>().showPath(node);
+}
+
+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)

Powered by Google App Engine
This is Rietveld 408576698