| 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 6adc61164548d426416a27156d9c5e4048207160..f5e7cdea4b559981019db6cc912c699ec3ff07ef 100644
 | 
| --- a/cc/resources/picture_layer_tiling_unittest.cc
 | 
| +++ b/cc/resources/picture_layer_tiling_unittest.cc
 | 
| @@ -5,10 +5,13 @@
 | 
|  #include "cc/resources/picture_layer_tiling.h"
 | 
|  
 | 
|  #include <limits>
 | 
| +#include <set>
 | 
|  
 | 
|  #include "cc/base/math_util.h"
 | 
|  #include "cc/resources/picture_layer_tiling_set.h"
 | 
|  #include "cc/test/fake_picture_layer_tiling_client.h"
 | 
| +#include "cc/test/fake_tile_manager.h"
 | 
| +#include "cc/test/fake_tile_manager_client.h"
 | 
|  #include "testing/gtest/include/gtest/gtest.h"
 | 
|  #include "ui/gfx/rect_conversions.h"
 | 
|  #include "ui/gfx/size_conversions.h"
 | 
| @@ -16,6 +19,12 @@
 | 
|  namespace cc {
 | 
|  namespace {
 | 
|  
 | 
| +const int kTileBundleWidth = 2;
 | 
| +const int kTileBundleHeight = 2;
 | 
| +std::pair<int, int> ComputeTileBundleIndex(int i, int j) {
 | 
| +  return std::make_pair(i / kTileBundleWidth, j / kTileBundleHeight);
 | 
| +}
 | 
| +
 | 
|  static gfx::Rect ViewportInLayerSpace(
 | 
|      const gfx::Transform& transform,
 | 
|      gfx::Size device_viewport) {
 | 
| @@ -34,6 +43,7 @@ class TestablePictureLayerTiling : public PictureLayerTiling {
 | 
|   public:
 | 
|    using PictureLayerTiling::SetLiveTilesRect;
 | 
|    using PictureLayerTiling::TileAt;
 | 
| +  using PictureLayerTiling::TileBundleAt;
 | 
|  
 | 
|    static scoped_ptr<TestablePictureLayerTiling> Create(
 | 
|        float contents_scale,
 | 
| @@ -45,6 +55,9 @@ class TestablePictureLayerTiling : public PictureLayerTiling {
 | 
|          client));
 | 
|    }
 | 
|  
 | 
| +  TilingData tiling_data() const { return tiling_data_; }
 | 
| +  TilingData bundle_tiling_data() const { return bundle_tiling_data_; }
 | 
| +
 | 
|   protected:
 | 
|    TestablePictureLayerTiling(float contents_scale,
 | 
|                               gfx::Size layer_bounds,
 | 
| @@ -54,7 +67,9 @@ class TestablePictureLayerTiling : public PictureLayerTiling {
 | 
|  
 | 
|  class PictureLayerTilingIteratorTest : public testing::Test {
 | 
|   public:
 | 
| -  PictureLayerTilingIteratorTest() {}
 | 
| +  PictureLayerTilingIteratorTest()
 | 
| +      : tile_manager_(&tile_manager_client_), client_(&tile_manager_) {}
 | 
| +
 | 
|    virtual ~PictureLayerTilingIteratorTest() {}
 | 
|  
 | 
|    void Initialize(gfx::Size tile_size,
 | 
| @@ -67,6 +82,7 @@ class PictureLayerTilingIteratorTest : public testing::Test {
 | 
|    }
 | 
|  
 | 
|    void SetLiveRectAndVerifyTiles(gfx::Rect live_tiles_rect) {
 | 
| +    tiling_->SetTreeForTesting(ACTIVE_TREE);
 | 
|      tiling_->SetLiveTilesRect(live_tiles_rect);
 | 
|  
 | 
|      std::vector<Tile*> tiles = tiling_->AllTilesForTesting();
 | 
| @@ -153,6 +169,8 @@ class PictureLayerTilingIteratorTest : public testing::Test {
 | 
|    }
 | 
|  
 | 
|   protected:
 | 
| +  FakeTileManagerClient tile_manager_client_;
 | 
| +  FakeTileManager tile_manager_;
 | 
|    FakePictureLayerTilingClient client_;
 | 
|    scoped_ptr<TestablePictureLayerTiling> tiling_;
 | 
|  
 | 
| @@ -261,6 +279,67 @@ TEST_F(PictureLayerTilingIteratorTest, NonContainedDestRect) {
 | 
|    VerifyTilesCoverNonContainedRect(0.5f, gfx::Rect(-1000, 100, 2000, 100));
 | 
|  }
 | 
|  
 | 
| +TEST(PictureLayerTilingTest, BundleAtContainsTileAt) {
 | 
| +  FakeTileManagerClient tile_manager_client;
 | 
| +  FakeTileManager tile_manager(&tile_manager_client);
 | 
| +  FakePictureLayerTilingClient client(&tile_manager);
 | 
| +
 | 
| +  gfx::Size current_layer_bounds(400, 400);
 | 
| +  client.SetTileSize(gfx::Size(100, 100));
 | 
| +  scoped_ptr<TestablePictureLayerTiling> tiling =
 | 
| +      TestablePictureLayerTiling::Create(1.0f, current_layer_bounds, &client);
 | 
| +
 | 
| +  tiling->CreateTilesForTesting(ACTIVE_TREE);
 | 
| +  for (int bundle_y = 0;
 | 
| +       bundle_y < (current_layer_bounds.height() / (kTileBundleHeight * 100));
 | 
| +       ++bundle_y) {
 | 
| +    for (int bundle_x = 0;
 | 
| +         bundle_x < (current_layer_bounds.width() / (kTileBundleWidth * 100));
 | 
| +         ++bundle_x) {
 | 
| +      EXPECT_TRUE(tiling->TileBundleAt(bundle_x, bundle_y))
 | 
| +          << "bundle_x " << bundle_x << " bundle_y " << bundle_y;
 | 
| +
 | 
| +      TileBundle* bundle = tiling->TileBundleAt(bundle_x, bundle_y);
 | 
| +      for (int tile_y = 0; tile_y < kTileBundleWidth; ++tile_y) {
 | 
| +        for (int tile_x = 0; tile_x < kTileBundleHeight; ++tile_x) {
 | 
| +          int global_tile_x = bundle_x * kTileBundleWidth + tile_x;
 | 
| +          int global_tile_y = bundle_y * kTileBundleHeight + tile_y;
 | 
| +
 | 
| +          EXPECT_TRUE(tiling->TileAt(ACTIVE_TREE, global_tile_x, global_tile_y))
 | 
| +              << "x " << global_tile_x << " y " << global_tile_y;
 | 
| +          EXPECT_EQ(tiling->TileAt(ACTIVE_TREE, global_tile_x, global_tile_y),
 | 
| +                    bundle->TileAt(ACTIVE_TREE, global_tile_x, global_tile_y))
 | 
| +              << "x " << global_tile_x << " y " << global_tile_y;
 | 
| +        }
 | 
| +      }
 | 
| +    }
 | 
| +  }
 | 
| +}
 | 
| +
 | 
| +TEST(PictureLayerTilingTest, DidBecomeActiveSwapsTiles) {
 | 
| +  FakeTileManagerClient tile_manager_client;
 | 
| +  FakeTileManager tile_manager(&tile_manager_client);
 | 
| +  FakePictureLayerTilingClient client(&tile_manager);
 | 
| +
 | 
| +  gfx::Size current_layer_bounds(400, 400);
 | 
| +  client.SetTileSize(gfx::Size(100, 100));
 | 
| +  scoped_ptr<TestablePictureLayerTiling> tiling =
 | 
| +      TestablePictureLayerTiling::Create(1.0f, current_layer_bounds, &client);
 | 
| +
 | 
| +  tiling->CreateTilesForTesting(ACTIVE_TREE);
 | 
| +  std::vector<Tile*> old_active_tiles = tiling->TilesForTesting(ACTIVE_TREE);
 | 
| +  tiling->DidBecomeActive();
 | 
| +  std::vector<Tile*> pending_tiles = tiling->TilesForTesting(PENDING_TREE);
 | 
| +  EXPECT_EQ(old_active_tiles.size(), pending_tiles.size());
 | 
| +  std::vector<Tile*>::const_iterator old_it = old_active_tiles.begin();
 | 
| +  for (std::vector<Tile*>::const_iterator it = pending_tiles.begin();
 | 
| +       it != pending_tiles.end();
 | 
| +       ++it) {
 | 
| +    EXPECT_EQ(*it, *old_it);
 | 
| +    ++old_it;
 | 
| +  }
 | 
| +}
 | 
| +
 | 
|  TEST(PictureLayerTilingTest, ExpandRectEqual) {
 | 
|    gfx::Rect in(40, 50, 100, 200);
 | 
|    gfx::Rect bounds(-1000, -1000, 10000, 10000);
 | 
| @@ -732,11 +811,64 @@ TEST_F(PictureLayerTilingIteratorTest, AddTilingsToMatchScale) {
 | 
|                base::Bind(&TileExists, true));
 | 
|  }
 | 
|  
 | 
| +TEST_F(PictureLayerTilingIteratorTest, BundlesAndTilesAlign) {
 | 
| +  Initialize(gfx::Size(100, 100), 1, gfx::Size(850, 850));
 | 
| +  for (int y = -20; y <= 102; ++y) {
 | 
| +    for (int x = 0; x <= 103; ++x) {
 | 
| +      for (int size = 1; size <= 201; size += 50) {
 | 
| +        gfx::Rect rect(x, y, size, size);
 | 
| +
 | 
| +        TilingData tiling_data = tiling_->tiling_data();
 | 
| +
 | 
| +        std::set<std::pair<int, int> > tile_positions;
 | 
| +        std::set<std::pair<int, int> > predicted_bundle_positions;
 | 
| +        size_t iteration_count = 0;
 | 
| +        for (TilingData::Iterator iter(&tiling_data, rect); iter; ++iter) {
 | 
| +          ++iteration_count;
 | 
| +          tile_positions.insert(std::make_pair(iter.index_x(), iter.index_y()));
 | 
| +          predicted_bundle_positions.insert(
 | 
| +              ComputeTileBundleIndex(iter.index_x(), iter.index_y()));
 | 
| +        }
 | 
| +
 | 
| +        ASSERT_EQ(tile_positions.size(), iteration_count) << rect.ToString();
 | 
| +
 | 
| +        TilingData bundle_tiling_data = tiling_->bundle_tiling_data();
 | 
| +        std::set<std::pair<int, int> > bundle_positions;
 | 
| +        iteration_count = 0;
 | 
| +        for (TilingData::Iterator iter(&bundle_tiling_data, rect);
 | 
| +             iter;
 | 
| +             ++iter) {
 | 
| +          ++iteration_count;
 | 
| +          bundle_positions.insert(
 | 
| +              std::make_pair(iter.index_x(), iter.index_y()));
 | 
| +        }
 | 
| +
 | 
| +        ASSERT_EQ(bundle_positions.size(), iteration_count) << rect.ToString();
 | 
| +        ASSERT_EQ(predicted_bundle_positions.size(), iteration_count)
 | 
| +            << rect.ToString();
 | 
| +
 | 
| +        std::set<std::pair<int, int> >::const_iterator predicted_iterator =
 | 
| +            predicted_bundle_positions.begin();
 | 
| +        for (std::set<std::pair<int, int> >::const_iterator actual_iterator =
 | 
| +                 bundle_positions.begin();
 | 
| +             actual_iterator != bundle_positions.end();
 | 
| +             ++actual_iterator) {
 | 
| +          ASSERT_EQ(*actual_iterator, *predicted_iterator) << rect.ToString();
 | 
| +          ++predicted_iterator;
 | 
| +        }
 | 
| +      }
 | 
| +    }
 | 
| +  }
 | 
| +}
 | 
| +
 | 
| +
 | 
|  TEST(UpdateTilePrioritiesTest, VisibleTiles) {
 | 
|    // The TilePriority of visible tiles should have zero distance_to_visible
 | 
|    // and time_to_visible.
 | 
|  
 | 
| -  FakePictureLayerTilingClient client;
 | 
| +  FakeTileManagerClient tile_manager_client;
 | 
| +  FakeTileManager tile_manager(&tile_manager_client);
 | 
| +  FakePictureLayerTilingClient client(&tile_manager);
 | 
|    scoped_ptr<TestablePictureLayerTiling> tiling;
 | 
|  
 | 
|    gfx::Size device_viewport(800, 600);
 | 
| @@ -772,24 +904,13 @@ TEST(UpdateTilePrioritiesTest, VisibleTiles) {
 | 
|        current_frame_time_in_seconds,
 | 
|        max_tiles_for_interest_area);
 | 
|  
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 1));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 1));
 | 
| -
 | 
| -  TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE);
 | 
| -  EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels);
 | 
| -  EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds);
 | 
| -
 | 
| -  priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE);
 | 
| -  EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels);
 | 
