| Index: cc/resources/picture_layer_tiling_unittest.cc
 | 
| diff --git a/cc/resources/picture_layer_tiling_unittest.cc b/cc/resources/picture_layer_tiling_unittest.cc
 | 
| index 9190b98e48dd5e4662adfbd0ce5b256fb45ac5f0..1ed4613baf841e93bf3549661629acb373210d15 100644
 | 
| --- a/cc/resources/picture_layer_tiling_unittest.cc
 | 
| +++ b/cc/resources/picture_layer_tiling_unittest.cc
 | 
| @@ -54,17 +54,16 @@ class TestablePictureLayerTiling : public PictureLayerTiling {
 | 
|    static scoped_ptr<TestablePictureLayerTiling> Create(
 | 
|        float contents_scale,
 | 
|        const gfx::Size& layer_bounds,
 | 
| -      PictureLayerTilingClient* client) {
 | 
| +      PictureLayerTilingClient* client,
 | 
| +      const LayerTreeSettings& settings) {
 | 
|      return make_scoped_ptr(new TestablePictureLayerTiling(
 | 
| -        contents_scale,
 | 
| -        layer_bounds,
 | 
| -        client));
 | 
| +        contents_scale, layer_bounds, client,
 | 
| +        settings.max_tiles_for_interest_area,
 | 
| +        settings.skewport_target_time_in_seconds,
 | 
| +        settings.skewport_extrapolation_limit_in_content_pixels));
 | 
|    }
 | 
|  
 | 
|    gfx::Rect live_tiles_rect() const { return live_tiles_rect_; }
 | 
| -  bool eviction_tiles_cache_valid() const {
 | 
| -    return eviction_tiles_cache_valid_;
 | 
| -  }
 | 
|  
 | 
|    using PictureLayerTiling::ComputeSkewport;
 | 
|    using PictureLayerTiling::RemoveTileAt;
 | 
| @@ -72,8 +71,16 @@ class TestablePictureLayerTiling : public PictureLayerTiling {
 | 
|   protected:
 | 
|    TestablePictureLayerTiling(float contents_scale,
 | 
|                               const gfx::Size& layer_bounds,
 | 
| -                             PictureLayerTilingClient* client)
 | 
| -      : PictureLayerTiling(contents_scale, layer_bounds, client) { }
 | 
| +                             PictureLayerTilingClient* client,
 | 
| +                             size_t max_tiles_for_interest_area,
 | 
| +                             float skewport_target_time,
 | 
| +                             int skewport_extrapolation_limit)
 | 
| +      : PictureLayerTiling(contents_scale,
 | 
| +                           layer_bounds,
 | 
| +                           client,
 | 
| +                           max_tiles_for_interest_area,
 | 
| +                           skewport_target_time,
 | 
| +                           skewport_extrapolation_limit) {}
 | 
|  };
 | 
|  
 | 
