Index: cc/layers/picture_layer_impl_unittest.cc |
diff --git a/cc/layers/picture_layer_impl_unittest.cc b/cc/layers/picture_layer_impl_unittest.cc |
index a46386cf5585fbd26a8bd71735bc9bf8f9bf2f4f..a75feb0c0bdeac8e72bcf16f55ff782156e2fd9b 100644 |
--- a/cc/layers/picture_layer_impl_unittest.cc |
+++ b/cc/layers/picture_layer_impl_unittest.cc |
@@ -134,7 +134,7 @@ class PictureLayerImplTest : public testing::Test { |
pending_layer_->tilings()->tiling_at(i)->CreateAllTilesForTesting(); |
} |
- void SetupPendingTree(scoped_refptr<PicturePileImpl> pile) { |
+ void SetupPendingTree(scoped_refptr<RasterSource> raster_source) { |
host_impl_.CreatePendingTree(); |
host_impl_.pending_tree()->SetPageScaleFactorAndLimits(1.f, 0.25f, 100.f); |
LayerTreeImpl* pending_tree = host_impl_.pending_tree(); |
@@ -147,14 +147,14 @@ class PictureLayerImplTest : public testing::Test { |
if (old_pending_root) { |
pending_layer.reset( |
static_cast<FakePictureLayerImpl*>(old_pending_root.release())); |
- pending_layer->SetPile(pile); |
+ pending_layer->SetRasterSource(raster_source); |
} else { |
- pending_layer = |
- FakePictureLayerImpl::CreateWithPile(pending_tree, id_, pile); |
+ pending_layer = FakePictureLayerImpl::CreateWithRasterSource( |
+ pending_tree, id_, raster_source); |
pending_layer->SetDrawsContent(true); |
} |
// The bounds() just mirror the pile size. |
- pending_layer->SetBounds(pending_layer->pile()->tiling_size()); |
+ pending_layer->SetBounds(pending_layer->raster_source()->GetSize()); |
pending_tree->SetRootLayer(pending_layer.Pass()); |
pending_layer_ = static_cast<FakePictureLayerImpl*>( |
@@ -268,8 +268,8 @@ class PictureLayerImplTest : public testing::Test { |
std::vector<SkRect>::const_iterator rect_iter = rects.begin(); |
for (tile_iter = tiles.begin(); tile_iter < tiles.end(); tile_iter++) { |
MockCanvas mock_canvas(1000, 1000); |
- active_pile->RasterDirect(&mock_canvas, (*tile_iter)->content_rect(), |
- 1.0f); |
+ active_pile->PlaybackToSharedCanvas(&mock_canvas, |
+ (*tile_iter)->content_rect(), 1.0f); |
// This test verifies that when drawing the contents of a specific tile |
// at content scale 1.0, the playback canvas never receives content from |
@@ -658,10 +658,10 @@ TEST_F(PictureLayerImplTest, AddTilesFromNewRecording) { |
++iter) { |
EXPECT_FALSE(iter.full_tile_geometry_rect().IsEmpty()); |
// Ensure there is a recording for this tile. |
- bool in_pending = pending_pile->CanRaster(tiling->contents_scale(), |
- iter.full_tile_geometry_rect()); |
- bool in_active = active_pile->CanRaster(tiling->contents_scale(), |
- iter.full_tile_geometry_rect()); |
+ bool in_pending = pending_pile->CoversRect(iter.full_tile_geometry_rect(), |
+ tiling->contents_scale()); |
+ bool in_active = active_pile->CoversRect(iter.full_tile_geometry_rect(), |
+ tiling->contents_scale()); |
if (in_pending && !in_active) |
EXPECT_EQ(pending_pile.get(), iter->raster_source()); |
@@ -1132,8 +1132,15 @@ TEST_F(PictureLayerImplTest, DontAddLowResDuringAnimation) { |
} |
TEST_F(PictureLayerImplTest, DontAddLowResForSmallLayers) { |
- gfx::Size tile_size(host_impl_.settings().default_tile_size); |
- SetupDefaultTrees(tile_size); |
+ gfx::Size layer_bounds(host_impl_.settings().default_tile_size); |
+ gfx::Size tile_size(100, 100); |
+ |
+ scoped_refptr<FakePicturePileImpl> pending_pile = |
+ FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); |
+ scoped_refptr<FakePicturePileImpl> active_pile = |
+ FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); |
+ |
+ SetupTrees(pending_pile, active_pile); |
float low_res_factor = host_impl_.settings().low_res_contents_scale_factor; |
float device_scale = 1.f; |
@@ -1181,8 +1188,8 @@ TEST_F(PictureLayerImplTest, DontAddLowResForSmallLayers) { |
ResetTilingsAndRasterScales(); |
// Mask layers dont create low res since they always fit on one tile. |
- pending_layer_->pile()->set_is_mask(true); |
- active_layer_->pile()->set_is_mask(true); |
+ pending_pile->SetIsMask(true); |
+ active_pile->SetIsMask(true); |
SetContentsScaleOnBothLayers(contents_scale, |
device_scale, |
page_scale, |
@@ -1197,7 +1204,7 @@ TEST_F(PictureLayerImplTest, HugeMasksDontGetTiles) { |
scoped_refptr<FakePicturePileImpl> valid_pile = |
FakePicturePileImpl::CreateFilledPile(tile_size, gfx::Size(1000, 1000)); |
- valid_pile->set_is_mask(true); |
+ valid_pile->SetIsMask(true); |
SetupPendingTree(valid_pile); |
SetupDrawPropertiesAndUpdateTiles(pending_layer_, 1.f, 1.f, 1.f, 1.f, false); |
@@ -1224,7 +1231,7 @@ TEST_F(PictureLayerImplTest, HugeMasksDontGetTiles) { |
scoped_refptr<FakePicturePileImpl> huge_pile = |
FakePicturePileImpl::CreateFilledPile( |
tile_size, gfx::Size(max_texture_size + 1, 10)); |
- huge_pile->set_is_mask(true); |
+ huge_pile->SetIsMask(true); |
SetupPendingTree(huge_pile); |
SetupDrawPropertiesAndUpdateTiles(pending_layer_, 1.f, 1.f, 1.f, 1.f, false); |
@@ -1249,7 +1256,7 @@ TEST_F(PictureLayerImplTest, ScaledMaskLayer) { |
scoped_refptr<FakePicturePileImpl> valid_pile = |
FakePicturePileImpl::CreateFilledPile(tile_size, gfx::Size(1000, 1000)); |
- valid_pile->set_is_mask(true); |
+ valid_pile->SetIsMask(true); |
SetupPendingTree(valid_pile); |
float ideal_contents_scale = 1.3f; |
@@ -1499,7 +1506,7 @@ TEST_F(PictureLayerImplTest, TileScalesWithSolidColorPile) { |
EXPECT_EQ(0.f, active_layer_->ideal_contents_scale()); |
// Push non-solid-color pending pile makes active layer can have tilings. |
- active_layer_->UpdatePile(pending_pile); |
+ active_layer_->UpdateRasterSource(pending_pile); |
ASSERT_TRUE(active_layer_->CanHaveTilings()); |
// Update properties with non-solid color pile should allow tilings. |
@@ -2044,7 +2051,8 @@ TEST_F(PictureLayerImplTest, ActivateUninitializedLayer) { |
LayerTreeImpl* pending_tree = host_impl_.pending_tree(); |
scoped_ptr<FakePictureLayerImpl> pending_layer = |
- FakePictureLayerImpl::CreateWithPile(pending_tree, id_, pending_pile); |
+ FakePictureLayerImpl::CreateWithRasterSource(pending_tree, id_, |
+ pending_pile); |
pending_layer->SetDrawsContent(true); |
pending_tree->SetRootLayer(pending_layer.Pass()); |
@@ -3708,9 +3716,10 @@ TEST_F(PictureLayerImplTest, UpdateTilesForMasksWithNoVisibleContent) { |
scoped_refptr<FakePicturePileImpl> pending_pile = |
FakePicturePileImpl::CreateFilledPile(tile_size, bounds); |
- pending_pile->set_is_mask(true); |
- scoped_ptr<FakePictureLayerImpl> mask = FakePictureLayerImpl::CreateWithPile( |
- host_impl_.pending_tree(), 3, pending_pile); |
+ pending_pile->SetIsMask(true); |
+ scoped_ptr<FakePictureLayerImpl> mask = |
+ FakePictureLayerImpl::CreateWithRasterSource(host_impl_.pending_tree(), 3, |
+ pending_pile); |
mask->SetBounds(bounds); |
mask->SetContentBounds(bounds); |
@@ -4485,31 +4494,23 @@ void PictureLayerImplTest::TestQuadsForSolidColor(bool test_for_solid) { |
FakeLayerTreeHostClient host_client(FakeLayerTreeHostClient::DIRECT_3D); |
scoped_ptr<FakeLayerTreeHost> host = FakeLayerTreeHost::Create(&host_client); |
host->SetRootLayer(layer); |
- PicturePile* pile = layer->GetPicturePileForTesting(); |
+ RecordingSource* recording_source = layer->GetRecordingSourceForTesting(); |
host_impl_.SetViewportSize(layer_bounds); |
int frame_number = 0; |
- FakeRenderingStatsInstrumentation stats_instrumentation; |
client.set_fill_with_nonsolid_color(!test_for_solid); |
Region invalidation(layer_rect); |
- pile->UpdateAndExpandInvalidation(&client, |
- &invalidation, |
- SK_ColorWHITE, |
- false, |
- false, |
- layer_bounds, |
- layer_rect, |
- frame_number++, |
- Picture::RECORD_NORMALLY, |
- &stats_instrumentation); |
- |
- scoped_refptr<PicturePileImpl> pending_pile = |
- PicturePileImpl::CreateFromOther(pile); |
+ recording_source->UpdateAndExpandInvalidation( |
+ &client, &invalidation, SK_ColorWHITE, false, false, layer_bounds, |
+ layer_rect, frame_number++, Picture::RECORD_NORMALLY); |
- SetupPendingTree(pending_pile); |
+ scoped_refptr<RasterSource> pending_raster_source = |
+ recording_source->CreateRasterSource(); |
+ |
+ SetupPendingTree(pending_raster_source); |
ActivateTree(); |
active_layer_->set_fixed_tile_size(tile_size); |
@@ -4560,31 +4561,23 @@ TEST_F(PictureLayerImplTest, NonSolidToSolidNoTilings) { |
FakeLayerTreeHostClient host_client(FakeLayerTreeHostClient::DIRECT_3D); |
scoped_ptr<FakeLayerTreeHost> host = FakeLayerTreeHost::Create(&host_client); |
host->SetRootLayer(layer); |
- PicturePile* pile = layer->GetPicturePileForTesting(); |
+ RecordingSource* recording_source = layer->GetRecordingSourceForTesting(); |
host_impl_.SetViewportSize(layer_bounds); |
int frame_number = 0; |
- FakeRenderingStatsInstrumentation stats_instrumentation; |
client.set_fill_with_nonsolid_color(true); |
Region invalidation1(layer_rect); |
- pile->UpdateAndExpandInvalidation(&client, |
- &invalidation1, |
- SK_ColorWHITE, |
- false, |
- false, |
- layer_bounds, |
- layer_rect, |
- frame_number++, |
- Picture::RECORD_NORMALLY, |
- &stats_instrumentation); |
- |
- scoped_refptr<PicturePileImpl> pending_pile1 = |
- PicturePileImpl::CreateFromOther(pile); |
- |
- SetupPendingTree(pending_pile1); |
+ recording_source->UpdateAndExpandInvalidation( |
+ &client, &invalidation1, SK_ColorWHITE, false, false, layer_bounds, |
+ layer_rect, frame_number++, Picture::RECORD_NORMALLY); |
+ |
+ scoped_refptr<RasterSource> raster_source1 = |
+ recording_source->CreateRasterSource(); |
+ |
+ SetupPendingTree(raster_source1); |
ActivateTree(); |
host_impl_.active_tree()->UpdateDrawProperties(); |
@@ -4595,21 +4588,14 @@ TEST_F(PictureLayerImplTest, NonSolidToSolidNoTilings) { |
client.set_fill_with_nonsolid_color(false); |
Region invalidation2(layer_rect); |
- pile->UpdateAndExpandInvalidation(&client, |
- &invalidation2, |
- SK_ColorWHITE, |
- false, |
- false, |
- layer_bounds, |
- layer_rect, |
- frame_number++, |
- Picture::RECORD_NORMALLY, |
- &stats_instrumentation); |
- |
- scoped_refptr<PicturePileImpl> pending_pile2 = |
- PicturePileImpl::CreateFromOther(pile); |
- |
- SetupPendingTree(pending_pile2); |
+ recording_source->UpdateAndExpandInvalidation( |
+ &client, &invalidation2, SK_ColorWHITE, false, false, layer_bounds, |
+ layer_rect, frame_number++, Picture::RECORD_NORMALLY); |
+ |
+ scoped_refptr<RasterSource> raster_source2 = |
+ recording_source->CreateRasterSource(); |
+ |
+ SetupPendingTree(raster_source2); |
ActivateTree(); |
// We've switched to a solid color, so we should end up with no tilings. |