| -  EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds);
 | 
| -
 | 
| -  priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE);
 | 
| -  EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels);
 | 
| -  EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds);
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 0, 0));
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 0, 1));
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 1, 0));
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 1, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 0));
 | 
|  
 | 
| -  priority = tiling->TileAt(1, 1)->priority(ACTIVE_TREE);
 | 
| +  TilePriority priority = tiling->TileBundleAt(0, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels);
 | 
|    EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds);
 | 
|  }
 | 
| @@ -798,13 +919,15 @@ TEST(UpdateTilePrioritiesTest, OffscreenTiles) {
 | 
|    // The TilePriority of offscreen tiles (without movement) should have nonzero
 | 
|    // distance_to_visible and infinite time_to_visible.
 | 
|  
 | 
| -  FakePictureLayerTilingClient client;
 | 
| +  FakeTileManagerClient tile_manager_client;
 | 
| +  FakeTileManager tile_manager(&tile_manager_client);
 | 
| +  FakePictureLayerTilingClient client(&tile_manager);
 | 
|    scoped_ptr<TestablePictureLayerTiling> tiling;
 | 
|  
 | 
|    gfx::Size device_viewport(800, 600);
 | 
|    gfx::Rect visible_layer_rect(0, 0, 0, 0);  // offscreen; nothing is visible.
 | 
| -  gfx::Size last_layer_bounds(200, 200);
 | 
| -  gfx::Size current_layer_bounds(200, 200);
 | 
| +  gfx::Size last_layer_bounds(400, 400);
 | 
| +  gfx::Size current_layer_bounds(400, 400);
 | 
|    float last_layer_contents_scale = 1.f;
 | 
|    float current_layer_contents_scale = 1.f;
 | 
|    gfx::Transform last_screen_transform;
 | 
| @@ -837,40 +960,34 @@ TEST(UpdateTilePrioritiesTest, OffscreenTiles) {
 | 
|        current_frame_time_in_seconds,
 | 
|        max_tiles_for_interest_area);
 | 
|  
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 1));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 1));
 | 
