Changeset 259581 in webkit
- Timestamp:
- Apr 6, 2020, 11:09:10 AM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 6 edited
-
ChangeLog (modified) (1 diff)
-
dom/Element.cpp (modified) (2 diffs)
-
dom/Node.cpp (modified) (2 diffs)
-
dom/Text.cpp (modified) (1 diff)
-
dom/Text.h (modified) (1 diff)
-
rendering/RenderObject.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r259578 r259581 1 2020-04-06 Simon Fraser <simon.fraser@apple.com> 2 3 Make RenderObject TextStream-loggable 4 https://bugs.webkit.org/show_bug.cgi?id=210035 5 6 Post-landing followup. More use of StringBuilder's variadic append. Have Node::debugDescription() include 7 its address, and have derived classes get the base class debugDescription(). Add an override in Text. 8 9 * dom/Element.cpp: 10 (WebCore::Element::debugDescription const): 11 * dom/Node.cpp: 12 (WebCore::Node::debugDescription const): 13 * dom/Text.cpp: 14 (WebCore::Text::debugDescription const): 15 (WebCore::Text::formatForDebugger const): 16 * dom/Text.h: 17 * rendering/RenderObject.cpp: 18 (WebCore::RenderObject::debugDescription const): 19 1 20 2020-04-06 Cathie Chen <cathiechen@igalia.com> 2 21 -
trunk/Source/WebCore/dom/Element.cpp
r259577 r259581 2630 2630 StringBuilder builder; 2631 2631 2632 builder.append(nodeName()); 2633 2634 if (hasID()) { 2635 builder.appendLiteral(" id=\'"); 2636 builder.append(getIdAttribute()); 2637 builder.append('\''); 2638 } 2632 builder.append(ContainerNode::debugDescription()); 2633 2634 if (hasID()) 2635 builder.append(" id=\'", getIdAttribute(), '\''); 2639 2636 2640 2637 if (hasClass()) { 2641 2638 builder.appendLiteral(" class=\'"); 2642 2639 size_t classNamesToDump = classNames().size(); 2643 const size_t maxNumClassNames = 7;2640 constexpr size_t maxNumClassNames = 7; 2644 2641 bool addEllipsis = false; 2645 2642 if (classNamesToDump > maxNumClassNames) { … … 2654 2651 } 2655 2652 if (addEllipsis) 2656 builder.append(" ...");2653 builder.append(" ..."); 2657 2654 builder.append('\''); 2658 2655 } -
trunk/Source/WebCore/dom/Node.cpp
r259557 r259581 78 78 #include "XMLNames.h" 79 79 #include <JavaScriptCore/HeapInlines.h> 80 #include <wtf/HexNumber.h> 80 81 #include <wtf/IsoMallocInlines.h> 81 82 #include <wtf/RefCountedLeakCounter.h> … … 1755 1756 { 1756 1757 StringBuilder builder; 1757 1758 builder.append(nodeName()); 1759 1760 if (isTextNode()) { 1761 String value = nodeValue(); 1762 value.replaceWithLiteral('\\', "\\\\"); 1763 value.replaceWithLiteral('\n', "\\n"); 1764 1765 const size_t maxDumpLength = 30; 1766 if (value.length() > maxDumpLength) { 1767 value.truncate(maxDumpLength - 10); 1768 value.append("..."_s); 1769 } 1770 1771 builder.append(' '); 1772 builder.append('\"'); 1773 builder.append(value); 1774 builder.append('\"'); 1775 } 1776 1758 builder.append(nodeName(), " 0x"_s, hex(reinterpret_cast<uintptr_t>(this), Lowercase)); 1777 1759 return builder.toString(); 1778 1760 } -
trunk/Source/WebCore/dom/Text.cpp
r243163 r259581 222 222 } 223 223 224 String Text::debugDescription() const 225 { 226 StringBuilder builder; 227 228 builder.append(CharacterData::debugDescription()); 229 230 String value = data(); 231 builder.append(" length="_s, value.length()); 232 233 value.replaceWithLiteral('\\', "\\\\"); 234 value.replaceWithLiteral('\n', "\\n"); 235 236 const size_t maxDumpLength = 30; 237 if (value.length() > maxDumpLength) { 238 value.truncate(maxDumpLength - 10); 239 value.append("..."_s); 240 } 241 242 builder.append(" \"", value, '\"'); 243 244 return builder.toString(); 245 } 246 224 247 #if ENABLE(TREE_DEBUGGING) 225 248 void Text::formatForDebugger(char* buffer, unsigned length) const 226 249 { 227 StringBuilder result; 228 String s; 229 230 result.append(nodeName()); 231 232 s = data(); 233 if (s.length() > 0) { 234 if (result.length()) 235 result.appendLiteral("; "); 236 result.appendLiteral("length="); 237 result.appendNumber(s.length()); 238 result.appendLiteral("; value=\""); 239 result.append(s); 240 result.append('"'); 241 } 242 243 strncpy(buffer, result.toString().utf8().data(), length - 1); 250 strncpy(buffer, debugDescription().utf8().data(), length - 1); 244 251 buffer[length - 1] = '\0'; 245 252 } -
trunk/Source/WebCore/dom/Text.h
r229694 r259581 56 56 void updateRendererAfterContentChange(unsigned offsetOfReplacedData, unsigned lengthOfReplacedData); 57 57 58 String debugDescription() const final; 59 58 60 protected: 59 61 Text(Document& document, const String& data, ConstructionType type) -
trunk/Source/WebCore/rendering/RenderObject.cpp
r259575 r259581 1907 1907 StringBuilder builder; 1908 1908 1909 builder.append(renderName()); 1910 builder.append(" 0x"_s); 1911 builder.append(hex(reinterpret_cast<uintptr_t>(this), Lowercase)); 1912 builder.append(' '); 1913 1909 builder.append(renderName(), " 0x"_s, hex(reinterpret_cast<uintptr_t>(this), Lowercase)); 1914 1910 if (node()) 1915 builder.append( node()->debugDescription());1911 builder.append(' ', node()->debugDescription()); 1916 1912 1917 1913 return builder.toString();
Note:
See TracChangeset
for help on using the changeset viewer.