Title: [137923] trunk/Source/WebCore
- Revision
- 137923
- Author
- [email protected]
- Date
- 2012-12-17 10:59:26 -0800 (Mon, 17 Dec 2012)
Log Message
Don't allow edge TileCache tiles to be larger than necessary
https://bugs.webkit.org/show_bug.cgi?id=105195
Reviewed by Anders Carlsson.
The TileCache would allow edge tiles to be larger than the required size, with the assumption
that the extra space would never be visible. However, for content tiled layers, it can be,
and it doesn't get correctly cleared. So always keep the edge tiles at the specified size.
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::revalidateTiles):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (137922 => 137923)
--- trunk/Source/WebCore/ChangeLog 2012-12-17 18:46:33 UTC (rev 137922)
+++ trunk/Source/WebCore/ChangeLog 2012-12-17 18:59:26 UTC (rev 137923)
@@ -1,3 +1,17 @@
+2012-12-17 Simon Fraser <[email protected]>
+
+ Don't allow edge TileCache tiles to be larger than necessary
+ https://bugs.webkit.org/show_bug.cgi?id=105195
+
+ Reviewed by Anders Carlsson.
+
+ The TileCache would allow edge tiles to be larger than the required size, with the assumption
+ that the extra space would never be visible. However, for content tiled layers, it can be,
+ and it doesn't get correctly cleared. So always keep the edge tiles at the specified size.
+
+ * platform/graphics/ca/mac/TileCache.mm:
+ (WebCore::TileCache::revalidateTiles):
+
2012-12-17 Bem Jones-Bey <[email protected]>
[CSS Exclusions] Floats should respect shape-inside on exclusions
Modified: trunk/Source/WebCore/platform/graphics/ca/mac/TileCache.mm (137922 => 137923)
--- trunk/Source/WebCore/platform/graphics/ca/mac/TileCache.mm 2012-12-17 18:46:33 UTC (rev 137922)
+++ trunk/Source/WebCore/platform/graphics/ca/mac/TileCache.mm 2012-12-17 18:59:26 UTC (rev 137923)
@@ -616,10 +616,9 @@
[m_tileContainerLayer.get() addSublayer:tileInfo.layer.get()];
} else {
// We already have a layer for this tile. Ensure that its size is correct.
- CGSize tileLayerSize = [tileInfo.layer.get() frame].size;
- if (tileLayerSize.width >= tileRect.width() && tileLayerSize.height >= tileRect.height())
- continue;
- [tileInfo.layer.get() setFrame:tileRect];
+ FloatSize tileLayerSize([tileInfo.layer.get() frame].size);
+ if (tileLayerSize != FloatSize(tileRect.size()))
+ [tileInfo.layer.get() setFrame:tileRect];
}
++primaryLayerCount;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes