Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(641)

Unified Diff: cc/resources/picture_layer_tiling.cc

Issue 13726013: Smart layer invalidation for LCD text. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/resources/picture_layer_tiling.cc
diff --git a/cc/resources/picture_layer_tiling.cc b/cc/resources/picture_layer_tiling.cc
index c3a2ffe17d6a604b94cab4b2f09199202b9115cd..62350fcade9989c121c396b5afac194242105a4f 100644
--- a/cc/resources/picture_layer_tiling.cc
+++ b/cc/resources/picture_layer_tiling.cc
@@ -156,6 +156,19 @@ void PictureLayerTiling::Invalidate(const Region& layer_invalidation) {
CreateTile(new_tiles[i].first, new_tiles[i].second);
}
+void PictureLayerTiling::InvalidateTilesWithText() {
+ std::vector<TileMapKey> new_tiles;
+ for (TileMap::const_iterator it = tiles_.begin(); it != tiles_.end(); ++it) {
+ if (it->second->has_text())
+ new_tiles.push_back(it->first);
+ }
+
+ for (size_t i = 0; i < new_tiles.size(); ++i) {
+ tiles_.erase(new_tiles[i]);
+ CreateTile(new_tiles[i].first, new_tiles[i].second);
+ }
+}
+
void PictureLayerTiling::CreateTilesFromLayerRect(gfx::Rect layer_rect) {
gfx::Rect content_rect =
gfx::ToEnclosingRect(ScaleRect(layer_rect, contents_scale_));

Powered by Google App Engine
This is Rietveld 408576698