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

hyatt at apple.com hyatt at apple.com
Wed Dec 22 15:14:06 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit fbe1b18a3cea35859d6595d17266ea32829e43a6
Author: hyatt at apple.com <hyatt at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Oct 29 07:07:19 2010 +0000

    https://bugs.webkit.org/show_bug.cgi?id=48618
    
    Reviewed by Dan Bernstein.
    
    WebCore:
    
    Backgrounds should clip to the border radius properly for vertical lines.  The code that does this still assumes horizontal lines.
    The testcase to cover this used nested spans, which also exposed a bug in the propagation of the vertical bit through the line
    box tree.
    
    Added fast/blockflow/border-radius-clipping-vertical-lr.html.
    
    * rendering/RenderBlockLineLayout.cpp:
    (WebCore::RenderBlock::createLineBoxes):
    * rendering/RenderBoxModelObject.cpp:
    (WebCore::RenderBoxModelObject::paintFillLayerExtended):
    
    LayoutTests:
    
    Backgrounds should clip to the border radius properly for vertical lines.  The code that does this still assumes horizontal lines.
    The testcase to cover this used nested spans, which also exposed a bug in the propagation of the vertical bit through the line
    box tree.
    
    Added fast/blockflow/border-radius-clipping-vertical-lr.html.
    
    * fast/blockflow/border-radius-clipping-vertical-lr.html: Added.
    * platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.checksum: Added.
    * platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.png: Added.
    * platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.txt: Added.
    * platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.checksum:
    * platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.png:
    * platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.checksum:
    * platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.png:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70848 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index e8aaa0d..3366caf 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,24 @@
+2010-10-29  David Hyatt  <hyatt at apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        https://bugs.webkit.org/show_bug.cgi?id=48618
+
+        Backgrounds should clip to the border radius properly for vertical lines.  The code that does this still assumes horizontal lines.
+        The testcase to cover this used nested spans, which also exposed a bug in the propagation of the vertical bit through the line
+        box tree.
+        
+        Added fast/blockflow/border-radius-clipping-vertical-lr.html.
+        
+        * fast/blockflow/border-radius-clipping-vertical-lr.html: Added.
+        * platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.checksum: Added.
+        * platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.png: Added.
+        * platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.txt: Added.
+        * platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.checksum:
+        * platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.png:
+        * platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.checksum:
+        * platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.png:
+
 2010-10-28  Dmitry Titov  <dimich at chromium.org>
 
         [Chromium] Unreviewed, test expectations update.
