|
Lines 2445-2470
void Node::showTreeForThis() const
a/Source/WebCore/dom/Node.cpp_sec1
|
| 2445 |
showTreeAndMark(this, "*"); |
2445 |
showTreeAndMark(this, "*"); |
| 2446 |
} |
2446 |
} |
| 2447 |
|
2447 |
|
| 2448 |
void Node::showTreeAndMark(const Node* markedNode1, const char* markedLabel1, const Node* markedNode2, const char * markedLabel2) const |
2448 |
static void traverseTreeAndMark(const String& baseIndent, const Node* rootNode, const Node* markedNode1, const char* markedLabel1, const Node* markedNode2, const char* markedLabel2) |
| 2449 |
{ |
2449 |
{ |
| 2450 |
const Node* rootNode; |
2450 |
for (const Node* node = rootNode; node; node = node->traverseNextNode()) { |
| 2451 |
const Node* node = this; |
|
|
| 2452 |
while (node->parentNode() && !node->hasTagName(bodyTag)) |
| 2453 |
node = node->parentNode(); |
| 2454 |
rootNode = node; |
| 2455 |
|
| 2456 |
for (node = rootNode; node; node = node->traverseNextNode()) { |
| 2457 |
if (node == markedNode1) |
2451 |
if (node == markedNode1) |
| 2458 |
fprintf(stderr, "%s", markedLabel1); |
2452 |
fprintf(stderr, "%s", markedLabel1); |
| 2459 |
if (node == markedNode2) |
2453 |
if (node == markedNode2) |
| 2460 |
fprintf(stderr, "%s", markedLabel2); |
2454 |
fprintf(stderr, "%s", markedLabel2); |
| 2461 |
|
2455 |
|
| 2462 |
for (const Node* tmpNode = node; tmpNode && tmpNode != rootNode; tmpNode = tmpNode->parentNode()) |
2456 |
String indent = baseIndent; |
| 2463 |
fprintf(stderr, "\t"); |
2457 |
for (const Node* tmpNode = node; tmpNode && tmpNode != rootNode; tmpNode = tmpNode->parentOrHostNode()) |
|
|
2458 |
indent += "\t"; |
| 2459 |
fprintf(stderr, "%s", indent.utf8().data()); |
| 2464 |
node->showNode(); |
2460 |
node->showNode(); |
|
|
2461 |
|
| 2462 |
if (ContainerNode* shadow = shadowRoot(const_cast<Node*>(node))) { |
| 2463 |
indent += "\t"; |
| 2464 |
traverseTreeAndMark(indent, shadow, markedNode1, markedLabel1, markedNode2, markedLabel2); |
| 2465 |
} |
| 2465 |
} |
2466 |
} |
| 2466 |
} |
2467 |
} |
| 2467 |
|
2468 |
|
|
|
2469 |
void Node::showTreeAndMark(const Node* markedNode1, const char* markedLabel1, const Node* markedNode2, const char* markedLabel2) const |
| 2470 |
{ |
| 2471 |
const Node* rootNode; |
| 2472 |
const Node* node = this; |
| 2473 |
while (node->parentOrHostNode() && !node->hasTagName(bodyTag)) |
| 2474 |
node = node->parentOrHostNode(); |
| 2475 |
rootNode = node; |
| 2476 |
|
| 2477 |
String startingIndent; |
| 2478 |
traverseTreeAndMark(startingIndent, rootNode, markedNode1, markedLabel1, markedNode2, markedLabel2); |
| 2479 |
} |
| 2480 |
|
| 2468 |
void Node::formatForDebugger(char* buffer, unsigned length) const |
2481 |
void Node::formatForDebugger(char* buffer, unsigned length) const |
| 2469 |
{ |
2482 |
{ |
| 2470 |
String result; |
2483 |
String result; |