[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