Title: [148094] trunk/Source/WebCore
- Revision
- 148094
- Author
- [email protected]
- Date
- 2013-04-10 07:58:37 -0700 (Wed, 10 Apr 2013)
Log Message
[Texmap] Update a dirty region which is not covered with keepRect.
https://bugs.webkit.org/show_bug.cgi?id=113752
Patch by JungJik Lee <[email protected]> on 2013-04-10
Reviewed by Jocelyn Turcotte.
There can be a dirty region which is not covered with keepRect.
However the dirty could be inside the tile area. In this case,
currently we ignore the dirty by intersecting with keepRect
and the dirty region will not be invalidated until the tile is
recreated. We must expand the keep rect to its intersecting tiles
to make sure that the dirty region is applied to existing tiles.
No tests needed, change is unobservable.
* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::invalidate):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (148093 => 148094)
--- trunk/Source/WebCore/ChangeLog 2013-04-10 14:36:00 UTC (rev 148093)
+++ trunk/Source/WebCore/ChangeLog 2013-04-10 14:58:37 UTC (rev 148094)
@@ -1,3 +1,22 @@
+2013-04-10 JungJik Lee <[email protected]>
+
+ [Texmap] Update a dirty region which is not covered with keepRect.
+ https://bugs.webkit.org/show_bug.cgi?id=113752
+
+ Reviewed by Jocelyn Turcotte.
+
+ There can be a dirty region which is not covered with keepRect.
+ However the dirty could be inside the tile area. In this case,
+ currently we ignore the dirty by intersecting with keepRect
+ and the dirty region will not be invalidated until the tile is
+ recreated. We must expand the keep rect to its intersecting tiles
+ to make sure that the dirty region is applied to existing tiles.
+
+ No tests needed, change is unobservable.
+
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::invalidate):
+
2013-04-10 Laszlo Gombos <[email protected]>
Remove ENABLE_3D_PLUGIN
Modified: trunk/Source/WebCore/platform/graphics/TiledBackingStore.cpp (148093 => 148094)
--- trunk/Source/WebCore/platform/graphics/TiledBackingStore.cpp 2013-04-10 14:36:00 UTC (rev 148093)
+++ trunk/Source/WebCore/platform/graphics/TiledBackingStore.cpp 2013-04-10 14:58:37 UTC (rev 148094)
@@ -81,9 +81,11 @@
void TiledBackingStore::invalidate(const IntRect& contentsDirtyRect)
{
IntRect dirtyRect(mapFromContents(contentsDirtyRect));
+ IntRect keepRectFitToTileSize = tileRectForCoordinate(tileCoordinateForPoint(m_keepRect.location()));
+ keepRectFitToTileSize.unite(tileRectForCoordinate(tileCoordinateForPoint(innerBottomRight(m_keepRect))));
// Only iterate on the part of the rect that we know we might have tiles.
- IntRect coveredDirtyRect = intersection(dirtyRect, m_keepRect);
+ IntRect coveredDirtyRect = intersection(dirtyRect, keepRectFitToTileSize);
Tile::Coordinate topLeft = tileCoordinateForPoint(coveredDirtyRect.location());
Tile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(coveredDirtyRect));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes