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

eric at webkit.org eric at webkit.org
Thu Apr 8 02:23:11 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 1191f57c7517f0f759ca9ad1657660f5a073f186
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Mar 16 04:41:27 2010 +0000

    2010-03-15  Valters Svabe  <vsvabe at gmail.com>
    
            Reviewed by Darin Adler.
    
            :after selector displays in wrong place with nested div
            https://bugs.webkit.org/show_bug.cgi?id=32288
    
            * fast/css-generated-content/block-after-expected.txt: Added.
            * fast/css-generated-content/block-after.html: Added.
    2010-03-15  Valters Svabe  <vsvabe at gmail.com>
    
            Reviewed by Darin Adler.
    
            :after selector displays in wrong place with nested div
            https://bugs.webkit.org/show_bug.cgi?id=32288
    
            Make sure we don't append things after :after-generated content, if
            it's inside an anonymous block.
    
            Test: fast/css-generated-content/block-after.html
    
            * rendering/RenderBlock.cpp:
            (WebCore::RenderBlock::addChild):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56033 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 2310130..e3657ac 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2010-03-15  Valters Svabe  <vsvabe at gmail.com>
+
+        Reviewed by Darin Adler.
+
+        :after selector displays in wrong place with nested div
+        https://bugs.webkit.org/show_bug.cgi?id=32288
+
+        * fast/css-generated-content/block-after-expected.txt: Added.
+        * fast/css-generated-content/block-after.html: Added.
+
 2010-03-15  Chris Fleizach  <cfleizach at apple.com>
 
         Unreviewed.
diff --git a/LayoutTests/fast/css-generated-content/block-after-expected.txt b/LayoutTests/fast/css-generated-content/block-after-expected.txt
new file mode 100644
index 0000000..7cfe9e1
--- /dev/null
+++ b/LayoutTests/fast/css-generated-content/block-after-expected.txt
@@ -0,0 +1,5 @@
+Bug 32288 - :after selector displays in wrong place with nested div
+
+First.
+Second.
+PASS
diff --git a/LayoutTests/fast/css-generated-content/block-after.html b/LayoutTests/fast/css-generated-content/block-after.html
new file mode 100644
index 0000000..a016f1b
--- /dev/null
+++ b/LayoutTests/fast/css-generated-content/block-after.html
@@ -0,0 +1,40 @@
+<html>
+<head>
+    <style>
+    div {
+        margin: 0px;
+        padding: 0px;
+        border: none;
+    }
+    div.a:after { 
+        content: 'This sentence should be after "First." and "Second."'; 
+        color: red; 
+    }
+    </style>
+    <script>
+    if (window.layoutTestController)
+        layoutTestController.dumpAsText();
+
+    function test(){
+        var first = document.getElementById("first");
+        var second = document.getElementById("second");
+    
+        //Test whether the first and second lines are laid out sequentially.
+        //If there is something between them then it must be the css generated
+        //content which means this bug is not fixed.
+        if(second.offsetTop != first.offsetTop + first.offsetHeight)
+            document.getElementById("result").innerHTML = "FAIL";
+        else
+            document.getElementById("result").innerHTML = "PASS";
+    }    
+    </script>
+</head>
+<body onload="test()">
+    <p>Bug <a href="https://bugs.webkit.org/show_bug.cgi?id=32288">32288</a> - :after selector displays in wrong place with nested div</p>
+    <div class="a" id="container">
+        <div id="first">First.</div>
+        <div id="second">Second.</div>  
+    </div>
+    <p id="result"></div>
+</body>
+</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index d8ef2b9..dcb6484 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-03-15  Valters Svabe  <vsvabe at gmail.com>
+
+        Reviewed by Darin Adler.
+
+        :after selector displays in wrong place with nested div
+        https://bugs.webkit.org/show_bug.cgi?id=32288
+        
+        Make sure we don't append things after :after-generated content, if
+        it's inside an anonymous block.
+
+        Test: fast/css-generated-content/block-after.html
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::addChild):
+
 2010-03-15  Leandro Pereira  <leandro at profusion.mobi>
 
         Reviewed by Eric Seidel.
diff --git a/WebCore/rendering/RenderBlock.cpp b/WebCore/rendering/RenderBlock.cpp
index e4a30a5..1551c49 100644
--- a/WebCore/rendering/RenderBlock.cpp
+++ b/WebCore/rendering/RenderBlock.cpp
@@ -261,8 +261,14 @@ void RenderBlock::updateBeforeAfterContent(PseudoId pseudoId)
 void RenderBlock::addChild(RenderObject* newChild, RenderObject* beforeChild)
 {
     // Make sure we don't append things after :after-generated content if we have it.
-    if (!beforeChild && isAfterContent(lastChild()))
-        beforeChild = lastChild();
+    if (!beforeChild) {
+        RenderObject* lastRenderer = lastChild();
+
+        if (isAfterContent(lastRenderer))
+            beforeChild = lastRenderer;
+        else if (lastRenderer && lastRenderer->isAnonymousBlock() && isAfterContent(lastRenderer->lastChild()))
+            beforeChild = lastRenderer->lastChild();
+    }
 
     bool madeBoxesNonInline = false;
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list