| -
 | 
| -  TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE);
 | 
| -  EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
| -  EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
| -                  priority.time_to_visible_in_seconds);
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 0, 0));
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 0, 1));
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 1, 0));
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 1, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 0));
 | 
|  
 | 
| -  priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE);
 | 
| +  TilePriority priority = tiling->TileBundleAt(0, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
|                    priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE);
 | 
| -  EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
| -  EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
| -                  priority.time_to_visible_in_seconds);
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 2, 2));
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 2, 3));
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 3, 2));
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 3, 3));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(1, 0));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(1, 1));
 | 
|  
 | 
| -  priority = tiling->TileAt(1, 1)->priority(ACTIVE_TREE);
 | 
| -  EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
| -  EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
| -                  priority.time_to_visible_in_seconds);
 | 
| -
 | 
| -  // Furthermore, in this scenario tiles on the right hand side should have a
 | 
| +  // Furthermore, in this scenario bundles on the right hand side should have a
 | 
|    // larger distance to visible.
 | 
| -  TilePriority left = tiling->TileAt(0, 0)->priority(ACTIVE_TREE);
 | 
| -  TilePriority right = tiling->TileAt(1, 0)->priority(ACTIVE_TREE);
 | 
| +  TilePriority left = tiling->TileBundleAt(0, 0)->GetPriority(ACTIVE_TREE);
 | 
| +  TilePriority right = tiling->TileBundleAt(1, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(right.distance_to_visible_in_pixels,
 | 
|              left.distance_to_visible_in_pixels);
 | 
|  
 | 
| -  left = tiling->TileAt(0, 1)->priority(ACTIVE_TREE);
 | 
| -  right = tiling->TileAt(1, 1)->priority(ACTIVE_TREE);
 | 
| +  left = tiling->TileBundleAt(0, 1)->GetPriority(ACTIVE_TREE);
 | 
| +  right = tiling->TileBundleAt(1, 1)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(right.distance_to_visible_in_pixels,
 | 
|              left.distance_to_visible_in_pixels);
 | 
|  }
 | 
| @@ -879,13 +996,15 @@ TEST(UpdateTilePrioritiesTest, PartiallyOffscreenLayer) {
 | 
|    // Sanity check that a layer with some tiles visible and others offscreen has
 | 
|    // correct TilePriorities for each tile.
 | 
|  
 | 
| -  FakePictureLayerTilingClient client;
 | 
| +  FakeTileManagerClient tile_manager_client;
 | 
| +  FakeTileManager tile_manager(&tile_manager_client);
 | 
| +  FakePictureLayerTilingClient client(&tile_manager);
 | 
|    scoped_ptr<TestablePictureLayerTiling> tiling;
 | 
|  
 | 
|    gfx::Size device_viewport(800, 600);
 | 
|    gfx::Rect visible_layer_rect(0, 0, 100, 100);  // only top quarter.
 | 
| -  gfx::Size last_layer_bounds(200, 200);
 | 
| -  gfx::Size current_layer_bounds(200, 200);
 | 
| +  gfx::Size last_layer_bounds(400, 400);
 | 
| +  gfx::Size current_layer_bounds(400, 400);
 | 
|    float last_layer_contents_scale = 1.f;
 | 
|    float current_layer_contents_scale = 1.f;
 | 
|    gfx::Transform last_screen_transform;
 | 
| @@ -918,26 +1037,30 @@ TEST(UpdateTilePrioritiesTest, PartiallyOffscreenLayer) {
 | 
|        current_frame_time_in_seconds,
 | 
|        max_tiles_for_interest_area);
 | 
|  
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 1));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 1));
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 0, 0));
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 0, 1));
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 1, 0));
 | 
