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

jamesr at google.com jamesr at google.com
Wed Dec 22 18:13:00 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 2564ac00595564109c117175f68802b918e4f78f
Author: jamesr at google.com <jamesr at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Dec 8 21:58:16 2010 +0000

    2010-12-08  James Robinson  <jamesr at chromium.org>
    
            Reviewed by Kenneth Russell.
    
            [chromium] Text is blurry on a large composited layer with an odd center x/y coordinate
            https://bugs.webkit.org/show_bug.cgi?id=50702
    
            Tests that text rendered on a large layer is crisp even when the layer's center point
            has an odd x and/or y coordinate.
    
            * compositing/text-on-large-layer.html: Added.
            * platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.checksum: Added.
            * platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.png: Added.
            * platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.txt: Added.
            * platform/chromium-gpu/test_expectations.txt:
            * platform/mac/compositing/text-on-large-layer-expected.checksum: Added.
            * platform/mac/compositing/text-on-large-layer-expected.png: Added.
            * platform/mac/compositing/text-on-large-layer-expected.txt: Added.
    2010-12-08  James Robinson  <jamesr at chromium.org>
    
            Reviewed by Kenneth Russell.
    
            [chromium] Text is blurry on a large composited layer with an odd center x/y coordinate
            https://bugs.webkit.org/show_bug.cgi?id=50702
    
            Compute the center of a large layer using floats instead of ints to avoid roundoff errors.
    
            Test: compositing/text-on-large-layer.html
    
            * platform/graphics/chromium/ContentLayerChromium.cpp:
            (WebCore::ContentLayerChromium::draw):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73549 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index cf17a65..a65799c 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,22 @@
+2010-12-08  James Robinson  <jamesr at chromium.org>
+
+        Reviewed by Kenneth Russell.
+
+        [chromium] Text is blurry on a large composited layer with an odd center x/y coordinate
+        https://bugs.webkit.org/show_bug.cgi?id=50702
+
+        Tests that text rendered on a large layer is crisp even when the layer's center point
+        has an odd x and/or y coordinate.
+
+        * compositing/text-on-large-layer.html: Added.
+        * platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.checksum: Added.
+        * platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.png: Added.
+        * platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.txt: Added.
+        * platform/chromium-gpu/test_expectations.txt:
+        * platform/mac/compositing/text-on-large-layer-expected.checksum: Added.
+        * platform/mac/compositing/text-on-large-layer-expected.png: Added.
+        * platform/mac/compositing/text-on-large-layer-expected.txt: Added.
+
 2010-12-08  Ryosuke Niwa  <rniwa at webkit.org>
 
         Reviewed by Dan Bernstein.
