diff options
author | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-30 21:23:59 +0000 |
---|---|---|
committer | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-30 21:23:59 +0000 |
commit | f02a27ff8e75fd674cb8702b4785eed9cf02586d (patch) | |
tree | 3fafac78ed29eefa34e4e1016b7f1177b0cc5dc5 /cc/test/fake_picture_layer_tiling_client.cc | |
parent | 204e289678f041bdadd1836f4a3e1dc40cd752c6 (diff) | |
download | chromium_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.cc | 10 |
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 |