| +  ASSERT_TRUE(tiling->TileAt(ACTIVE_TREE, 1, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 0));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(1, 0));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(1, 1));
 | 
|  
 | 
| -  TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE);
 | 
| +  TilePriority priority = tiling->TileBundleAt(0, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels);
 | 
|    EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(0, 1)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
|                    priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(1, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
|                    priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(1, 1)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(1, 1)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
|                    priority.time_to_visible_in_seconds);
 | 
| @@ -948,13 +1071,15 @@ TEST(UpdateTilePrioritiesTest, PartiallyOffscreenRotatedLayer) {
 | 
|    // that UpdateTilePriorities correctly accounts for the transform between
 | 
|    // layer space and screen space.
 | 
|  
 | 
| -  FakePictureLayerTilingClient client;
 | 
| +  FakeTileManagerClient tile_manager_client;
 | 
| +  FakeTileManager tile_manager(&tile_manager_client);
 | 
| +  FakePictureLayerTilingClient client(&tile_manager);
 | 
|    scoped_ptr<TestablePictureLayerTiling> tiling;
 | 
|  
 | 
|    gfx::Size device_viewport(800, 600);
 | 
|    gfx::Rect visible_layer_rect(0, 0, 100, 100);  // only top-left quarter.
 | 
| -  gfx::Size last_layer_bounds(200, 200);
 | 
| -  gfx::Size current_layer_bounds(200, 200);
 | 
| +  gfx::Size last_layer_bounds(400, 400);
 | 
| +  gfx::Size current_layer_bounds(400, 400);
 | 
|    float last_layer_contents_scale = 1.f;
 | 
|    float current_layer_contents_scale = 1.f;
 | 
|    gfx::Transform last_screen_transform;
 | 
| @@ -990,36 +1115,38 @@ TEST(UpdateTilePrioritiesTest, PartiallyOffscreenRotatedLayer) {
 | 
|        current_frame_time_in_seconds,
 | 
|        max_tiles_for_interest_area);
 | 
|  
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 1));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 0));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(1, 0));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(1, 1));
 | 
|  
 | 
| -  TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE);
 | 
| +  TilePriority priority = tiling->TileBundleAt(0, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels);
 | 
|    EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(0, 1)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
|                    priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(1, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
|                    priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(1, 1)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(1, 1)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
|                    priority.time_to_visible_in_seconds);
 | 
|  
 | 
|    // Furthermore, in this scenario the bottom-right tile should have the larger
 | 
|    // distance to visible.
 | 
| -  TilePriority top_left = tiling->TileAt(0, 0)->priority(ACTIVE_TREE);
 | 
| -  TilePriority top_right = tiling->TileAt(1, 0)->priority(ACTIVE_TREE);
 | 
| -  TilePriority bottom_left = tiling->TileAt(0, 1)->priority(ACTIVE_TREE);
 | 
| -  TilePriority bottom_right = tiling->TileAt(1, 1)->priority(ACTIVE_TREE);
 | 
| +  TilePriority top_left = tiling->TileBundleAt(0, 0)->GetPriority(ACTIVE_TREE);
 | 
| +  TilePriority top_right = tiling->TileBundleAt(1, 0)->GetPriority(ACTIVE_TREE);
 | 
