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

mitz at apple.com mitz at apple.com
Wed Dec 22 18:48:36 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 4f4be9fc444b3da7174afb9a7a94d33a3f678c62
Author: mitz at apple.com <mitz at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Dec 19 21:29:35 2010 +0000

    Text emphasis marks are not repainted correctly in flipped writing modes
    https://bugs.webkit.org/show_bug.cgi?id=51307
    
    Reviewed by Cameron Zwarich.
    
    WebCore:
    
    Tests: fast/repaint/text-emphasis-h.html
           fast/repaint/text-emphasis-v.html
    
    * rendering/InlineFlowBox.cpp:
    (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added flippedness check.
    
    LayoutTests:
    
    * fast/repaint/text-emphasis-h-expected.checksum: Added.
    * fast/repaint/text-emphasis-h-expected.png: Added.
    * fast/repaint/text-emphasis-h-expected.txt: Added.
    * fast/repaint/text-emphasis-h.html: Added.
    * fast/repaint/text-emphasis-v-expected.checksum: Added.
    * fast/repaint/text-emphasis-v-expected.png: Added.
    * fast/repaint/text-emphasis-v-expected.txt: Added.
    * fast/repaint/text-emphasis-v.html: Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74326 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 44e95b9..043482e 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,19 @@
+2010-12-19  Dan Bernstein  <mitz at apple.com>
+
+        Reviewed by Cameron Zwarich.
+
+        Text emphasis marks are not repainted correctly in flipped writing modes
+        https://bugs.webkit.org/show_bug.cgi?id=51307
+
+        * fast/repaint/text-emphasis-h-expected.checksum: Added.
+        * fast/repaint/text-emphasis-h-expected.png: Added.
+        * fast/repaint/text-emphasis-h-expected.txt: Added.
+        * fast/repaint/text-emphasis-h.html: Added.
+        * fast/repaint/text-emphasis-v-expected.checksum: Added.
+        * fast/repaint/text-emphasis-v-expected.png: Added.
+        * fast/repaint/text-emphasis-v-expected.txt: Added.
+        * fast/repaint/text-emphasis-v.html: Added.
+
 2010-12-18  Tom Sepez  <tsepez at chromium.org>
 
         Reviewed by David Levin.
diff --git a/LayoutTests/fast/repaint/text-emphasis-h-expected.checksum b/LayoutTests/fast/repaint/text-emphasis-h-expected.checksum
new file mode 100644
index 0000000..a2faff8
--- /dev/null
+++ b/LayoutTests/fast/repaint/text-emphasis-h-expected.checksum
@@ -0,0 +1 @@
+0f311f7dad2c9755b530c68004c434ed
\ No newline at end of file
diff --git a/LayoutTests/fast/repaint/text-emphasis-h-expected.png b/LayoutTests/fast/repaint/text-emphasis-h-expected.png
new file mode 100644
index 0000000..7b138e4
Binary files /dev/null and b/LayoutTests/fast/repaint/text-emphasis-h-expected.png differ
diff --git a/LayoutTests/fast/repaint/text-emphasis-h-expected.txt b/LayoutTests/fast/repaint/text-emphasis-h-expected.txt
new file mode 100644
index 0000000..46b71c5
--- /dev/null
+++ b/LayoutTests/fast/repaint/text-emphasis-h-expected.txt
@@ -0,0 +1,35 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+layer at (8,8) size 784x584
+  RenderBody {BODY} at (8,8) size 784x584
+    RenderBlock {DIV} at (0,0) size 784x120 [color=#FF0000]
+      RenderText {#text} at (0,8) size 192x16
+        text run at (0,8) width 192: "222222222222"
+      RenderBR {BR} at (192,21) size 0x0
+      RenderBR {BR} at (0,24) size 0x16
+      RenderText {#text} at (0,40) size 192x16
+        text run at (0,40) width 192: "222222222222"
+      RenderBR {BR} at (192,53) size 0x0
+      RenderBR {BR} at (0,56) size 0x16
+      RenderText {#text} at (0,72) size 192x16
+        text run at (0,72) width 192: "222222222222"
+      RenderBR {BR} at (192,85) size 0x0
+      RenderBR {BR} at (0,88) size 0x16
+      RenderText {#text} at (0,104) size 192x16
+        text run at (0,104) width 192: "222222222222"
+layer at (8,8) size 192x0
+  RenderBlock (positioned) {DIV} at (0,0) size 192x0 [color=#008000]
+    RenderBlock {DIV} at (0,0) size 48x0
+      RenderText {#text} at (0,0) size 32x128
+        text run at (0,0) width 128: "1111"
+    RenderBlock {DIV} at (48,0) size 48x0
+      RenderText {#text} at (16,0) size 32x128
+        text run at (16,0) width 128: "1111"
+    RenderBlock {DIV} at (96,0) size 48x0
+      RenderText {#text} at (16,0) size 32x128
+        text run at (16,0) width 128: "1111"
+    RenderBlock {DIV} at (144,0) size 48x0
+      RenderText {#text} at (0,0) size 32x128
+        text run at (0,0) width 128: "1111"
diff --git a/LayoutTests/fast/repaint/text-emphasis-h.html b/LayoutTests/fast/repaint/text-emphasis-h.html
new file mode 100644
index 0000000..3e441e1
--- /dev/null
+++ b/LayoutTests/fast/repaint/text-emphasis-h.html
@@ -0,0 +1,28 @@
+<script>
+    if (window.layoutTestController) {
+        layoutTestController.testRepaint();
+        layoutTestController.repaintSweepHorizontally();
+    }
+</script>
+<body style="-webkit-font-smoothing: none; position: relative;">
+<div style="color: red; font: 16px ahem; padding-top: 8px;">
+    222222222222<br><br>
+    222222222222<br><br>
+    222222222222<br><br>
+    222222222222
+</div>
+<div style="-webkit-writing-mode: vertical-lr; font: 32px ahem; color: green; position: absolute; top: 0; left: 0;">
+    <div style="-webkit-text-emphasis: 'm';">
+        1111
+    </div>
+    <div style="-webkit-text-emphasis: 'm'; -webkit-text-emphasis-position: under;">
+        1111
+    </div>
+
+    <div style="-webkit-writing-mode: vertical-rl; -webkit-text-emphasis: 'm';">
+        1111
+    </div>
+    <div style="-webkit-writing-mode: vertical-rl; -webkit-text-emphasis: 'm'; -webkit-text-emphasis-position: under;">
+        1111
+    </div>
+</div>
diff --git a/LayoutTests/fast/repaint/text-emphasis-v-expected.checksum b/LayoutTests/fast/repaint/text-emphasis-v-expected.checksum
new file mode 100644
index 0000000..fe7f6a3
--- /dev/null
+++ b/LayoutTests/fast/repaint/text-emphasis-v-expected.checksum
@@ -0,0 +1 @@
+119203e46049552793c80c57cad77128
\ No newline at end of file
diff --git a/LayoutTests/fast/repaint/text-emphasis-v-expected.png b/LayoutTests/fast/repaint/text-emphasis-v-expected.png
new file mode 100644
index 0000000..bb943e7
Binary files /dev/null and b/LayoutTests/fast/repaint/text-emphasis-v-expected.png differ
diff --git a/LayoutTests/fast/repaint/text-emphasis-v-expected.txt b/LayoutTests/fast/repaint/text-emphasis-v-expected.txt
new file mode 100644
index 0000000..64f00fa
--- /dev/null
+++ b/LayoutTests/fast/repaint/text-emphasis-v-expected.txt
@@ -0,0 +1,92 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+layer at (8,8) size 784x584
+  RenderBody {BODY} at (8,8) size 784x584
+    RenderBlock {DIV} at (0,0) size 784x192 [color=#FF0000]
+      RenderText {#text} at (8,0) size 112x16
+        text run at (8,0) width 32: "2 "
+        text run at (40,0) width 32: "2 "
+        text run at (72,0) width 32: "2 "
+        text run at (104,0) width 16: "2"
+      RenderBR {BR} at (120,13) size 0x0
+      RenderText {#text} at (8,16) size 112x16
+        text run at (8,16) width 32: "2 "
+        text run at (40,16) width 32: "2 "
+        text run at (72,16) width 32: "2 "
+        text run at (104,16) width 16: "2"
+      RenderBR {BR} at (120,29) size 0x0
+      RenderText {#text} at (8,32) size 112x16
+        text run at (8,32) width 32: "2 "
+        text run at (40,32) width 32: "2 "
+        text run at (72,32) width 32: "2 "
+        text run at (104,32) width 16: "2"
+      RenderBR {BR} at (120,45) size 0x0
+      RenderText {#text} at (8,48) size 112x16
+        text run at (8,48) width 32: "2 "
+        text run at (40,48) width 32: "2 "
+        text run at (72,48) width 32: "2 "
+        text run at (104,48) width 16: "2"
+      RenderBR {BR} at (120,61) size 0x0
+      RenderText {#text} at (8,64) size 112x16
+        text run at (8,64) width 32: "2 "
+        text run at (40,64) width 32: "2 "
+        text run at (72,64) width 32: "2 "
+        text run at (104,64) width 16: "2"
+      RenderBR {BR} at (120,77) size 0x0
+      RenderText {#text} at (8,80) size 112x16
+        text run at (8,80) width 32: "2 "
+        text run at (40,80) width 32: "2 "
+        text run at (72,80) width 32: "2 "
+        text run at (104,80) width 16: "2"
+      RenderBR {BR} at (120,93) size 0x0
+      RenderText {#text} at (8,96) size 112x16
+        text run at (8,96) width 32: "2 "
+        text run at (40,96) width 32: "2 "
+        text run at (72,96) width 32: "2 "
+        text run at (104,96) width 16: "2"
+      RenderBR {BR} at (120,109) size 0x0
+      RenderText {#text} at (8,112) size 112x16
+        text run at (8,112) width 32: "2 "
+        text run at (40,112) width 32: "2 "
+        text run at (72,112) width 32: "2 "
+        text run at (104,112) width 16: "2"
+      RenderBR {BR} at (120,125) size 0x0
+      RenderText {#text} at (8,128) size 112x16
+        text run at (8,128) width 32: "2 "
+        text run at (40,128) width 32: "2 "
+        text run at (72,128) width 32: "2 "
+        text run at (104,128) width 16: "2"
+      RenderBR {BR} at (120,141) size 0x0
+      RenderText {#text} at (8,144) size 112x16
+        text run at (8,144) width 32: "2 "
+        text run at (40,144) width 32: "2 "
+        text run at (72,144) width 32: "2 "
+        text run at (104,144) width 16: "2"
+      RenderBR {BR} at (120,157) size 0x0
+      RenderText {#text} at (8,160) size 112x16
+        text run at (8,160) width 32: "2 "
+        text run at (40,160) width 32: "2 "
+        text run at (72,160) width 32: "2 "
+        text run at (104,160) width 16: "2"
+      RenderBR {BR} at (120,173) size 0x0
+      RenderText {#text} at (8,176) size 112x16
+        text run at (8,176) width 32: "2 "
+        text run at (40,176) width 32: "2 "
+        text run at (72,176) width 32: "2 "
+        text run at (104,176) width 16: "2"
+layer at (8,8) size 128x192
+  RenderBlock (positioned) {DIV} at (0,0) size 128x192 [color=#008000]
+    RenderBlock {DIV} at (0,0) size 128x48
+      RenderText {#text} at (0,16) size 128x32
+        text run at (0,16) width 128: "1111"
+    RenderBlock {DIV} at (0,48) size 128x48
+      RenderText {#text} at (0,0) size 128x32
+        text run at (0,0) width 128: "1111"
+    RenderBlock {DIV} at (0,96) size 128x48
+      RenderText {#text} at (0,0) size 128x32
+        text run at (0,0) width 128: "1111"
+    RenderBlock {DIV} at (0,144) size 128x48
+      RenderText {#text} at (0,16) size 128x32
+        text run at (0,16) width 128: "1111"
diff --git a/LayoutTests/fast/repaint/text-emphasis-v.html b/LayoutTests/fast/repaint/text-emphasis-v.html
new file mode 100644
index 0000000..ecddcf3
--- /dev/null
+++ b/LayoutTests/fast/repaint/text-emphasis-v.html
@@ -0,0 +1,34 @@
+<script>
+    if (window.layoutTestController)
+        layoutTestController.testRepaint();
+</script>
+<body style="-webkit-font-smoothing: none; position: relative;">
+<div style="color: red; font: 16px ahem; padding-left: 8px;">
+2  2  2  2<br>
+2  2  2  2<br>
+2  2  2  2<br>
+2  2  2  2<br>
+2  2  2  2<br>
+2  2  2  2<br>
+2  2  2  2<br>
+2  2  2  2<br>
+2  2  2  2<br>
+2  2  2  2<br>
+2  2  2  2<br>
+2  2  2  2
+</div>
+<div style="font: 32px ahem; color: green; position: absolute; top: 0; left: 0;">
+    <div style="-webkit-text-emphasis: 'm';">
+        1111
+    </div>
+    <div style="-webkit-text-emphasis: 'm'; -webkit-text-emphasis-position: under;">
+        1111
+    </div>
+
+    <div style="-webkit-writing-mode: horizontal-bt; -webkit-text-emphasis: 'm';">
+        1111
+    </div>
+    <div style="-webkit-writing-mode: horizontal-bt; -webkit-text-emphasis: 'm'; -webkit-text-emphasis-position: under;">
+        1111
+    </div>
+</div>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 15546c3..3beaf96 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2010-12-19  Dan Bernstein  <mitz at apple.com>
+
+        Reviewed by Cameron Zwarich.
+
+        Text emphasis marks are not repainted correctly in flipped writing modes
+        https://bugs.webkit.org/show_bug.cgi?id=51307
+
+        Tests: fast/repaint/text-emphasis-h.html
+               fast/repaint/text-emphasis-v.html
+
+        * rendering/InlineFlowBox.cpp:
+        (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added flippedness check.
+
 2010-12-19  Rob Buis  <rwlbuis at gmail.com>
 
         Reviewed by Andreas Kling.
diff --git a/WebCore/rendering/InlineFlowBox.cpp b/WebCore/rendering/InlineFlowBox.cpp
index f140ae2..de369d1 100644
--- a/WebCore/rendering/InlineFlowBox.cpp
+++ b/WebCore/rendering/InlineFlowBox.cpp
@@ -747,7 +747,7 @@ void InlineFlowBox::addTextBoxVisualOverflow(const InlineTextBox* textBox, Glyph
 
     if (style->textEmphasisMark() != TextEmphasisMarkNone) {
         int emphasisMarkHeight = style->font().emphasisMarkHeight(style->textEmphasisMarkString());
-        if (style->textEmphasisPosition() == TextEmphasisPositionOver)
+        if ((style->textEmphasisPosition() == TextEmphasisPositionOver) == (!style->isFlippedLinesWritingMode()))
             topGlyphOverflow = min(topGlyphOverflow, -emphasisMarkHeight);
         else
             bottomGlyphOverflow = max(bottomGlyphOverflow, emphasisMarkHeight);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list