diff --git a/LayoutTests/fast/blockflow/border-radius-clipping-vertical-lr.html b/LayoutTests/fast/blockflow/border-radius-clipping-vertical-lr.html
new file mode 100644
index 0000000..85d7e83
--- /dev/null
+++ b/LayoutTests/fast/blockflow/border-radius-clipping-vertical-lr.html
@@ -0,0 +1,14 @@
+<body style="-webkit-writing-mode: vertical-lr">
+<div style="-webkit-logical-width: 600px; -webkit-margin-after:50px">
+    <span style="-webkit-padding-start: 15px; -webkit-padding-end:15px; -webkit-padding-before:5px; -webkit-padding-after: 5px; font-size: 48px; background-color:blue">
+    <span style="
+        -webkit-padding-start: 15px; -webkit-padding-end:15px;
+        font-size: 48px;
+        background-color: lightyellow;
+        -webkit-border-radius: 10px;
+        border: 5px solid green;
+        line-height: 1.5;
+    ">
+        This sentence is too long to fit on a single line.
+    </span></span>
+</div>
diff --git a/LayoutTests/platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.checksum b/LayoutTests/platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.checksum
new file mode 100644
index 0000000..96d26f0
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.checksum
@@ -0,0 +1 @@
+bb80a60d88017bd9f619869f8848ba4f
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.png b/LayoutTests/platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.png
new file mode 100644
index 0000000..8729107
Binary files /dev/null and b/LayoutTests/platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.txt b/LayoutTests/platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.txt
new file mode 100644
index 0000000..88c346d
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.txt
@@ -0,0 +1,13 @@
+layer at (0,0) size 785x621
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x621
+  RenderBlock {HTML} at (0,0) size 785x600
+    RenderBody {BODY} at (8,8) size 727x584
+      RenderBlock {DIV} at (0,0) size 144x600
+        RenderInline {SPAN} at (0,0) size 613x65 [bgcolor=#0000FF]
+          RenderText {#text} at (0,0) size 0x0
+          RenderInline {SPAN} at (0,0) size 598x50 [bgcolor=#FFFFE0] [border: (5px solid #008000)]
+            RenderText {#text} at (5,35) size 578x20
+              text run at (5,35) width 578: "This sentence is too long to fit"
+              text run at (77,0) width 302: "on a single line."
+        RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.checksum b/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.checksum
index 2cf7dfc..c9589ff 100644
--- a/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.checksum
+++ b/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.checksum
@@ -1 +1 @@
-6976f653292eba5d38412e5136ab8c88
\ No newline at end of file
+8aa3b9d6b0c7c210b8344f9c1b2891a1
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.png b/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.png
index bd2f954..1876c1a 100644
Binary files a/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.png and b/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.checksum b/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.checksum
index e4b6a6a..634a62b 100644
--- a/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.checksum
+++ b/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.checksum
@@ -1 +1 @@
-3e228f24508acdef7f1ab0e0549e1751
\ No newline at end of file
+3e3a8cc0aa2a257677f92d5395ca2e09
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.png b/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.png
index 1dd0fbc..ffc6285 100644
Binary files a/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.png and b/LayoutTests/platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.png differ
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index be52713..0325e4e 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2010-10-29  David Hyatt  <hyatt at apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        https://bugs.webkit.org/show_bug.cgi?id=48618
+
+        Backgrounds should clip to the border radius properly for vertical lines.  The code that does this still assumes horizontal lines.
+        The testcase to cover this used nested spans, which also exposed a bug in the propagation of the vertical bit through the line
+        box tree.
+        
+        Added fast/blockflow/border-radius-clipping-vertical-lr.html.
+
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::RenderBlock::createLineBoxes):
+        * rendering/RenderBoxModelObject.cpp:
+        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+
 2010-10-26  MORITA Hajime  <morrita at google.com>
 
         Reviewed by Kent Tamura.
diff --git a/WebCore/rendering/RenderBlockLineLayout.cpp b/WebCore/rendering/RenderBlockLineLayout.cpp
index 22dc73d..e0c5450 100644
--- a/WebCore/rendering/RenderBlockLineLayout.cpp
+++ b/WebCore/rendering/RenderBlockLineLayout.cpp
@@ -208,6 +208,7 @@ InlineFlowBox* RenderBlock::createLineBoxes(RenderObject* obj, bool firstLine)
             ASSERT(newBox->isInlineFlowBox());
             parentBox = static_cast<InlineFlowBox*>(newBox);
             parentBox->setFirstLineStyleBit(firstLine);
+            parentBox->setIsVertical(!style()->isHorizontalWritingMode());
             constructedNewBox = true;
         }
 
diff --git a/WebCore/rendering/RenderBoxModelObject.cpp b/WebCore/rendering/RenderBoxModelObject.cpp
index ad969b8..e83b709 100644
--- a/WebCore/rendering/RenderBoxModelObject.cpp
+++ b/WebCore/rendering/RenderBoxModelObject.cpp
@@ -524,10 +524,23 @@ void RenderBoxModelObject::paintFillLayerExtended(const PaintInfo& paintInfo, co
         IntSize topLeft, topRight, bottomLeft, bottomRight;
         style()->getBorderRadiiForRect(borderRect, topLeft, topRight, bottomLeft, bottomRight);
 
-        context->addRoundedRectClip(borderRect, includeLeftEdge ? topLeft : IntSize(),
-                                                includeRightEdge ? topRight : IntSize(),
-                                                includeLeftEdge ? bottomLeft : IntSize(),
-                                                includeRightEdge ? bottomRight : IntSize());
+        if (!includeLeftEdge) {
+            topLeft = IntSize();
+            if (box->isVertical())
+                topRight = IntSize();
+            else
+                bottomLeft = IntSize();
+        }
+        
+        if (!includeRightEdge) {
+            if (box->isVertical())
+                bottomLeft = IntSize();
+            else
+                topRight = IntSize();
+            bottomRight = IntSize();
+        }
+        
+        context->addRoundedRectClip(borderRect, topLeft, topRight, bottomLeft, bottomRight);
         clippedToBorderRadius = true;
     }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list