| +  TilePriority bottom_left =
 | 
| +      tiling->TileBundleAt(0, 1)->GetPriority(ACTIVE_TREE);
 | 
| +  TilePriority bottom_right =
 | 
| +      tiling->TileBundleAt(1, 1)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(top_right.distance_to_visible_in_pixels,
 | 
|              top_left.distance_to_visible_in_pixels);
 | 
|    EXPECT_GT(bottom_left.distance_to_visible_in_pixels,
 | 
| @@ -1035,13 +1162,15 @@ TEST(UpdateTilePrioritiesTest, PerspectiveLayer) {
 | 
|    // Perspective transforms need to take a different code path.
 | 
|    // This test checks tile priorities of a perspective layer.
 | 
|  
 | 
| -  FakePictureLayerTilingClient client;
 | 
| +  FakeTileManagerClient tile_manager_client;
 | 
| +  FakeTileManager tile_manager(&tile_manager_client);
 | 
| +  FakePictureLayerTilingClient client(&tile_manager);
 | 
|    scoped_ptr<TestablePictureLayerTiling> tiling;
 | 
|  
 | 
|    gfx::Size device_viewport(800, 600);
 | 
|    gfx::Rect visible_layer_rect(0, 0, 0, 0);  // offscreen.
 | 
| -  gfx::Size last_layer_bounds(200, 200);
 | 
| -  gfx::Size current_layer_bounds(200, 200);
 | 
| +  gfx::Size last_layer_bounds(400, 400);
 | 
| +  gfx::Size current_layer_bounds(400, 400);
 | 
|    float last_layer_contents_scale = 1.f;
 | 
|    float current_layer_contents_scale = 1.f;
 | 
|    gfx::Transform last_screen_transform;
 | 
| @@ -1092,29 +1221,29 @@ TEST(UpdateTilePrioritiesTest, PerspectiveLayer) {
 | 
|        current_frame_time_in_seconds,
 | 
|        max_tiles_for_interest_area);
 | 
|  
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 1));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 0));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(1, 0));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(1, 1));
 | 
|  
 | 
|    // All tiles will have a positive distance_to_visible
 | 
|    // and an infinite time_to_visible.
 | 
| -  TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE);
 | 
