summaryrefslogtreecommitdiffstats
path: root/cc/test/fake_picture_layer_tiling_client.cc
diff options
context:
space:
mode:
authordanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-30 21:23:59 +0000
committerdanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-30 21:23:59 +0000
commitf02a27ff8e75fd674cb8702b4785eed9cf02586d (patch)
tree3fafac78ed29eefa34e4e1016b7f1177b0cc5dc5 /cc/test/fake_picture_layer_tiling_client.cc
parent204e289678f041bdadd1836f4a3e1dc40cd752c6 (diff)
downloadchromium_src-f02a27ff8e75fd674cb8702b4785eed9cf02586d.zip
chromium_src-f02a27ff8e75fd674cb8702b4785eed9cf02586d.tar.gz
chromium_src-f02a27ff8e75fd674cb8702b4785eed9cf02586d.tar.bz2
cc: Make tile-creation lazy
This is a reland of https://chromiumcodereview.appspot.com/12865017/ after rebasing, fixing tests, and fixing the crash in crbug.com/231360. The TilesExist unit tests needed to check for the Tile* being NULL in addition to checking if the tile's priority in the active tree being live. When we create tiles in the live rect, if a tile is outside the recorded region, it will not be created. So it is not safe to assume that always all tiles inside the live rect do exist. This was the crash. The original CL deferred tile creation from cloning time (during commit) to instead be during UpdateTilePriorities. Tiles that were previously marked with is_live=false will now just not be created at all. The fallout of this is that the tiling needs to know about invalidation via the client so that it can sync on a per-tile basis, rather than cloning an entire tiling at a time. Additionally, some cleanup was done to make it so that a tiling has a fixed layer bounds at creation time, since this can only happen during commit. R=enne BUG=190816,231360 Review URL: https://chromiumcodereview.appspot.com/14600003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197476 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/test/fake_picture_layer_tiling_client.cc')
-rw-r--r--cc/test/fake_picture_layer_tiling_client.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/cc/test/fake_picture_layer_tiling_client.cc b/cc/test/fake_picture_layer_tiling_client.cc
index 7e35c38..c8c4d29 100644
--- a/cc/test/fake_picture_layer_tiling_client.cc
+++ b/cc/test/fake_picture_layer_tiling_client.cc
@@ -52,9 +52,17 @@ void FakePictureLayerTilingClient::SetTileSize(gfx::Size tile_size) {
}
gfx::Size FakePictureLayerTilingClient::CalculateTileSize(
- gfx::Size /* current_tile_size */,
gfx::Size /* content_bounds */) {
return tile_size_;
}
+const Region* FakePictureLayerTilingClient::GetInvalidation() {
+ return NULL;
+}
+
+const PictureLayerTiling* FakePictureLayerTilingClient::GetTwinTiling(
+ const PictureLayerTiling* tiling) {
+ return NULL;
+}
+
} // namespace cc