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

Unified Diff: Source/core/rendering/RenderTreeAsText.cpp

Issue 79433004: Display anonymous regions in DRT (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Patch for landing Created 7 years, 1 month 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
« no previous file with comments | « Source/core/rendering/RenderRegion.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/RenderTreeAsText.cpp
diff --git a/Source/core/rendering/RenderTreeAsText.cpp b/Source/core/rendering/RenderTreeAsText.cpp
index 4a2cb4532ccc4b2c620b425ef0a4090b09d6fcfa..4da8fb13dd2303f7fcc4e41fc4deb30579aa7ed8 100644
--- a/Source/core/rendering/RenderTreeAsText.cpp
+++ b/Source/core/rendering/RenderTreeAsText.cpp
@@ -476,13 +476,10 @@ void write(TextStream& ts, const RenderObject& o, int indent, RenderAsTextBehavi
}
}
- // FIXME: temporary hack to avoid rebase of regions tests
- if (!o.isRenderNamedFlowFragmentContainer()) {
- for (RenderObject* child = o.firstChild(); child; child = child->nextSibling()) {
- if (child->hasLayer())
- continue;
- write(ts, *child, indent + 1, behavior);
- }
+ for (RenderObject* child = o.firstChild(); child; child = child->nextSibling()) {
+ if (child->hasLayer())
+ continue;
+ write(ts, *child, indent + 1, behavior);
}
if (o.isWidget()) {
@@ -572,25 +569,47 @@ static void write(TextStream& ts, RenderLayer& l,
static void writeRenderRegionList(const RenderRegionList& flowThreadRegionList, TextStream& ts, int indent)
{
for (RenderRegionList::const_iterator itRR = flowThreadRegionList.begin(); itRR != flowThreadRegionList.end(); ++itRR) {
- RenderRegion* renderRegion = *itRR;
- writeIndent(ts, indent + 2);
- ts << "RenderRegion";
+ const RenderRegion* renderRegion = *itRR;
+
+ writeIndent(ts, indent);
+ ts << renderRegion->renderName();
+
Node* generatingNodeForRegion = renderRegion->generatingNodeForRegion();
if (generatingNodeForRegion) {
- String tagName = getTagName(generatingNodeForRegion);
- if (!tagName.isEmpty())
- ts << " {" << tagName << "}";
- if (generatingNodeForRegion->isElementNode() && generatingNodeForRegion->hasID()) {
- Element* element = toElement(generatingNodeForRegion);
- ts << " #" << element->idForStyleResolution();
- }
if (renderRegion->hasCustomRegionStyle())
ts << " region style: 1";
if (renderRegion->hasAutoLogicalHeight())
ts << " hasAutoLogicalHeight";
+
+ bool isRenderNamedFlowFragment = renderRegion->isRenderNamedFlowFragment();
+ if (isRenderNamedFlowFragment)
+ ts << " (anonymous child of";
+
+ StringBuilder tagName;
+ tagName.append(generatingNodeForRegion->nodeName());
+
+ Node* nodeForRegion = renderRegion->nodeForRegion();
+ if (nodeForRegion->isPseudoElement()) {
+ if (nodeForRegion->isBeforePseudoElement())
+ tagName.append("::before");
+ else if (nodeForRegion->isAfterPseudoElement())
+ tagName.append("::after");
+ }
+
+ ts << " {" << tagName.toString() << "}";
+
+ if (generatingNodeForRegion->isElementNode() && generatingNodeForRegion->hasID()) {
+ Element* element = toElement(generatingNodeForRegion);
+ ts << " #" << element->idForStyleResolution();
+ }
+
+ if (isRenderNamedFlowFragment)
+ ts << ")";
}
+
if (!renderRegion->isValid())
ts << " invalid";
+
ts << "\n";
}
}
@@ -604,25 +623,30 @@ static void writeRenderNamedFlowThreads(TextStream& ts, RenderView* renderView,
const RenderNamedFlowThreadList* list = renderView->flowThreadController()->renderNamedFlowThreadList();
writeIndent(ts, indent);
- ts << "Flow Threads\n";
+ ts << "Named flows\n";
for (RenderNamedFlowThreadList::const_iterator iter = list->begin(); iter != list->end(); ++iter) {
const RenderNamedFlowThread* renderFlowThread = *iter;
writeIndent(ts, indent + 1);
- ts << "Thread with flow-name '" << renderFlowThread->flowThreadName() << "'\n";
+ ts << "Named flow '" << renderFlowThread->flowThreadName() << "'\n";
RenderLayer* layer = renderFlowThread->layer();
RenderTreeAsText::writeLayers(ts, rootLayer, layer, paintRect, indent + 2, behavior);
// Display the valid and invalid render regions attached to this flow thread.
const RenderRegionList& validRegionsList = renderFlowThread->renderRegionList();
+ if (!validRegionsList.isEmpty()) {
+ writeIndent(ts, indent + 2);
+ ts << "Regions for named flow '" << renderFlowThread->flowThreadName() << "'\n";
+ writeRenderRegionList(validRegionsList, ts, indent + 3);
+ }
+
const RenderRegionList& invalidRegionsList = renderFlowThread->invalidRenderRegionList();
- if (!validRegionsList.isEmpty() || !invalidRegionsList.isEmpty()) {
- writeIndent(ts, indent + 1);
- ts << "Regions for flow '"<< renderFlowThread->flowThreadName() << "'\n";
- writeRenderRegionList(validRegionsList, ts, indent);
- writeRenderRegionList(invalidRegionsList, ts, indent);
+ if (!invalidRegionsList.isEmpty()) {
+ writeIndent(ts, indent + 2);
+ ts << "Invalid regions for named flow '" << renderFlowThread->flowThreadName() << "'\n";
+ writeRenderRegionList(invalidRegionsList, ts, indent + 3);
}
}
}
« no previous file with comments | « Source/core/rendering/RenderRegion.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698