| +  TilePriority priority = tiling->TileBundleAt(0, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
|                    priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(0, 1)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
|                    priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(1, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
|                    priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(1, 1)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(1, 1)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
|                    priority.time_to_visible_in_seconds);
 | 
| @@ -1122,10 +1251,12 @@ TEST(UpdateTilePrioritiesTest, PerspectiveLayer) {
 | 
|    // Furthermore, in this scenario the top-left distance_to_visible
 | 
|    // will be smallest, followed by top-right. The bottom layers
 | 
|    // will of course be further than the top layers.
 | 
| -  TilePriority top_left = tiling->TileAt(0, 0)->priority(ACTIVE_TREE);
 | 
| -  TilePriority top_right = tiling->TileAt(1, 0)->priority(ACTIVE_TREE);
 | 
| -  TilePriority bottom_left = tiling->TileAt(0, 1)->priority(ACTIVE_TREE);
 | 
| -  TilePriority bottom_right = tiling->TileAt(1, 1)->priority(ACTIVE_TREE);
 | 
| +  TilePriority top_left = tiling->TileBundleAt(0, 0)->GetPriority(ACTIVE_TREE);
 | 
| +  TilePriority top_right = tiling->TileBundleAt(1, 0)->GetPriority(ACTIVE_TREE);
 | 
| +  TilePriority bottom_left =
 | 
| +      tiling->TileBundleAt(0, 1)->GetPriority(ACTIVE_TREE);
 | 
| +  TilePriority bottom_right =
 | 
| +      tiling->TileBundleAt(1, 1)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(top_right.distance_to_visible_in_pixels,
 | 
|              top_left.distance_to_visible_in_pixels);
 | 
|  
 | 
| @@ -1140,13 +1271,15 @@ TEST(UpdateTilePrioritiesTest, PerspectiveLayerClippedByW) {
 | 
|    // Perspective transforms need to take a different code path.
 | 
|    // This test checks tile priorities of a perspective layer.
 | 
|  
 | 
| -  FakePictureLayerTilingClient client;
 | 
| +  FakeTileManagerClient tile_manager_client;
 | 
| +  FakeTileManager tile_manager(&tile_manager_client);
 | 
| +  FakePictureLayerTilingClient client(&tile_manager);
 | 
|    scoped_ptr<TestablePictureLayerTiling> tiling;
 | 
|  
 | 
|    gfx::Size device_viewport(800, 600);
 | 
|    gfx::Rect visible_layer_rect(0, 0, 0, 0);  // offscreen.
 | 
| -  gfx::Size last_layer_bounds(200, 200);
 | 
| -  gfx::Size current_layer_bounds(200, 200);
 | 
| +  gfx::Size last_layer_bounds(400, 400);
 | 
| +  gfx::Size current_layer_bounds(400, 400);
 | 
|    float last_layer_contents_scale = 1.f;
 | 
|    float current_layer_contents_scale = 1.f;
 | 
|    gfx::Transform last_screen_transform;
 | 
| @@ -1162,22 +1295,22 @@ TEST(UpdateTilePrioritiesTest, PerspectiveLayerClippedByW) {
 | 
|    // Translate layer to offscreen
 | 
|    current_screen_transform.Translate(400.0, 970.0);
 | 
|    // Apply perspective and rotation about the center of the layer
 | 
| -  current_screen_transform.Translate(100.0, 100.0);
 | 
| +  current_screen_transform.Translate(200.0, 200.0);
 | 
|    current_screen_transform.ApplyPerspectiveDepth(10.0);
 | 
|    current_screen_transform.RotateAboutYAxis(10.0);
 | 
| -  current_screen_transform.Translate(-100.0, -100.0);
 | 
| +  current_screen_transform.Translate(-200.0, -200.0);
 | 
|    last_screen_transform = current_screen_transform;
 | 
|  
 | 
|    // Sanity check that this transform does cause w<0 clipping for the left side
 | 
|    // of the layer, but not the right side.
 | 
|    bool clipped;
 | 
|    MathUtil::MapQuad(current_screen_transform,
 | 
| -                    gfx::QuadF(gfx::RectF(0, 0, 100, 200)),
 | 
| +                    gfx::QuadF(gfx::RectF(0, 0, 200, 400)),
 | 
|                      &clipped);
 | 
|    ASSERT_TRUE(clipped);
 | 
|  
 | 
|    MathUtil::MapQuad(current_screen_transform,
 | 
| -                    gfx::QuadF(gfx::RectF(100, 0, 100, 200)),
 | 
| +                    gfx::QuadF(gfx::RectF(200, 0, 200, 400)),
 | 
|                      &clipped);
 | 
|    ASSERT_FALSE(clipped);
 | 
|  
 | 
| @@ -1203,29 +1336,29 @@ TEST(UpdateTilePrioritiesTest, PerspectiveLayerClippedByW) {
 | 
|        current_frame_time_in_seconds,
 | 
|        max_tiles_for_interest_area);
 | 
|  
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 1));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 0));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(1, 0));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(1, 1));
 | 
|  
 | 
|    // Left-side tiles will be clipped by the transform, so we have to assume
 | 
|    // they are visible just in case.
 | 
| -  TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE);
 | 
| +  TilePriority priority = tiling->TileBundleAt(0, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels);
 | 
|    EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(0, 1)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels);
 | 
|    EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds);
 | 
|  
 | 
|    // Right-side tiles will have a positive distance_to_visible
 | 
|    // and an infinite time_to_visible.
 | 
| -  priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(1, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
|                    priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(1, 1)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(1, 1)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
|                    priority.time_to_visible_in_seconds);
 | 
| @@ -1235,7 +1368,9 @@ TEST(UpdateTilePrioritiesTest, BasicMotion) {
 | 
|    // Test that time_to_visible is computed correctly when
 | 
|    // there is some motion.
 | 
|  
 | 
| -  FakePictureLayerTilingClient client;
 | 
| +  FakeTileManagerClient tile_manager_client;
 | 
| +  FakeTileManager tile_manager(&tile_manager_client);
 | 
| +  FakePictureLayerTilingClient client(&tile_manager);
 | 
|    scoped_ptr<TestablePictureLayerTiling> tiling;
 | 
|  
 | 
|    gfx::Size device_viewport(800, 600);
 | 
| @@ -1257,7 +1392,7 @@ TEST(UpdateTilePrioritiesTest, BasicMotion) {
 | 
|    gfx::Rect viewport_in_layer_space = ViewportInLayerSpace(
 | 
|        current_screen_transform, device_viewport);
 | 
|  
 | 
| -  client.SetTileSize(gfx::Size(100, 100));
 | 
| +  client.SetTileSize(gfx::Size(50, 50));
 | 
|    tiling = TestablePictureLayerTiling::Create(1.0f,  // contents_scale
 | 
|                                                current_layer_bounds,
 | 
|                                                &client);
 | 
| @@ -1292,31 +1427,32 @@ TEST(UpdateTilePrioritiesTest, BasicMotion) {
 | 
|        current_frame_time_in_seconds,
 | 
|        max_tiles_for_interest_area);
 | 
|  
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 1));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 0));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(1, 0));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(1, 1));
 | 