diff --git a/LayoutTests/compositing/text-on-large-layer.html b/LayoutTests/compositing/text-on-large-layer.html
new file mode 100644
index 0000000..13266d3
--- /dev/null
+++ b/LayoutTests/compositing/text-on-large-layer.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<script>
+if (window.layoutTestController) {
+  layoutTestController.waitUntilDone();
+  // The mac port renders tiled layers asynchronously, so we have to wait a bit to get the actual rendering result.
+  window.setTimeout(function() {
+    layoutTestController.notifyDone();
+  }, 100);
+}
+</script>
+<body style="overflow:hidden">
+<div style="-webkit-transform:translateZ(0); width: 2000px; height: 10000px; top:1px; left:3px; position:absolute">
+This is some text inside a very large composited layer to test that it is rendered sharply.<br>
+The test passes if this text is crisp.
+</div>
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.checksum b/LayoutTests/platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.checksum
new file mode 100644
index 0000000..5bb3309
--- /dev/null
+++ b/LayoutTests/platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.checksum
@@ -0,0 +1 @@
+fe58e58bc0287ef9549722f0417b0ccb
\ No newline at end of file
diff --git a/LayoutTests/platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.png b/LayoutTests/platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.png
new file mode 100644
index 0000000..0aaf0b6
Binary files /dev/null and b/LayoutTests/platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.png differ
diff --git a/LayoutTests/platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.txt b/LayoutTests/platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.txt
new file mode 100644
index 0000000..f697da0
--- /dev/null
+++ b/LayoutTests/platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.txt
@@ -0,0 +1,12 @@
+layer at (0,0) size 2003x10001
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x8
+  RenderBlock {HTML} at (0,0) size 800x8
+    RenderBody {BODY} at (8,8) size 784x0
+layer at (3,1) size 2000x10000
+  RenderBlock (positioned) {DIV} at (3,1) size 2000x10000
+    RenderText {#text} at (0,0) size 519x19
+      text run at (0,0) width 519: "This is some text inside a very large composited layer to test that it is rendered sharply."
+    RenderBR {BR} at (519,0) size 0x19
+    RenderText {#text} at (0,20) size 203x19
+      text run at (0,20) width 203: "The test passes if this text is crisp."
diff --git a/LayoutTests/platform/chromium-gpu/test_expectations.txt b/LayoutTests/platform/chromium-gpu/test_expectations.txt
index 6c87a2a..6a3ebc2 100644
--- a/LayoutTests/platform/chromium-gpu/test_expectations.txt
+++ b/LayoutTests/platform/chromium-gpu/test_expectations.txt
@@ -356,6 +356,9 @@ BUGWK48029 MAC : compositing/tiling/huge-layer-img.html = TEXT
 BUGWK48029 MAC : compositing/tiling/huge-layer-resize.html = TEXT
 BUGWK48029 MAC : compositing/tiling/huge-layer-with-layer-children-resize.html = TEXT
 
+// New test, needs windows and mac specific baselines.
+BUGJAMESR WIN MAC : compositing/text-on-large-layer.html = PASS FAIL
+
 // Need to investigate WebGL support in DRT.
 BUGWK47243 LINUX : fast/canvas/webgl/uniform-location.html = TIMEOUT TEXT
 BUGWK47243 WIN : fast/canvas/webgl/uniform-location.html = CRASH
diff --git a/LayoutTests/platform/mac/compositing/text-on-large-layer-expected.checksum b/LayoutTests/platform/mac/compositing/text-on-large-layer-expected.checksum
new file mode 100644
index 0000000..8bdd2b3
--- /dev/null
+++ b/LayoutTests/platform/mac/compositing/text-on-large-layer-expected.checksum
@@ -0,0 +1 @@
+cb11d82913b3d841d5328475943be128
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/compositing/text-on-large-layer-expected.png b/LayoutTests/platform/mac/compositing/text-on-large-layer-expected.png
new file mode 100644
index 0000000..5c6d9d9
Binary files /dev/null and b/LayoutTests/platform/mac/compositing/text-on-large-layer-expected.png differ
diff --git a/LayoutTests/platform/mac/compositing/text-on-large-layer-expected.txt b/LayoutTests/platform/mac/compositing/text-on-large-layer-expected.txt
new file mode 100644
index 0000000..8f52c1e
--- /dev/null
+++ b/LayoutTests/platform/mac/compositing/text-on-large-layer-expected.txt
@@ -0,0 +1,12 @@
+layer at (0,0) size 2003x10001
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x8
+  RenderBlock {HTML} at (0,0) size 800x8
+    RenderBody {BODY} at (8,8) size 784x0
+layer at (3,1) size 2000x10000
+  RenderBlock (positioned) {DIV} at (3,1) size 2000x10000
+    RenderText {#text} at (0,0) size 543x18
+      text run at (0,0) width 543: "This is some text inside a very large composited layer to test that it is rendered sharply."
+    RenderBR {BR} at (543,0) size 0x18
+    RenderText {#text} at (0,18) size 212x18
+      text run at (0,18) width 212: "The test passes if this text is crisp."
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 32711cb..11b59f2 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-12-08  James Robinson  <jamesr at chromium.org>
+
+        Reviewed by Kenneth Russell.
+
+        [chromium] Text is blurry on a large composited layer with an odd center x/y coordinate
+        https://bugs.webkit.org/show_bug.cgi?id=50702
+
+        Compute the center of a large layer using floats instead of ints to avoid roundoff errors.
+
+        Test: compositing/text-on-large-layer.html
+
+        * platform/graphics/chromium/ContentLayerChromium.cpp:
+        (WebCore::ContentLayerChromium::draw):
+
 2010-12-08  Ryosuke Niwa  <rniwa at webkit.org>
 
         Reviewed by Dan Bernstein.
diff --git a/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp b/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp
index 7dab01f..421abf3 100644
--- a/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp
+++ b/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp
@@ -362,7 +362,8 @@ void ContentLayerChromium::draw()
     if (requiresClippedUpdateRect()) {
         float m43 = drawTransform().m43();
         TransformationMatrix transform;
-        transform.translate3d(m_largeLayerDrawRect.center().x(), m_largeLayerDrawRect.center().y(), m43);
+        FloatPoint floatCenter = FloatRect(m_largeLayerDrawRect).center();
+        transform.translate3d(floatCenter.x(), floatCenter.y(), m43);
         drawTexturedQuad(context, layerRenderer()->projectionMatrix(),
                          transform, m_largeLayerDrawRect.width(),
                          m_largeLayerDrawRect.height(), drawOpacity(),

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list