Title: [88386] trunk
- Revision
- 88386
- Author
- [email protected]
- Date
- 2011-06-08 14:16:37 -0700 (Wed, 08 Jun 2011)
Log Message
2011-06-08 John Bauman <[email protected]>
Reviewed by James Robinson.
Only draw portions of tiles in contentRect
https://bugs.webkit.org/show_bug.cgi?id=62243
* platform/chromium/test_expectations.txt:
* compositing/repaint/shrink-layer.html: Added.
* compositing/repaint/shrink-layer-expected.png: Added.
* compositing/repaint/shrink-layer-expected.txt: Added.
2011-06-08 John Bauman <[email protected]>
Reviewed by James Robinson.
Only draw portions of tiles in contentRect
https://bugs.webkit.org/show_bug.cgi?id=62243
Old garbage data can remain in tiles, so make sure to draw only those
portions that are supposed to be drawn.
Test: compositing/repaint/shrink-layer.html
* platform/graphics/chromium/LayerTilerChromium.cpp:
(WebCore::LayerTilerChromium::draw):
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (88385 => 88386)
--- trunk/LayoutTests/ChangeLog 2011-06-08 21:15:25 UTC (rev 88385)
+++ trunk/LayoutTests/ChangeLog 2011-06-08 21:16:37 UTC (rev 88386)
@@ -1,3 +1,15 @@
+2011-06-08 John Bauman <[email protected]>
+
+ Reviewed by James Robinson.
+
+ Only draw portions of tiles in contentRect
+ https://bugs.webkit.org/show_bug.cgi?id=62243
+
+ * platform/chromium/test_expectations.txt:
+ * compositing/repaint/shrink-layer.html: Added.
+ * compositing/repaint/shrink-layer-expected.png: Added.
+ * compositing/repaint/shrink-layer-expected.txt: Added.
+
2011-06-08 Mark Pilgrim <[email protected]>
Reviewed by Tony Chang.
Added: trunk/LayoutTests/compositing/repaint/shrink-layer-expected.png
(Binary files differ)
Property changes on: trunk/LayoutTests/compositing/repaint/shrink-layer-expected.png
___________________________________________________________________
Added: svn:mime-type
Added: trunk/LayoutTests/compositing/repaint/shrink-layer-expected.txt (0 => 88386)
--- trunk/LayoutTests/compositing/repaint/shrink-layer-expected.txt (rev 0)
+++ trunk/LayoutTests/compositing/repaint/shrink-layer-expected.txt 2011-06-08 21:16:37 UTC (rev 88386)
@@ -0,0 +1 @@
+
Property changes on: trunk/LayoutTests/compositing/repaint/shrink-layer-expected.txt
___________________________________________________________________
Added: svn:eol-style
Added: trunk/LayoutTests/compositing/repaint/shrink-layer.html (0 => 88386)
--- trunk/LayoutTests/compositing/repaint/shrink-layer.html (rev 0)
+++ trunk/LayoutTests/compositing/repaint/shrink-layer.html 2011-06-08 21:16:37 UTC (rev 88386)
@@ -0,0 +1,25 @@
+<html>
+<head>
+ <title>Test for bug 62243</title>
+ <style type="text/css">
+ #ruler {
+ -webkit-transform: translateZ(0);
+ border-bottom: 10px solid black;
+ width: 550px;
+ height: 500px;
+ }
+ </style>
+ <script src=""
+ <script>
+ if (window.layoutTestController)
+ layoutTestController.dumpAsText(true);
+ function repaintTest()
+ {
+ document.getElementById("ruler").style.height = "450px";
+ }
+ </script>
+</head>
+<body _onload_="runRepaintTest()">
+ <div id="ruler">
+</body>
+</html>
Property changes on: trunk/LayoutTests/compositing/repaint/shrink-layer.html
___________________________________________________________________
Added: svn:executable
Added: svn:eol-style
Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (88385 => 88386)
--- trunk/LayoutTests/platform/chromium/test_expectations.txt 2011-06-08 21:15:25 UTC (rev 88385)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt 2011-06-08 21:16:37 UTC (rev 88386)
@@ -3550,6 +3550,9 @@
BUGWK60096 DEBUG : fast/css/last-child-pseudo-class.html = TEXT PASS
BUGWK60097 DEBUG : fast/dom/HTMLLinkElement/link-and-subresource-test.html = TEXT PASS
+// Needs rebaseline
+BUGWK62243 GPU : compositing/geometry/vertical-scroll-composited.html = IMAGE
+
BUGWK60102 LINUX DEBUG GPU : compositing/geometry/fixed-in-composited.html = IMAGE
BUGWK60102 LINUX DEBUG GPU : compositing/geometry/horizontal-scroll-composited.html = IMAGE
BUGWK60102 LINUX GPU : compositing/geometry/tall-page-composited.html = IMAGE
Modified: trunk/Source/WebCore/ChangeLog (88385 => 88386)
--- trunk/Source/WebCore/ChangeLog 2011-06-08 21:15:25 UTC (rev 88385)
+++ trunk/Source/WebCore/ChangeLog 2011-06-08 21:16:37 UTC (rev 88386)
@@ -1,3 +1,18 @@
+2011-06-08 John Bauman <[email protected]>
+
+ Reviewed by James Robinson.
+
+ Only draw portions of tiles in contentRect
+ https://bugs.webkit.org/show_bug.cgi?id=62243
+
+ Old garbage data can remain in tiles, so make sure to draw only those
+ portions that are supposed to be drawn.
+
+ Test: compositing/repaint/shrink-layer.html
+
+ * platform/graphics/chromium/LayerTilerChromium.cpp:
+ (WebCore::LayerTilerChromium::draw):
+
2011-06-08 Emil A Eklund <[email protected]>
Reviewed by Eric Seidel.
Modified: trunk/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.cpp (88385 => 88386)
--- trunk/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.cpp 2011-06-08 21:15:25 UTC (rev 88385)
+++ trunk/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.cpp 2011-06-08 21:16:37 UTC (rev 88386)
@@ -346,6 +346,7 @@
int left, top, right, bottom;
contentRectToTileIndices(contentRect, left, top, right, bottom);
+ IntRect layerRect = contentRectToLayerRect(contentRect);
for (int j = top; j <= bottom; ++j) {
for (int i = left; i <= right; ++i) {
Tile* tile = tileAt(i, j);
@@ -359,10 +360,15 @@
// Don't use tileContentRect here, as that contains the full
// rect with border texels which shouldn't be drawn.
IntRect tileRect = m_tilingData.tileBounds(m_tilingData.tileIndex(tile->i(), tile->j()));
+ IntRect displayRect = tileRect;
+ tileRect.intersect(layerRect);
+ // Keep track of how the top left has moved, so the texture can be
+ // offset the same amount.
+ IntSize offset = tileRect.minXMinYCorner() - displayRect.minXMinYCorner();
tileRect.move(m_layerPosition.x(), m_layerPosition.y());
tileMatrix.translate3d(tileRect.x() + tileRect.width() / 2.0, tileRect.y() + tileRect.height() / 2.0, 0);
- IntPoint texOffset = m_tilingData.textureOffset(tile->i(), tile->j());
+ IntPoint texOffset = m_tilingData.textureOffset(tile->i(), tile->j()) + offset;
float tileWidth = static_cast<float>(m_tileSize.width());
float tileHeight = static_cast<float>(m_tileSize.height());
float texTranslateX = texOffset.x() / tileWidth;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes