[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

simon.fraser at apple.com simon.fraser at apple.com
Wed Dec 22 11:09:29 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 64f349f6df0b3d8d57a77ee870e5b8c0a929f442
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jul 14 00:38:28 2010 +0000

    2010-07-13  Simon Fraser  <simon.fraser at apple.com>
    
            Reviewed by Dan Bernstein.
    
            Show IDs and classnames in layer tree dumps
            https://bugs.webkit.org/show_bug.cgi?id=42213
    
            When dumping the layer tree via showLayerTree(), include id and class attributes for
            ease of debugging.
    
            No tests, since this is debug-only code.
    
            * rendering/RenderLayer.cpp:
            (showLayerTree):
            * rendering/RenderTreeAsText.cpp:
            (WebCore::RenderTreeAsText::writeRenderObject):
            * rendering/RenderTreeAsText.h:
            (WebCore::):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63269 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index b8d7776..2f9b841 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,5 +1,24 @@
 2010-07-13  Simon Fraser  <simon.fraser at apple.com>
 
+        Reviewed by Dan Bernstein.
+
+        Show IDs and classnames in layer tree dumps
+        https://bugs.webkit.org/show_bug.cgi?id=42213
+
+        When dumping the layer tree via showLayerTree(), include id and class attributes for
+        ease of debugging.
+        
+        No tests, since this is debug-only code.
+
+        * rendering/RenderLayer.cpp:
+        (showLayerTree):
+        * rendering/RenderTreeAsText.cpp:
+        (WebCore::RenderTreeAsText::writeRenderObject):
+        * rendering/RenderTreeAsText.h:
+        (WebCore::):
+
+2010-07-13  Simon Fraser  <simon.fraser at apple.com>
+
         Build fix: fix WebCore exports by editing the .in file, rather than the generated file.
 
         * WebCore.exp.in:
diff --git a/WebCore/rendering/RenderLayer.cpp b/WebCore/rendering/RenderLayer.cpp
index eaf704d..d6f5e8e 100644
--- a/WebCore/rendering/RenderLayer.cpp
+++ b/WebCore/rendering/RenderLayer.cpp
@@ -3850,7 +3850,7 @@ void showLayerTree(const WebCore::RenderLayer* layer)
         return;
 
     if (WebCore::Frame* frame = layer->renderer()->frame()) {
-        WebCore::String output = externalRepresentation(frame, WebCore::RenderAsTextShowAllLayers | WebCore::RenderAsTextShowLayerNesting | WebCore::RenderAsTextShowCompositedLayers | WebCore::RenderAsTextShowAddresses);
+        WebCore::String output = externalRepresentation(frame, WebCore::RenderAsTextShowAllLayers | WebCore::RenderAsTextShowLayerNesting | WebCore::RenderAsTextShowCompositedLayers | WebCore::RenderAsTextShowAddresses | WebCore::RenderAsTextShowIDAndClass);
         fprintf(stderr, "%s\n", output.utf8().data());
     }
 }
diff --git a/WebCore/rendering/RenderTreeAsText.cpp b/WebCore/rendering/RenderTreeAsText.cpp
index 26f40ab..04c4e4e 100644
--- a/WebCore/rendering/RenderTreeAsText.cpp
+++ b/WebCore/rendering/RenderTreeAsText.cpp
@@ -234,9 +234,9 @@ void RenderTreeAsText::writeRenderObject(TextStream& ts, const RenderObject& o,
     ts << " " << r;
 
     if (!(o.isText() && !o.isBR())) {
-        if (o.isFileUploadControl()) {
+        if (o.isFileUploadControl())
             ts << " " << quoteAndEscapeNonPrintables(toRenderFileUploadControl(&o)->fileTextValue());
-        }
+
         if (o.parent() && (o.parent()->style()->color() != o.style()->color()))
             ts << " [color=" << o.style()->color().name() << "]";
 
@@ -355,6 +355,24 @@ void RenderTreeAsText::writeRenderObject(TextStream& ts, const RenderObject& o,
             ts << ": " << text;
         }
     }
+    
+    if (behavior & RenderAsTextShowIDAndClass) {
+        if (Node* node = o.node()) {
+            if (node->hasID())
+                ts << " id=\"" + static_cast<Element*>(node)->getIdAttribute() + "\"";
+
+            if (node->hasClass()) {
+                StyledElement* styledElement = static_cast<StyledElement*>(node);
+                String classes;
+                for (size_t i = 0; i < styledElement->classNames().size(); ++i) {
+                    if (i > 0)
+                        classes += " ";
+                    classes += styledElement->classNames()[i];
+                }
+                ts << " class=\"" + classes + "\"";
+            }
+        }
+    }
 
 #if PLATFORM(QT)
     // Print attributes of embedded QWidgets. E.g. when the WebCore::Widget
diff --git a/WebCore/rendering/RenderTreeAsText.h b/WebCore/rendering/RenderTreeAsText.h
index 1635e79..645ccc0 100644
--- a/WebCore/rendering/RenderTreeAsText.h
+++ b/WebCore/rendering/RenderTreeAsText.h
@@ -40,7 +40,8 @@ enum RenderAsTextBehaviorFlags {
     RenderAsTextShowLayerNesting = 1 << 1, // Annotate the layer lists.
     RenderAsTextShowCompositedLayers = 1 << 2, // Show which layers are composited.
     RenderAsTextShowAddresses = 1 << 3, // Show layer and renderer addresses.
-    RenderAsTextPrintingMode = 1 << 4 // Dump the tree in printing mode.
+    RenderAsTextShowIDAndClass = 1 << 4, // Show id and class attributes
+    RenderAsTextPrintingMode = 1 << 5 // Dump the tree in printing mode.
 };
 typedef unsigned RenderAsTextBehavior;
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list