|  
 | 
| -  TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE);
 | 
| +  TilePriority priority = tiling->TileBundleAt(0, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(1.f,
 | 
|                    priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(0, 1)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(1.f,
 | 
|                    priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  // time_to_visible for the right hand side layers needs an extra 0.099
 | 
| -  // seconds because this tile is 99 pixels further away.
 | 
| -  priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE);
 | 
| +  // time_to_visible for the right hand side layers needs an extra 0.097
 | 
| +  // seconds because this bundle is
 | 
| +  // |(50 - 2 * border_texels) * 2 + border_texels| = 97 pixels further away.
 | 
| +  priority = tiling->TileBundleAt(1, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
| -  EXPECT_FLOAT_EQ(1.099f,
 | 
| +  EXPECT_FLOAT_EQ(1.097f,
 | 
|                    priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(1, 1)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(1, 1)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
| -  EXPECT_FLOAT_EQ(1.099f,
 | 
| +  EXPECT_FLOAT_EQ(1.097f,
 | 
|                    priority.time_to_visible_in_seconds);
 | 
|  }
 | 
|  
 | 
| @@ -1325,7 +1461,9 @@ TEST(UpdateTilePrioritiesTest, RotationMotion) {
 | 
|    // that UpdateTilePriorities correctly accounts for the transform between
 | 
|    // layer space and screen space.
 | 
|  
 | 
| -  FakePictureLayerTilingClient client;
 | 
| +  FakeTileManagerClient tile_manager_client;
 | 
| +  FakeTileManager tile_manager(&tile_manager_client);
 | 
| +  FakePictureLayerTilingClient client(&tile_manager);
 | 
|    scoped_ptr<TestablePictureLayerTiling> tiling;
 | 
|  
 | 
|    gfx::Size device_viewport(800, 600);
 | 
| @@ -1355,7 +1493,7 @@ TEST(UpdateTilePrioritiesTest, RotationMotion) {
 | 
|    gfx::Rect viewport_in_layer_space = ViewportInLayerSpace(
 | 
|        current_screen_transform, device_viewport);
 | 
|  
 | 
| -  client.SetTileSize(gfx::Size(100, 100));
 | 
| +  client.SetTileSize(gfx::Size(50, 50));
 | 
|    tiling = TestablePictureLayerTiling::Create(1.0f,  // contents_scale
 | 
|                                                current_layer_bounds,
 | 
|                                                &client);
 | 
| @@ -1390,20 +1528,20 @@ TEST(UpdateTilePrioritiesTest, RotationMotion) {
 | 
|        current_frame_time_in_seconds,
 | 
|        max_tiles_for_interest_area);
 | 
|  
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(0, 1));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 0));
 | 
| -  ASSERT_TRUE(tiling->TileAt(1, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 0));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(0, 1));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(1, 0));
 | 
| +  ASSERT_TRUE(tiling->TileBundleAt(1, 1));
 | 
|  
 | 
| -  TilePriority priority = tiling->TileAt(0, 0)->priority(ACTIVE_TREE);
 | 
| +  TilePriority priority = tiling->TileBundleAt(0, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible_in_pixels);
 | 
|    EXPECT_FLOAT_EQ(0.f, priority.time_to_visible_in_seconds);
 | 
|  
 | 
| -  priority = tiling->TileAt(0, 1)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(0, 1)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_GT(priority.time_to_visible_in_seconds, 0.f);
 | 
|  
 | 
| -  priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE);
 | 
| +  priority = tiling->TileBundleAt(1, 0)->GetPriority(ACTIVE_TREE);
 | 
|    EXPECT_GT(priority.distance_to_visible_in_pixels, 0.f);
 | 
|    EXPECT_FLOAT_EQ(std::numeric_limits<float>::infinity(),
 | 
|                    priority.time_to_visible_in_seconds);
 | 
| 
 |