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

mitz at apple.com mitz at apple.com
Wed Dec 22 12:59:03 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 25c0d9742552d416009fb51bcd03c47a762acd2c
Author: mitz at apple.com <mitz at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Sep 3 17:56:36 2010 +0000

    2010-09-03  Dan Bernstein  <mitz at apple.com>
    
            Reviewed by Anders Carlsson.
    
            <rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics
            https://bugs.webkit.org/show_bug.cgi?id=45182
    
            Test: fast/text/decomposed-after-stacked-diacritics.html
    
            * platform/graphics/Font.cpp:
            (WebCore::Font::codePath): Do not bail out if the run contains stacked diacritics, since
            it may also contain characters that require the complex text code path.
    2010-09-03  Dan Bernstein  <mitz at apple.com>
    
            Reviewed by Anders Carlsson.
    
            <rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics
            https://bugs.webkit.org/show_bug.cgi?id=45182
    
            * fast/text/decomposed-after-stacked-diacritics-expected.txt: Added.
            * fast/text/decomposed-after-stacked-diacritics.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66740 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 0d6bdf4..acab3b3 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2010-09-03  Dan Bernstein  <mitz at apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        <rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics
+        https://bugs.webkit.org/show_bug.cgi?id=45182
+
+        * fast/text/decomposed-after-stacked-diacritics-expected.txt: Added.
+        * fast/text/decomposed-after-stacked-diacritics.html: Added.
+
 2010-09-03  Mihai Parparita  <mihaip at chromium.org>
 
         Reviewed by Tony Chang.
diff --git a/LayoutTests/fast/text/decomposed-after-stacked-diacritics-expected.txt b/LayoutTests/fast/text/decomposed-after-stacked-diacritics-expected.txt
new file mode 100644
index 0000000..b2db4b1
--- /dev/null
+++ b/LayoutTests/fast/text/decomposed-after-stacked-diacritics-expected.txt
@@ -0,0 +1,2 @@
+èḗè
+PASS
diff --git a/LayoutTests/fast/text/decomposed-after-stacked-diacritics.html b/LayoutTests/fast/text/decomposed-after-stacked-diacritics.html
new file mode 100644
index 0000000..cda441d
--- /dev/null
+++ b/LayoutTests/fast/text/decomposed-after-stacked-diacritics.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<div style="font-size: 72px;">
+    <span id="reference">e&#x0300;</span><span id="test">&#x1e17;e&#x0300;</span>
+</div>
+<div id="result">Test did not run.</div>
+<script>
+    if (window.layoutTestController)
+        layoutTestController.dumpAsText();
+
+    var reference = document.getElementById("reference").firstChild;
+    var referenceRange = document.createRange();
+    referenceRange.setStart(reference, 0);
+    referenceRange.setEnd(reference, 2);
+    var referenceWidth = referenceRange.getBoundingClientRect().width;
+
+    var test = document.getElementById("test").firstChild;
+    var testRange = document.createRange();
+    testRange.setStart(test, 1);
+    testRange.setEnd(test, 3);
+    var testWidth = testRange.getBoundingClientRect().width;
+
+    document.getElementById("result").innerText = testWidth === referenceWidth ? "PASS" : "FAIL";
+</script>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 4b4f12e..03504c0 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2010-09-03  Dan Bernstein  <mitz at apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        <rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics
+        https://bugs.webkit.org/show_bug.cgi?id=45182
+
+        Test: fast/text/decomposed-after-stacked-diacritics.html
+
+        * platform/graphics/Font.cpp:
+        (WebCore::Font::codePath): Do not bail out if the run contains stacked diacritics, since
+        it may also contain characters that require the complex text code path.
+
 2010-09-03  Mikhail Naganov  <mnaganov at chromium.org>
 
         Reviewed by Yury Semikhatsky.
diff --git a/WebCore/platform/graphics/Font.cpp b/WebCore/platform/graphics/Font.cpp
index 0e93d4f..a0cf5a4 100644
--- a/WebCore/platform/graphics/Font.cpp
+++ b/WebCore/platform/graphics/Font.cpp
@@ -277,6 +277,8 @@ Font::CodePath Font::codePath(const TextRun& run) const
         return Complex;
 #endif
 
+    CodePath result = Simple;
+
     // Start from 0 since drawing and highlighting also measure the characters before run->from
     for (int i = 0; i < run.length(); i++) {
         const UChar c = run[i];
@@ -312,8 +314,10 @@ Font::CodePath Font::codePath(const TextRun& run) const
 
         if (c < 0x1E00) // U+1E00 through U+2000 characters with diacritics and stacked diacritics
             continue;
-        if (c <= 0x2000)
-            return SimpleWithGlyphOverflow;
+        if (c <= 0x2000) {
+            result = SimpleWithGlyphOverflow;
+            continue;
+        }
 
         if (c < 0x20D0) // U+20D0 through U+20FF Combining marks for symbols
             continue;
@@ -329,7 +333,7 @@ Font::CodePath Font::codePath(const TextRun& run) const
     if (typesettingFeatures())
         return Complex;
 
-    return Simple;
+    return result;
 }
 
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list