|  class PictureLayerTilingIteratorTest : public testing::Test {
 | 
| @@ -86,9 +93,8 @@ class PictureLayerTilingIteratorTest : public testing::Test {
 | 
|                    const gfx::Size& layer_bounds) {
 | 
|      client_.SetTileSize(tile_size);
 | 
|      client_.set_tree(PENDING_TREE);
 | 
| -    tiling_ = TestablePictureLayerTiling::Create(contents_scale,
 | 
| -                                                 layer_bounds,
 | 
| -                                                 &client_);
 | 
| +    tiling_ = TestablePictureLayerTiling::Create(contents_scale, layer_bounds,
 | 
| +                                                 &client_, LayerTreeSettings());
 | 
|    }
 | 
|  
 | 
|    void SetLiveRectAndVerifyTiles(const gfx::Rect& live_tiles_rect) {
 | 
| @@ -180,10 +186,6 @@ class PictureLayerTilingIteratorTest : public testing::Test {
 | 
|      VerifyTilesExactlyCoverRect(rect_scale, dest_rect, clamped_rect);
 | 
|    }
 | 
|  
 | 
| -  void set_max_tiles_for_interest_area(size_t area) {
 | 
| -    client_.set_max_tiles_for_interest_area(area);
 | 
| -  }
 | 
| -
 | 
|   protected:
 | 
|    FakePictureLayerTilingClient client_;
 | 
|    scoped_ptr<TestablePictureLayerTiling> tiling_;
 | 
| @@ -208,14 +210,15 @@ TEST_F(PictureLayerTilingIteratorTest, ResizeDeletesTiles) {
 | 
|  
 | 
|    Region invalidation =
 | 
|        SubtractRegions(gfx::Rect(tile_size), gfx::Rect(original_layer_size));
 | 
| -  tiling_->UpdateTilesToCurrentRasterSource(client_.raster_source(),
 | 
| -                                            invalidation, gfx::Size(200, 200));
 | 
| +  tiling_->Resize(gfx::Size(200, 200));
 | 
| +  EXPECT_TRUE(tiling_->TileAt(0, 0));
 | 
| +  tiling_->Invalidate(invalidation);
 | 
|    EXPECT_FALSE(tiling_->TileAt(0, 0));
 | 
|  }
 | 
|  
 | 
|  TEST_F(PictureLayerTilingIteratorTest, CreateMissingTilesStaysInsideLiveRect) {
 | 
|    // The tiling has three rows and columns.
 | 
| -  Initialize(gfx::Size(100, 100), 1, gfx::Size(250, 250));
 | 
| +  Initialize(gfx::Size(100, 100), 1.f, gfx::Size(250, 250));
 | 
|    EXPECT_EQ(3, tiling_->TilingDataForTesting().num_tiles_x());
 | 
|    EXPECT_EQ(3, tiling_->TilingDataForTesting().num_tiles_y());
 | 
|  
 | 
| @@ -243,7 +246,7 @@ TEST_F(PictureLayerTilingIteratorTest, CreateMissingTilesStaysInsideLiveRect) {
 | 
|  
 | 
|  TEST_F(PictureLayerTilingIteratorTest, ResizeTilingOverTileBorders) {
 | 
|    // The tiling has four rows and three columns.
 | 
| -  Initialize(gfx::Size(100, 100), 1, gfx::Size(250, 350));
 | 
| +  Initialize(gfx::Size(100, 100), 1.f, gfx::Size(250, 350));
 | 
|    EXPECT_EQ(3, tiling_->TilingDataForTesting().num_tiles_x());
 | 
|    EXPECT_EQ(4, tiling_->TilingDataForTesting().num_tiles_y());
 | 
|  
 | 
| @@ -263,9 +266,7 @@ TEST_F(PictureLayerTilingIteratorTest, ResizeTilingOverTileBorders) {
 | 
|  
 | 
|    // Shrink the tiling so that the last tile row/column is entirely in the
 | 
|    // border pixels of the interior tiles. That row/column is removed.
 | 
| -  Region invalidation;
 | 
| -  tiling_->UpdateTilesToCurrentRasterSource(
 | 
| -      client_.raster_source(), invalidation, gfx::Size(right + 1, bottom + 1));
 | 
| +  tiling_->Resize(gfx::Size(right + 1, bottom + 1));
 | 
|    EXPECT_EQ(2, tiling_->TilingDataForTesting().num_tiles_x());
 | 
|    EXPECT_EQ(3, tiling_->TilingDataForTesting().num_tiles_y());
 | 
|  
 | 
| @@ -282,8 +283,7 @@ TEST_F(PictureLayerTilingIteratorTest, ResizeTilingOverTileBorders) {
 | 
|  
 | 
|    // Growing outside the current right/bottom tiles border pixels should create
 | 
|    // the tiles again, even though the live rect has not changed size.
 | 
| -  tiling_->UpdateTilesToCurrentRasterSource(
 | 
| -      client_.raster_source(), invalidation, gfx::Size(right + 2, bottom + 2));
 | 
| +  tiling_->Resize(gfx::Size(right + 2, bottom + 2));
 | 
|    EXPECT_EQ(3, tiling_->TilingDataForTesting().num_tiles_x());
 | 
|    EXPECT_EQ(4, tiling_->TilingDataForTesting().num_tiles_y());
 | 
|  
 | 
| @@ -306,7 +306,7 @@ TEST_F(PictureLayerTilingIteratorTest, ResizeTilingOverTileBorders) {
 | 
|  
 | 
|  TEST_F(PictureLayerTilingIteratorTest, ResizeLiveTileRectOverTileBorders) {
 | 
|    // The tiling has three rows and columns.
 | 
| -  Initialize(gfx::Size(100, 100), 1, gfx::Size(250, 350));
 | 
| +  Initialize(gfx::Size(100, 100), 1.f, gfx::Size(250, 350));
 | 
|    EXPECT_EQ(3, tiling_->TilingDataForTesting().num_tiles_x());
 | 
|    EXPECT_EQ(4, tiling_->TilingDataForTesting().num_tiles_y());
 | 
|  
 | 
| @@ -371,7 +371,7 @@ TEST_F(PictureLayerTilingIteratorTest, ResizeLiveTileRectOverTileBorders) {
 | 
|  
 | 
|  TEST_F(PictureLayerTilingIteratorTest, ResizeLiveTileRectOverSameTiles) {
 | 
|    // The tiling has four rows and three columns.
 | 
| -  Initialize(gfx::Size(100, 100), 1, gfx::Size(250, 350));
 | 
| +  Initialize(gfx::Size(100, 100), 1.f, gfx::Size(250, 350));
 | 
|    EXPECT_EQ(3, tiling_->TilingDataForTesting().num_tiles_x());
 | 
|    EXPECT_EQ(4, tiling_->TilingDataForTesting().num_tiles_y());
 | 
|  
 | 
| @@ -419,8 +419,9 @@ TEST_F(PictureLayerTilingIteratorTest, ResizeOverBorderPixelsDeletesTiles) {
 | 
|  
 | 
|    Region invalidation =
 | 
|        SubtractRegions(gfx::Rect(tile_size), gfx::Rect(original_layer_size));
 | 
| -  tiling_->UpdateTilesToCurrentRasterSource(client_.raster_source(),
 | 
| -                                            invalidation, gfx::Size(200, 200));
 | 
| +  tiling_->Resize(gfx::Size(200, 200));
 | 
| +  EXPECT_TRUE(tiling_->TileAt(0, 0));
 | 
| +  tiling_->Invalidate(invalidation);
 | 
|    EXPECT_FALSE(tiling_->TileAt(0, 0));
 | 
|  
 | 
|    // The original tile was the same size after resize, but it would include new
 | 
| @@ -430,7 +431,7 @@ TEST_F(PictureLayerTilingIteratorTest, ResizeOverBorderPixelsDeletesTiles) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(PictureLayerTilingIteratorTest, LiveTilesExactlyCoverLiveTileRect) {
 | 
| -  Initialize(gfx::Size(100, 100), 1, gfx::Size(1099, 801));
 | 
| +  Initialize(gfx::Size(100, 100), 1.f, gfx::Size(1099, 801));
 | 
|    SetLiveRectAndVerifyTiles(gfx::Rect(100, 100));
 | 
|    SetLiveRectAndVerifyTiles(gfx::Rect(101, 99));
 | 
|    SetLiveRectAndVerifyTiles(gfx::Rect(1099, 1));
 | 
| @@ -440,13 +441,13 @@ TEST_F(PictureLayerTilingIteratorTest, LiveTilesExactlyCoverLiveTileRect) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(PictureLayerTilingIteratorTest, IteratorCoversLayerBoundsNoScale) {
 | 
| -  Initialize(gfx::Size(100, 100), 1, gfx::Size(1099, 801));
 | 
| +  Initialize(gfx::Size(100, 100), 1.f, gfx::Size(1099, 801));
 | 
|    VerifyTilesExactlyCoverRect(1, gfx::Rect());
 | 
|    VerifyTilesExactlyCoverRect(1, gfx::Rect(0, 0, 1099, 801));
 | 
|    VerifyTilesExactlyCoverRect(1, gfx::Rect(52, 83, 789, 412));
 | 
|  
 | 
|    // With borders, a size of 3x3 = 1 pixel of content.
 | 
| -  Initialize(gfx::Size(3, 3), 1, gfx::Size(10, 10));
 | 
| +  Initialize(gfx::Size(3, 3), 1.f, gfx::Size(10, 10));
 | 
|    VerifyTilesExactlyCoverRect(1, gfx::Rect(0, 0, 1, 1));
 | 
|    VerifyTilesExactlyCoverRect(1, gfx::Rect(0, 0, 2, 2));
 | 
|    VerifyTilesExactlyCoverRect(1, gfx::Rect(1, 1, 2, 2));
 | 
| @@ -532,7 +533,6 @@ TEST_F(PictureLayerTilingIteratorTest, NonContainedDestRect) {
 | 
|  
 | 
|  TEST(PictureLayerTilingTest, SkewportLimits) {
 | 
|    FakePictureLayerTilingClient client;
 | 
| -  client.set_skewport_extrapolation_limit_in_content_pixels(75);
 | 
|    client.set_tree(ACTIVE_TREE);
 | 
|    scoped_ptr<TestablePictureLayerTiling> tiling;
 | 
|  
 | 
| @@ -540,7 +540,11 @@ TEST(PictureLayerTilingTest, SkewportLimits) {
 | 
|    gfx::Size layer_bounds(200, 200);
 | 
|  
 | 
|    client.SetTileSize(gfx::Size(100, 100));
 | 
| -  tiling = TestablePictureLayerTiling::Create(1.0f, layer_bounds, &client);
 | 
| +  LayerTreeSettings settings;
 | 
| +  settings.max_tiles_for_interest_area = 10000;
 | 
| +  settings.skewport_extrapolation_limit_in_content_pixels = 75;
 | 
| +  tiling =
 | 
| +      TestablePictureLayerTiling::Create(1.0f, layer_bounds, &client, settings);
 | 
|  
 | 
|    tiling->ComputeTilePriorityRects(viewport, 1.f, 1.0, Occlusion());
 | 
|  
 | 
| @@ -606,7 +610,8 @@ TEST(PictureLayerTilingTest, ComputeSkewport) {
 | 
|  
 | 
|    client.SetTileSize(gfx::Size(100, 100));
 | 
|    client.set_tree(ACTIVE_TREE);
 | 
| -  tiling = TestablePictureLayerTiling::Create(1.0f, layer_bounds, &client);
 | 
| +  tiling = TestablePictureLayerTiling::Create(1.0f, layer_bounds, &client,
 | 
| +                                              LayerTreeSettings());
 | 
|  
 | 
|    tiling->ComputeTilePriorityRects(viewport, 1.f, 1.0, Occlusion());
 | 
|  
 | 
| @@ -665,13 +670,16 @@ TEST(PictureLayerTilingTest, ViewportDistanceWithScale) {
 | 
|  
 | 
|    client.SetTileSize(gfx::Size(10, 10));
 | 
|    client.set_tree(ACTIVE_TREE);
 | 
| +  LayerTreeSettings settings;
 | 
| +  settings.max_tiles_for_interest_area = 10000;
 | 
|  
 | 
|    // Tiling at 0.25 scale: this should create 47x47 tiles of size 10x10.
 | 
|    // The reason is that each tile has a one pixel border, so tile at (1, 2)
 | 
|    // for instance begins at (8, 16) pixels. So tile at (46, 46) will begin at
 | 
|    // (368, 368) and extend to the end of 1500 * 0.25 = 375 edge of the
 | 
|    // tiling.
 | 
| -  tiling = TestablePictureLayerTiling::Create(0.25f, layer_bounds, &client);
 | 
| +  tiling = TestablePictureLayerTiling::Create(0.25f, layer_bounds, &client,
 | 
| +                                              settings);
 | 
|    gfx::Rect viewport_in_content_space =
 | 
|        gfx::ToEnclosedRect(gfx::ScaleRect(viewport, 0.25f));
 | 
|  
 | 
| @@ -825,7 +833,8 @@ TEST(PictureLayerTilingTest, ViewportDistanceWithScale) {
 | 
|    EXPECT_FLOAT_EQ(8.f, priority.distance_to_visible);
 | 
|  
 | 
|    // Test additional scales.
 | 
| -  tiling = TestablePictureLayerTiling::Create(0.2f, layer_bounds, &client);
 | 
| +  tiling = TestablePictureLayerTiling::Create(0.2f, layer_bounds, &client,
 | 
| +                                              LayerTreeSettings());
 | 
|    tiling->ComputeTilePriorityRects(viewport, 1.0f, 4.0, Occlusion());
 | 
|    tiling->UpdateAllTilePrioritiesForTesting();
 | 
|  
 | 
| @@ -1085,8 +1094,11 @@ TEST(PictureLayerTilingTest, TilingRasterTileIteratorStaticViewport) {
 | 
|  
 | 
|    client.SetTileSize(gfx::Size(30, 30));
 | 
|    client.set_tree(ACTIVE_TREE);
 | 
| +  LayerTreeSettings settings;
 | 
| +  settings.max_tiles_for_interest_area = 10000;
 | 
|  
 | 
| -  tiling = TestablePictureLayerTiling::Create(1.0f, layer_bounds, &client);
 | 
| +  tiling =
 | 
| +      TestablePictureLayerTiling::Create(1.0f, layer_bounds, &client, settings);
 | 
|    tiling->ComputeTilePriorityRects(viewport, 1.0f, 1.0, Occlusion());
 | 
|    tiling->UpdateAllTilePrioritiesForTesting();
 | 
|  
 | 
| @@ -1190,8 +1202,11 @@ TEST(PictureLayerTilingTest, TilingRasterTileIteratorMovingViewport) {
 | 
|  
 | 
|    client.SetTileSize(gfx::Size(30, 30));
 | 
|    client.set_tree(ACTIVE_TREE);
 | 
| +  LayerTreeSettings settings;
 | 
| +  settings.max_tiles_for_interest_area = 10000;
 | 
|  
 | 
| -  tiling = TestablePictureLayerTiling::Create(1.f, layer_bounds, &client);
 | 
| +  tiling =
 | 
| +      TestablePictureLayerTiling::Create(1.f, layer_bounds, &client, settings);
 | 
|    tiling->ComputeTilePriorityRects(viewport, 1.0f, 1.0, Occlusion());
 | 
|    tiling->ComputeTilePriorityRects(moved_viewport, 1.0f, 2.0, Occlusion());
 | 
|    tiling->UpdateAllTilePrioritiesForTesting();
 | 
| @@ -1326,14 +1341,19 @@ static void TilesIntersectingRectExist(const gfx::Rect& rect,
 | 
|  TEST_F(PictureLayerTilingIteratorTest,
 | 
|         TilesExistLargeViewportAndLayerWithSmallVisibleArea) {
 | 
|    gfx::Size layer_bounds(10000, 10000);
 | 
| -  Initialize(gfx::Size(100, 100), 1.f, layer_bounds);
 | 
| +  client_.SetTileSize(gfx::Size(100, 100));
 | 
| +  client_.set_tree(PENDING_TREE);
 | 
| +  LayerTreeSettings settings;
 | 
| +  settings.max_tiles_for_interest_area = 1;
 | 
| +
 | 
| +  tiling_ =
 | 
| +      TestablePictureLayerTiling::Create(1.f, layer_bounds, &client_, settings);
 | 
|    VerifyTilesExactlyCoverRect(1.f, gfx::Rect(layer_bounds));
 | 
|    VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, false));
 | 
|  
 | 
|    gfx::Rect visible_rect(8000, 8000, 50, 50);
 | 
|  
 | 
|    client_.set_tree(ACTIVE_TREE);
 | 
| -  set_max_tiles_for_interest_area(1);
 | 
|    tiling_->ComputeTilePriorityRects(visible_rect,  // visible content rect
 | 
|                                      1.f,           // current contents scale
 | 
|                                      1.0,           // current frame time
 | 
| @@ -1350,7 +1370,10 @@ TEST_F(PictureLayerTilingIteratorTest, AddTilingsToMatchScale) {
 | 
|    client_.SetTileSize(tile_size);
 | 
|    client_.set_tree(PENDING_TREE);
 | 
|  
 | 
| -  auto active_set = PictureLayerTilingSet::Create(&client_);
 | 
| +  LayerTreeSettings defaults;
 | 
| +  auto active_set = PictureLayerTilingSet::Create(
 | 
| +      &client_, 10000, defaults.skewport_target_time_in_seconds,
 | 
| +      defaults.skewport_extrapolation_limit_in_content_pixels);
 | 
|  
 | 
|    active_set->AddTiling(1.f, layer_bounds);
 | 
|  
 | 
| @@ -1367,10 +1390,12 @@ TEST_F(PictureLayerTilingIteratorTest, AddTilingsToMatchScale) {
 | 
|                base::Bind(&TileExists, true));
 | 
|  
 | 
|    // Add the same tilings to the pending set.
 | 
| -  auto pending_set = PictureLayerTilingSet::Create(&client_);
 | 
| +  auto pending_set = PictureLayerTilingSet::Create(
 | 
| +      &client_, 10000, defaults.skewport_target_time_in_seconds,
 | 
| +      defaults.skewport_extrapolation_limit_in_content_pixels);
 | 
|    Region invalidation;
 | 
| -  pending_set->SyncTilings(*active_set, layer_bounds, invalidation, 0.f,
 | 
| -                           client_.raster_source());
 | 
| +  pending_set->SyncTilingsForTesting(*active_set, layer_bounds, invalidation,
 | 
| +                                     0.f, client_.raster_source());
 | 
|  
 | 
|    // The pending tiling starts with no tiles.
 | 
|    VerifyTiles(pending_set->tiling_at(0), 1.f, gfx::Rect(layer_bounds),
 | 
| @@ -1407,8 +1432,8 @@ TEST(ComputeTilePriorityRectsTest, VisibleTiles) {
 | 
|    client.SetTileSize(gfx::Size(100, 100));
 | 
|    client.set_tree(ACTIVE_TREE);
 | 
|    tiling = TestablePictureLayerTiling::Create(1.0f,  // contents_scale
 | 
| -                                              current_layer_bounds,
 | 
| -                                              &client);
 | 
| +                                              current_layer_bounds, &client,
 | 
| +                                              LayerTreeSettings());
 | 
|  
 | 
|    tiling->ComputeTilePriorityRects(viewport_in_layer_space,
 | 
|                                     current_layer_contents_scale,
 | 
| @@ -1461,8 +1486,8 @@ TEST(ComputeTilePriorityRectsTest, OffscreenTiles) {
 | 
|    client.SetTileSize(gfx::Size(100, 100));
 | 
|    client.set_tree(ACTIVE_TREE);
 | 
|    tiling = TestablePictureLayerTiling::Create(1.0f,  // contents_scale
 | 
| -                                              current_layer_bounds,
 | 
| -                                              &client);
 | 
| +                                              current_layer_bounds, &client,
 | 
| +                                              LayerTreeSettings());
 | 
|  
 | 
|    tiling->ComputeTilePriorityRects(viewport_in_layer_space,
 | 
|                                     current_layer_contents_scale,
 | 
| @@ -1525,8 +1550,8 @@ TEST(ComputeTilePriorityRectsTest, PartiallyOffscreenLayer) {
 | 
|    client.SetTileSize(gfx::Size(100, 100));
 | 
|    client.set_tree(ACTIVE_TREE);
 | 
|    tiling = TestablePictureLayerTiling::Create(1.0f,  // contents_scale
 | 
| -                                              current_layer_bounds,
 | 
| -                                              &client);
 | 
| +                                              current_layer_bounds, &client,
 | 
| +                                              LayerTreeSettings());
 | 
|  
 | 
|    tiling->ComputeTilePriorityRects(viewport_in_layer_space,
 | 
|                                     current_layer_contents_scale,
 | 
| @@ -1583,8 +1608,8 @@ TEST(ComputeTilePriorityRectsTest, PartiallyOffscreenRotatedLayer) {
 | 
|    client.SetTileSize(gfx::Size(100, 100));
 | 
|    client.set_tree(ACTIVE_TREE);
 | 
|    tiling = TestablePictureLayerTiling::Create(1.0f,  // contents_scale
 | 
| -                                              current_layer_bounds,
 | 
| -                                              &client);
 | 
| +                                              current_layer_bounds, &client,
 | 
| +                                              LayerTreeSettings());
 | 
|  
 | 
|    tiling->ComputeTilePriorityRects(viewport_in_layer_space,
 | 
|                                     current_layer_contents_scale,
 | 
| @@ -1665,8 +1690,8 @@ TEST(ComputeTilePriorityRectsTest, PerspectiveLayer) {
 | 
|    client.SetTileSize(gfx::Size(100, 100));
 | 
|    client.set_tree(ACTIVE_TREE);
 | 
|    tiling = TestablePictureLayerTiling::Create(1.0f,  // contents_scale
 | 
| -                                              current_layer_bounds,
 | 
| -                                              &client);
 | 
| +                                              current_layer_bounds, &client,
 | 
| +                                              LayerTreeSettings());
 | 
|  
 | 
|    tiling->ComputeTilePriorityRects(viewport_in_layer_space,
 | 
|                                     current_layer_contents_scale,
 | 
| @@ -1757,8 +1782,8 @@ TEST(ComputeTilePriorityRectsTest, PerspectiveLayerClippedByW) {
 | 
|    client.SetTileSize(gfx::Size(100, 100));
 | 
|    client.set_tree(ACTIVE_TREE);
 | 
|    tiling = TestablePictureLayerTiling::Create(1.0f,  // contents_scale
 | 
| -                                              current_layer_bounds,
 | 
| -                                              &client);
 | 
| +                                              current_layer_bounds, &client,
 | 
| +                                              LayerTreeSettings());
 | 
|  
 | 
|    tiling->ComputeTilePriorityRects(viewport_in_layer_space,
 | 
|                                     current_layer_contents_scale,
 | 
| @@ -1818,9 +1843,11 @@ TEST(ComputeTilePriorityRectsTest, BasicMotion) {
 | 
|  
 | 
|    client.SetTileSize(gfx::Size(100, 100));
 | 
|    client.set_tree(ACTIVE_TREE);
 | 
| +  LayerTreeSettings settings;
 | 
| +  settings.max_tiles_for_interest_area = 10000;
 | 
|    tiling = TestablePictureLayerTiling::Create(1.0f,  // contents_scale
 | 
| -                                              current_layer_bounds,
 | 
| -                                              &client);
 | 
| +                                              current_layer_bounds, &client,
 | 
| +                                              settings);
 | 
|  
 | 
|    // previous ("last") frame
 | 
|    tiling->ComputeTilePriorityRects(viewport_in_layer_space,
 | 
| @@ -1894,8 +1921,8 @@ TEST(ComputeTilePriorityRectsTest, RotationMotion) {
 | 
|    client.SetTileSize(gfx::Size(100, 100));
 | 
|    client.set_tree(ACTIVE_TREE);
 | 
|    tiling = TestablePictureLayerTiling::Create(1.0f,  // contents_scale
 | 
| -                                              current_layer_bounds,
 | 
| -                                              &client);
 | 
| +                                              current_layer_bounds, &client,
 | 
| +                                              LayerTreeSettings());
 | 
|  
 | 
|    // previous ("last") frame
 | 
|    tiling->ComputeTilePriorityRects(viewport_in_layer_space,
 | 
| @@ -1942,10 +1969,11 @@ TEST(PictureLayerTilingTest, RecycledTilesCleared) {
 | 
|  
 | 
|    active_client.SetTileSize(gfx::Size(100, 100));
 | 
|    active_client.set_tree(ACTIVE_TREE);
 | 
| -  active_client.set_max_tiles_for_interest_area(10);
 | 
| +  LayerTreeSettings settings;
 | 
| +  settings.max_tiles_for_interest_area = 10;
 | 
|    active_tiling = TestablePictureLayerTiling::Create(1.0f,  // contents_scale
 | 
|                                                       gfx::Size(10000, 10000),
 | 
| -                                                     &active_client);
 | 
| +                                                     &active_client, settings);
 | 
|    // Create all tiles on this tiling.
 | 
|    active_tiling->ComputeTilePriorityRects(gfx::Rect(0, 0, 100, 100), 1.0f, 1.0f,
 | 
|                                            Occlusion());
 | 
| @@ -1954,12 +1982,11 @@ TEST(PictureLayerTilingTest, RecycledTilesCleared) {
 | 
|    recycle_client.SetTileSize(gfx::Size(100, 100));
 | 
|    recycle_client.set_tree(PENDING_TREE);
 | 
|    recycle_client.set_twin_tiling(active_tiling.get());
 | 
| -  recycle_client.set_max_tiles_for_interest_area(10);
 | 
|  
 | 
|    scoped_ptr<TestablePictureLayerTiling> recycle_tiling;
 | 
| -  recycle_tiling = TestablePictureLayerTiling::Create(1.0f,  // contents_scale
 | 
| -                                                      gfx::Size(10000, 10000),
 | 
| -                                                      &recycle_client);
 | 
| +  recycle_tiling = TestablePictureLayerTiling::Create(
 | 
| +      1.0f,  // contents_scale
 | 
| +      gfx::Size(10000, 10000), &recycle_client, settings);
 | 
|  
 | 
|    // Create all tiles on the second tiling. All tiles should be shared.
 | 
|    recycle_tiling->ComputeTilePriorityRects(gfx::Rect(0, 0, 100, 100), 1.0f,
 | 
| @@ -1986,9 +2013,9 @@ TEST(PictureLayerTilingTest, RecycledTilesCleared) {
 | 
|    active_tiling->ComputeTilePriorityRects(gfx::Rect(0, 0, 100, 100), 1.0f, 3.0,
 | 
|                                            Occlusion());
 | 
|  
 | 
| -  // Ensure that we now have a tile here, but the recycle tiling does not.
 | 
| +  // Ensure that we now have a tile here on both tilings again.
 | 
|    EXPECT_TRUE(active_tiling->TileAt(0, 0));
 | 
| -  EXPECT_FALSE(recycle_tiling->TileAt(0, 0));
 | 
| +  EXPECT_TRUE(recycle_tiling->TileAt(0, 0));
 | 
|  }
 | 
|  
 | 
|  TEST(PictureLayerTilingTest, RecycledTilesClearedOnReset) {
 | 
| @@ -1997,9 +2024,9 @@ TEST(PictureLayerTilingTest, RecycledTilesClearedOnReset) {
 | 
|  
 | 
|    active_client.SetTileSize(gfx::Size(100, 100));
 | 
|    active_client.set_tree(ACTIVE_TREE);
 | 
| -  active_tiling = TestablePictureLayerTiling::Create(1.0f,  // contents_scale
 | 
| -                                                     gfx::Size(100, 100),
 | 
| -                                                     &active_client);
 | 
| +  active_tiling = TestablePictureLayerTiling::Create(
 | 
| +      1.0f,  // contents_scale
 | 
| +      gfx::Size(100, 100), &active_client, LayerTreeSettings());
 | 
|    // Create all tiles on this tiling.
 | 
|    active_tiling->ComputeTilePriorityRects(gfx::Rect(0, 0, 100, 100), 1.0f, 1.0f,
 | 
|                                            Occlusion());
 | 
| @@ -2008,12 +2035,13 @@ TEST(PictureLayerTilingTest, RecycledTilesClearedOnReset) {
 | 
|    recycle_client.SetTileSize(gfx::Size(100, 100));
 | 
|    recycle_client.set_tree(PENDING_TREE);
 | 
|    recycle_client.set_twin_tiling(active_tiling.get());
 | 
| -  recycle_client.set_max_tiles_for_interest_area(10);
 | 
|  
 | 
| +  LayerTreeSettings settings;
 | 
| +  settings.max_tiles_for_interest_area = 10;
 | 
|    scoped_ptr<TestablePictureLayerTiling> recycle_tiling;
 | 
| -  recycle_tiling = TestablePictureLayerTiling::Create(1.0f,  // contents_scale
 | 
| -                                                      gfx::Size(100, 100),
 | 
| -                                                      &recycle_client);
 | 
| +  recycle_tiling = TestablePictureLayerTiling::Create(
 | 
| +      1.0f,  // contents_scale
 | 
| +      gfx::Size(100, 100), &recycle_client, settings);
 | 
|  
 | 
|    // Create all tiles on the recycle tiling. All tiles should be shared.
 | 
|    recycle_tiling->ComputeTilePriorityRects(gfx::Rect(0, 0, 100, 100), 1.0f,
 | 
| @@ -2037,7 +2065,7 @@ TEST(PictureLayerTilingTest, RecycledTilesClearedOnReset) {
 | 
|  
 | 
|  TEST_F(PictureLayerTilingIteratorTest, ResizeTilesAndUpdateToCurrent) {
 | 
|    // The tiling has four rows and three columns.
 | 
| -  Initialize(gfx::Size(150, 100), 1, gfx::Size(250, 150));
 | 
| +  Initialize(gfx::Size(150, 100), 1.f, gfx::Size(250, 150));
 | 
|    tiling_->CreateAllTilesForTesting();
 | 
|    EXPECT_EQ(150, tiling_->TilingDataForTesting().max_texture_size().width());
 | 
|    EXPECT_EQ(100, tiling_->TilingDataForTesting().max_texture_size().height());
 | 
| @@ -2050,9 +2078,7 @@ TEST_F(PictureLayerTilingIteratorTest, ResizeTilesAndUpdateToCurrent) {
 | 
|    EXPECT_EQ(150, tiling_->TilingDataForTesting().max_texture_size().width());
 | 
|    EXPECT_EQ(100, tiling_->TilingDataForTesting().max_texture_size().height());
 | 
|  
 | 
| -  Region invalidation;
 | 
| -  tiling_->UpdateTilesToCurrentRasterSource(client_.raster_source(),
 | 
| -                                            invalidation, gfx::Size(250, 150));
 | 
| +  tiling_->Resize(gfx::Size(250, 150));
 | 
|  
 | 
|    // Tile size in the tiling should be resized to 250x200.
 | 
|    EXPECT_EQ(250, tiling_->TilingDataForTesting().max_texture_size().width());
 | 
| 
 |