Chromium Code Reviews| Index: cc/layers/scrollbar_layer_unittest.cc |
| diff --git a/cc/layers/scrollbar_layer_unittest.cc b/cc/layers/scrollbar_layer_unittest.cc |
| index 4c5e5b480366f2f239dcc804d3f8bc55bf951e8b..bdf5144884f0c245bfc4e2c364abb3222a0d7727 100644 |
| --- a/cc/layers/scrollbar_layer_unittest.cc |
| +++ b/cc/layers/scrollbar_layer_unittest.cc |
| @@ -626,9 +626,9 @@ TEST_F(ScrollbarLayerTestMaxTextureSize, DelegatingRenderer) { |
| RunTest(true, true, true); |
| } |
| -class MockLayerTreeHost : public LayerTreeHost { |
| +class FakeLayerTreeHost : public LayerTreeHost { |
| public: |
| - MockLayerTreeHost(FakeLayerTreeHostClient* client, |
| + FakeLayerTreeHost(FakeLayerTreeHostClient* client, |
| const LayerTreeSettings& settings) |
| : LayerTreeHost(client, NULL, settings), |
| next_id_(1), |
| @@ -682,10 +682,9 @@ class MockLayerTreeHost : public LayerTreeHost { |
| int total_ui_resource_deleted_; |
| }; |
| - |
| -class ScrollbarLayerTestResourceCreation : public testing::Test { |
| +class ScrollbarLayerTestResourceCreationAndRelease : public testing::Test { |
| public: |
| - ScrollbarLayerTestResourceCreation() |
| + ScrollbarLayerTestResourceCreationAndRelease() |
| : fake_client_(FakeLayerTreeHostClient::DIRECT_3D) {} |
| void TestResourceUpload(int num_updates, |
| @@ -694,7 +693,7 @@ class ScrollbarLayerTestResourceCreation : public testing::Test { |
| int expected_deleted, |
| bool use_solid_color_scrollbar) { |
| layer_tree_host_.reset( |
| - new MockLayerTreeHost(&fake_client_, layer_tree_settings_)); |
| + new FakeLayerTreeHost(&fake_client_, layer_tree_settings_)); |
| scoped_ptr<Scrollbar> scrollbar(new FakeScrollbar(false, true, false)); |
| scoped_refptr<Layer> layer_tree_root = Layer::Create(); |
| @@ -754,10 +753,10 @@ class ScrollbarLayerTestResourceCreation : public testing::Test { |
| protected: |
| FakeLayerTreeHostClient fake_client_; |
| LayerTreeSettings layer_tree_settings_; |
| - scoped_ptr<MockLayerTreeHost> layer_tree_host_; |
| + scoped_ptr<FakeLayerTreeHost> layer_tree_host_; |
| }; |
| -TEST_F(ScrollbarLayerTestResourceCreation, ResourceUpload) { |
| +TEST_F(ScrollbarLayerTestResourceCreationAndRelease, ResourceUpload) { |
| bool use_solid_color_scrollbars = false; |
| TestResourceUpload(0, 0, 0, 0, use_solid_color_scrollbars); |
| int num_updates[3] = {1, 5, 10}; |
| @@ -770,12 +769,73 @@ TEST_F(ScrollbarLayerTestResourceCreation, ResourceUpload) { |
| } |
| } |
| -TEST_F(ScrollbarLayerTestResourceCreation, SolidColorNoResourceUpload) { |
| +TEST_F(ScrollbarLayerTestResourceCreationAndRelease, |
| + SolidColorNoResourceUpload) { |
| bool use_solid_color_scrollbars = true; |
| TestResourceUpload(0, 0, 0, 0, use_solid_color_scrollbars); |
| TestResourceUpload(1, 0, 0, 0, use_solid_color_scrollbars); |
| } |
| +TEST_F(ScrollbarLayerTestResourceCreationAndRelease, TestResourceUpdate) { |
| + FakeLayerTreeHostClient fake_client_(FakeLayerTreeHostClient::DIRECT_3D); |
| + LayerTreeSettings layer_tree_settings_; |
| + scoped_ptr<FakeLayerTreeHost> layer_tree_host_; |
| + |
| + layer_tree_host_.reset( |
| + new FakeLayerTreeHost(&fake_client_, layer_tree_settings_)); |
| + |
| + gfx::Point scrollbar_location(0, 185); |
| + scoped_refptr<Layer> layer_tree_root = Layer::Create(); |
| + scoped_refptr<Layer> content_layer = Layer::Create(); |
| + scoped_refptr<FakePaintedScrollbarLayer> scrollbar_layer = |
| + FakePaintedScrollbarLayer::Create(false, true, layer_tree_root->id()); |
| + |
| + layer_tree_root->AddChild(content_layer); |
| + layer_tree_root->AddChild(scrollbar_layer); |
| + |
| + layer_tree_host_->SetRootLayer(layer_tree_root); |
| + |
| + scrollbar_layer->SetIsDrawable(true); |
| + scrollbar_layer->SetBounds(gfx::Size(100, 15)); |
| + scrollbar_layer->SetPosition(scrollbar_location); |
| + layer_tree_root->SetBounds(gfx::Size(100, 200)); |
| + content_layer->SetBounds(gfx::Size(100, 200)); |
| + |
| + scrollbar_layer->draw_properties().content_bounds = gfx::Size(100, 200); |
| + scrollbar_layer->draw_properties().visible_content_rect = |
| + gfx::Rect(0, 0, 100, 200); |
| + |
| + scrollbar_layer->CreateRenderSurface(); |
| + scrollbar_layer->draw_properties().render_target = scrollbar_layer.get(); |
| + |
| + testing::Mock::VerifyAndClearExpectations(layer_tree_host_.get()); |
| + EXPECT_EQ(scrollbar_layer->layer_tree_host(), layer_tree_host_.get()); |
| + |
| + ResourceUpdateQueue queue; |
| + gfx::Rect screen_space_clip_rect; |
| + OcclusionTracker<Layer> occlusion_tracker(screen_space_clip_rect); |
| + scrollbar_layer->SavePaintProperties(); |
| + EXPECT_EQ(true, scrollbar_layer->Update(&queue, &occlusion_tracker)); |
|
danakj
2014/09/15 18:16:27
EXPECT_TRUE
MuVen
2014/09/16 13:34:31
Done.
|
| + |
| + scrollbar_layer->fake_scrollbar()->set_track_rect(gfx::Rect(0, 0, 0, 0)); |
| + EXPECT_EQ(true, scrollbar_layer->Update(&queue, &occlusion_tracker)); |
| + |
| + scrollbar_layer->fake_scrollbar()->set_track_rect(gfx::Rect(0, 0, 0, 0)); |
| + EXPECT_EQ(false, scrollbar_layer->Update(&queue, &occlusion_tracker)); |
|
danakj
2014/09/15 18:16:27
EXPECT_FALSE
MuVen
2014/09/16 13:34:31
Done.
|
| + |
| + scrollbar_layer->fake_scrollbar()->set_track_rect(gfx::Rect(30, 10, 50, 10)); |
|
danakj
2014/09/15 18:16:27
Why did you remove the checks for the resources be
MuVen
2014/09/16 13:34:31
Done.
|
| + EXPECT_EQ(true, scrollbar_layer->Update(&queue, &occlusion_tracker)); |
| + |
| + scrollbar_layer->fake_scrollbar()->set_has_thumb(false); |
| + EXPECT_EQ(true, scrollbar_layer->Update(&queue, &occlusion_tracker)); |
| + |
| + scrollbar_layer->ResetNeedsDisplayForTesting(); |
| + EXPECT_EQ(false, scrollbar_layer->Update(&queue, &occlusion_tracker)); |
| + |
| + testing::Mock::VerifyAndClearExpectations(layer_tree_host_.get()); |
| + scrollbar_layer->ClearRenderSurface(); |
| +} |
| + |
| class ScaledScrollbarLayerTestResourceCreation : public testing::Test { |
| public: |
| ScaledScrollbarLayerTestResourceCreation() |
| @@ -783,7 +843,7 @@ class ScaledScrollbarLayerTestResourceCreation : public testing::Test { |
| void TestResourceUpload(const float test_scale) { |
| layer_tree_host_.reset( |
| - new MockLayerTreeHost(&fake_client_, layer_tree_settings_)); |
| + new FakeLayerTreeHost(&fake_client_, layer_tree_settings_)); |
| gfx::Point scrollbar_location(0, 185); |
| scoped_refptr<Layer> layer_tree_root = Layer::Create(); |
| @@ -847,7 +907,7 @@ class ScaledScrollbarLayerTestResourceCreation : public testing::Test { |
| protected: |
| FakeLayerTreeHostClient fake_client_; |
| LayerTreeSettings layer_tree_settings_; |
| - scoped_ptr<MockLayerTreeHost> layer_tree_host_; |
| + scoped_ptr<FakeLayerTreeHost> layer_tree_host_; |
| }; |
| TEST_F(ScaledScrollbarLayerTestResourceCreation, ScaledResourceUpload) { |
| @@ -865,7 +925,7 @@ class ScaledScrollbarLayerTestScaledRasterization : public testing::Test { |
| void TestScale(const gfx::Rect scrollbar_rect, const float test_scale) { |
| layer_tree_host_.reset( |
| - new MockLayerTreeHost(&fake_client_, layer_tree_settings_)); |
| + new FakeLayerTreeHost(&fake_client_, layer_tree_settings_)); |
| bool paint_during_update = true; |
| bool has_thumb = false; |
| @@ -943,7 +1003,7 @@ class ScaledScrollbarLayerTestScaledRasterization : public testing::Test { |
| FakeLayerTreeHostClient fake_client_; |
| LayerTreeSettings layer_tree_settings_; |
| - scoped_ptr<MockLayerTreeHost> layer_tree_host_; |
| + scoped_ptr<FakeLayerTreeHost> layer_tree_host_; |
| }; |
| TEST_F(ScaledScrollbarLayerTestScaledRasterization, TestLostPrecisionInClip) { |