[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

hamaji at chromium.org hamaji at chromium.org
Wed Apr 7 23:16:39 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 83ba121dde42daf84f99a3eb70e887aab3b58e94
Author: hamaji at chromium.org <hamaji at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Oct 30 17:57:17 2009 +0000

    2009-10-30  Shinichiro Hamaji  <hamaji at chromium.org>
    
            Reviewed by Darin Adler.
    
            counterValueForElementById should return space-separated string for multiple counters
            https://bugs.webkit.org/show_bug.cgi?id=30939
    
            Test: fast/css/counters/counterValueForElementById.html
    
            * rendering/RenderTreeAsText.cpp:
            (WebCore::writeCounterValuesFromChildren):
            (WebCore::counterValueForElement):
    2009-10-30  Shinichiro Hamaji  <hamaji at chromium.org>
    
            Reviewed by Darin Adler.
    
            counterValueForElementById should return space-separated string for multiple counters
            https://bugs.webkit.org/show_bug.cgi?id=30939
    
            * fast/css/counters/counterValueForElementById-expected.txt: Added.
            * fast/css/counters/counterValueForElementById.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50345 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index a988e44..95ee8fa 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,5 +1,15 @@
 2009-10-30  Shinichiro Hamaji  <hamaji at chromium.org>
 
+        Reviewed by Darin Adler.
+
+        counterValueForElementById should return space-separated string for multiple counters
+        https://bugs.webkit.org/show_bug.cgi?id=30939
+
+        * fast/css/counters/counterValueForElementById-expected.txt: Added.
+        * fast/css/counters/counterValueForElementById.html: Added.
+
+2009-10-30  Shinichiro Hamaji  <hamaji at chromium.org>
+
         Reviewed by Mark Rowe.
 
         fast/css/counters/t1204* are not asynchronous anymore
diff --git a/LayoutTests/fast/css/counters/counterValueForElementById-expected.txt b/LayoutTests/fast/css/counters/counterValueForElementById-expected.txt
new file mode 100644
index 0000000..51a23ee
--- /dev/null
+++ b/LayoutTests/fast/css/counters/counterValueForElementById-expected.txt
@@ -0,0 +1,11 @@
+This is the test for layoutTestController.counterValueForElementById
+   
+PASS layoutTestController.counterValueForElementById('before') is '0'
+PASS layoutTestController.counterValueForElementById('after') is '0'
+PASS layoutTestController.counterValueForElementById('before_after') is '0 0'
+PASS layoutTestController.counterValueForElementById('twice') is '0 0'
+PASS layoutTestController.counterValueForElementById('point') is '0.1'
+PASS layoutTestController.counterValueForElementById('two-points') is '0.1.2'
+PASS layoutTestController.counterValueForElementById('greek') is '0.α.β'
+PASS layoutTestController.counterValueForElementById('three-greeks') is '0.α.β 0.α.β 0.α.β'
+
diff --git a/LayoutTests/fast/css/counters/counterValueForElementById.html b/LayoutTests/fast/css/counters/counterValueForElementById.html
new file mode 100644
index 0000000..0197d64
--- /dev/null
+++ b/LayoutTests/fast/css/counters/counterValueForElementById.html
@@ -0,0 +1,48 @@
+<head>
+    <meta charset="utf-8">
+    <style>
+        .reset { counter-reset: c; }
+        .increment { counter-increment: c; }
+        .increment2 { counter-increment: c 2; }
+        .show-before:before { content: counters(c, "."); }
+        .show-after:after { content: counters(c, "."); }
+        .show-twice:before { content: counters(c, ".") counters(c, "."); }
+        .show-greek:before { content: counters(c, ".", lower-greek); }
+        .show-three-greeks:before { content: counters(c, ".", lower-greek) counters(c, ".", lower-greek); }
+        .show-three-greeks:after { content: counters(c, ".", lower-greek); }
+    </style>
+    <script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+    <div>This is the test for layoutTestController.counterValueForElementById</div>
+
+    <div class="reset"><span id="before" class="show-before"></span></div>
+    <div class="reset"><span id="after" class="show-after"></span></div>
+    <div class="reset"><span id="before_after" class="show-before show-after"></span></div>
+    <div class="reset"><span id="twice" class="show-twice"></span></div>
+    <div class="reset">
+        <span id="point" class="reset increment show-before">
+            <span id="two-points" class="reset increment2 show-before">
+                <span id="greek" class="show-greek"></span>
+                <span id="three-greeks" class="show-three-greeks"></span>
+            </span>
+        </span>
+    </div>
+
+    <div id="console"></div>
+
+    <script>
+        if (window.layoutTestController) {
+            layoutTestController.dumpAsText();
+
+            shouldBe("layoutTestController.counterValueForElementById('before')", "'0'");
+            shouldBe("layoutTestController.counterValueForElementById('after')", "'0'");
+            shouldBe("layoutTestController.counterValueForElementById('before_after')", "'0 0'");
+            shouldBe("layoutTestController.counterValueForElementById('twice')", "'0 0'");
+            shouldBe("layoutTestController.counterValueForElementById('point')", "'0.1'");
+            shouldBe("layoutTestController.counterValueForElementById('two-points')", "'0.1.2'");
+            shouldBe("layoutTestController.counterValueForElementById('greek')", "'0.\u03b1.\u03b2'");
+            shouldBe("layoutTestController.counterValueForElementById('three-greeks')", "'0.\u03b1.\u03b2 0.\u03b1.\u03b2 0.\u03b1.\u03b2'");
+        }
+    </script>
+</body>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 252cb92..1a23cad 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2009-10-30  Shinichiro Hamaji  <hamaji at chromium.org>
+
+        Reviewed by Darin Adler.
+
+        counterValueForElementById should return space-separated string for multiple counters
+        https://bugs.webkit.org/show_bug.cgi?id=30939
+
+        Test: fast/css/counters/counterValueForElementById.html
+
+        * rendering/RenderTreeAsText.cpp:
+        (WebCore::writeCounterValuesFromChildren):
+        (WebCore::counterValueForElement):
+
 2009-10-30  Sebastian Dröge  <sebastian.droege at collabora.co.uk>
 
         Reviewed by Gustavo Noronha.
diff --git a/WebCore/rendering/RenderTreeAsText.cpp b/WebCore/rendering/RenderTreeAsText.cpp
index b7ab191..855b399 100644
--- a/WebCore/rendering/RenderTreeAsText.cpp
+++ b/WebCore/rendering/RenderTreeAsText.cpp
@@ -554,10 +554,13 @@ String externalRepresentation(RenderObject* o)
     return ts.release();
 }
 
-static void writeCounterValuesFromChildren(TextStream& stream, RenderObject* parent)
+static void writeCounterValuesFromChildren(TextStream& stream, RenderObject* parent, bool& isFirstCounter)
 {
     for (RenderObject* child = parent->firstChild(); child; child = child->nextSibling()) {
         if (child->isCounter()) {
+            if (!isFirstCounter)
+                stream << " ";
+            isFirstCounter = false;
             String str(toRenderText(child)->text());
             stream << str;
         }
@@ -570,12 +573,13 @@ String counterValueForElement(Element* element)
     RefPtr<Element> elementRef(element);
     element->document()->updateLayout();
     TextStream stream;
+    bool isFirstCounter = true;
     // The counter renderers should be children of anonymous children
     // (i.e., :before or :after pseudo-elements).
     if (RenderObject* renderer = element->renderer()) {
         for (RenderObject* child = renderer->firstChild(); child; child = child->nextSibling()) {
             if (child->isAnonymous())
-                writeCounterValuesFromChildren(stream, child);
+                writeCounterValuesFromChildren(stream, child, isFirstCounter);
         }
     }
     return stream.release();

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list