Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(155)

Side by Side Diff: cc/trees/layer_tree_host_impl_unittest.cc

Issue 645853008: Standardize usage of virtual/override/final in cc/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Formatted Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/trees/layer_tree_host_impl.cc ('k') | cc/trees/layer_tree_host_perftest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/layer_tree_host_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 settings.use_pinch_virtual_viewport = true; 107 settings.use_pinch_virtual_viewport = true;
108 return settings; 108 return settings;
109 } 109 }
110 110
111 virtual void SetUp() override { 111 virtual void SetUp() override {
112 CreateHostImpl(DefaultSettings(), CreateOutputSurface()); 112 CreateHostImpl(DefaultSettings(), CreateOutputSurface());
113 } 113 }
114 114
115 virtual void TearDown() override {} 115 virtual void TearDown() override {}
116 116
117 virtual void UpdateRendererCapabilitiesOnImplThread() override {} 117 void UpdateRendererCapabilitiesOnImplThread() override {}
118 virtual void DidLoseOutputSurfaceOnImplThread() override {} 118 void DidLoseOutputSurfaceOnImplThread() override {}
119 virtual void CommitVSyncParameters(base::TimeTicks timebase, 119 void CommitVSyncParameters(base::TimeTicks timebase,
120 base::TimeDelta interval) override {} 120 base::TimeDelta interval) override {}
121 virtual void SetEstimatedParentDrawTime(base::TimeDelta draw_time) override {} 121 void SetEstimatedParentDrawTime(base::TimeDelta draw_time) override {}
122 virtual void SetMaxSwapsPendingOnImplThread(int max) override {} 122 void SetMaxSwapsPendingOnImplThread(int max) override {}
123 virtual void DidSwapBuffersOnImplThread() override {} 123 void DidSwapBuffersOnImplThread() override {}
124 virtual void DidSwapBuffersCompleteOnImplThread() override {} 124 void DidSwapBuffersCompleteOnImplThread() override {}
125 virtual void OnCanDrawStateChanged(bool can_draw) override { 125 void OnCanDrawStateChanged(bool can_draw) override {
126 on_can_draw_state_changed_called_ = true; 126 on_can_draw_state_changed_called_ = true;
127 } 127 }
128 virtual void NotifyReadyToActivate() override { 128 void NotifyReadyToActivate() override {
129 did_notify_ready_to_activate_ = true; 129 did_notify_ready_to_activate_ = true;
130 host_impl_->ActivateSyncTree(); 130 host_impl_->ActivateSyncTree();
131 } 131 }
132 virtual void SetNeedsRedrawOnImplThread() override { 132 void SetNeedsRedrawOnImplThread() override { did_request_redraw_ = true; }
133 void SetNeedsRedrawRectOnImplThread(const gfx::Rect& damage_rect) override {
133 did_request_redraw_ = true; 134 did_request_redraw_ = true;
134 } 135 }
135 virtual void SetNeedsRedrawRectOnImplThread( 136 void SetNeedsAnimateOnImplThread() override { did_request_animate_ = true; }
136 const gfx::Rect& damage_rect) override { 137 void SetNeedsManageTilesOnImplThread() override {
137 did_request_redraw_ = true;
138 }
139 virtual void SetNeedsAnimateOnImplThread() override {
140 did_request_animate_ = true;
141 }
142 virtual void SetNeedsManageTilesOnImplThread() override {
143 did_request_manage_tiles_ = true; 138 did_request_manage_tiles_ = true;
144 } 139 }
145 virtual void DidInitializeVisibleTileOnImplThread() override { 140 void DidInitializeVisibleTileOnImplThread() override {
146 did_upload_visible_tile_ = true; 141 did_upload_visible_tile_ = true;
147 } 142 }
148 virtual void SetNeedsCommitOnImplThread() override { 143 void SetNeedsCommitOnImplThread() override { did_request_commit_ = true; }
149 did_request_commit_ = true; 144 void PostAnimationEventsToMainThreadOnImplThread(
150 }
151 virtual void PostAnimationEventsToMainThreadOnImplThread(
152 scoped_ptr<AnimationEventsVector> events) override {} 145 scoped_ptr<AnimationEventsVector> events) override {}
153 virtual bool ReduceContentsTextureMemoryOnImplThread( 146 bool ReduceContentsTextureMemoryOnImplThread(size_t limit_bytes,
154 size_t limit_bytes, int priority_cutoff) override { 147 int priority_cutoff) override {
155 current_limit_bytes_ = limit_bytes; 148 current_limit_bytes_ = limit_bytes;
156 current_priority_cutoff_value_ = priority_cutoff; 149 current_priority_cutoff_value_ = priority_cutoff;
157 return reduce_memory_result_; 150 return reduce_memory_result_;
158 } 151 }
159 virtual bool IsInsideDraw() override { return false; } 152 bool IsInsideDraw() override { return false; }
160 virtual void RenewTreePriority() override {} 153 void RenewTreePriority() override {}
161 virtual void PostDelayedScrollbarFadeOnImplThread( 154 void PostDelayedScrollbarFadeOnImplThread(const base::Closure& start_fade,
162 const base::Closure& start_fade, 155 base::TimeDelta delay) override {
163 base::TimeDelta delay) override {
164 scrollbar_fade_start_ = start_fade; 156 scrollbar_fade_start_ = start_fade;
165 requested_scrollbar_animation_delay_ = delay; 157 requested_scrollbar_animation_delay_ = delay;
166 } 158 }
167 virtual void DidActivateSyncTree() override {} 159 void DidActivateSyncTree() override {}
168 virtual void DidManageTiles() override {} 160 void DidManageTiles() override {}
169 161
170 void set_reduce_memory_result(bool reduce_memory_result) { 162 void set_reduce_memory_result(bool reduce_memory_result) {
171 reduce_memory_result_ = reduce_memory_result; 163 reduce_memory_result_ = reduce_memory_result;
172 } 164 }
173 165
174 bool CreateHostImpl(const LayerTreeSettings& settings, 166 bool CreateHostImpl(const LayerTreeSettings& settings,
175 scoped_ptr<OutputSurface> output_surface) { 167 scoped_ptr<OutputSurface> output_surface) {
176 host_impl_ = LayerTreeHostImpl::Create(settings, 168 host_impl_ = LayerTreeHostImpl::Create(settings,
177 this, 169 this,
178 &proxy_, 170 &proxy_,
(...skipping 1196 matching lines...) Expand 10 before | Expand all | Expand 10 after
1375 SharedBitmapManager* manager, 1367 SharedBitmapManager* manager,
1376 RenderingStatsInstrumentation* rendering_stats_instrumentation) 1368 RenderingStatsInstrumentation* rendering_stats_instrumentation)
1377 : LayerTreeHostImpl(settings, 1369 : LayerTreeHostImpl(settings,
1378 client, 1370 client,
1379 proxy, 1371 proxy,
1380 rendering_stats_instrumentation, 1372 rendering_stats_instrumentation,
1381 manager, 1373 manager,
1382 NULL, 1374 NULL,
1383 0) {} 1375 0) {}
1384 1376
1385 virtual BeginFrameArgs CurrentBeginFrameArgs() const override { 1377 BeginFrameArgs CurrentBeginFrameArgs() const override {
1386 return CreateBeginFrameArgsForTesting(fake_current_physical_time_); 1378 return CreateBeginFrameArgsForTesting(fake_current_physical_time_);
1387 } 1379 }
1388 1380
1389 void SetCurrentPhysicalTimeTicksForTest(base::TimeTicks fake_now) { 1381 void SetCurrentPhysicalTimeTicksForTest(base::TimeTicks fake_now) {
1390 fake_current_physical_time_ = fake_now; 1382 fake_current_physical_time_ = fake_now;
1391 } 1383 }
1392 1384
1393 private: 1385 private:
1394 base::TimeTicks fake_current_physical_time_; 1386 base::TimeTicks fake_current_physical_time_;
1395 }; 1387 };
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
1714 EXPECT_EQ(4.f, metadata.max_page_scale_factor); 1706 EXPECT_EQ(4.f, metadata.max_page_scale_factor);
1715 } 1707 }
1716 } 1708 }
1717 1709
1718 class DidDrawCheckLayer : public LayerImpl { 1710 class DidDrawCheckLayer : public LayerImpl {
1719 public: 1711 public:
1720 static scoped_ptr<LayerImpl> Create(LayerTreeImpl* tree_impl, int id) { 1712 static scoped_ptr<LayerImpl> Create(LayerTreeImpl* tree_impl, int id) {
1721 return make_scoped_ptr(new DidDrawCheckLayer(tree_impl, id)); 1713 return make_scoped_ptr(new DidDrawCheckLayer(tree_impl, id));
1722 } 1714 }
1723 1715
1724 virtual bool WillDraw(DrawMode draw_mode, ResourceProvider* provider) 1716 bool WillDraw(DrawMode draw_mode, ResourceProvider* provider) override {
1725 override {
1726 will_draw_called_ = true; 1717 will_draw_called_ = true;
1727 if (will_draw_returns_false_) 1718 if (will_draw_returns_false_)
1728 return false; 1719 return false;
1729 return LayerImpl::WillDraw(draw_mode, provider); 1720 return LayerImpl::WillDraw(draw_mode, provider);
1730 } 1721 }
1731 1722
1732 virtual void AppendQuads(RenderPass* render_pass, 1723 void AppendQuads(RenderPass* render_pass,
1733 const Occlusion& occlusion_in_content_space, 1724 const Occlusion& occlusion_in_content_space,
1734 AppendQuadsData* append_quads_data) override { 1725 AppendQuadsData* append_quads_data) override {
1735 append_quads_called_ = true; 1726 append_quads_called_ = true;
1736 LayerImpl::AppendQuads( 1727 LayerImpl::AppendQuads(
1737 render_pass, occlusion_in_content_space, append_quads_data); 1728 render_pass, occlusion_in_content_space, append_quads_data);
1738 } 1729 }
1739 1730
1740 virtual void DidDraw(ResourceProvider* provider) override { 1731 void DidDraw(ResourceProvider* provider) override {
1741 did_draw_called_ = true; 1732 did_draw_called_ = true;
1742 LayerImpl::DidDraw(provider); 1733 LayerImpl::DidDraw(provider);
1743 } 1734 }
1744 1735
1745 bool will_draw_called() const { return will_draw_called_; } 1736 bool will_draw_called() const { return will_draw_called_; }
1746 bool append_quads_called() const { return append_quads_called_; } 1737 bool append_quads_called() const { return append_quads_called_; }
1747 bool did_draw_called() const { return did_draw_called_; } 1738 bool did_draw_called() const { return did_draw_called_; }
1748 1739
1749 void set_will_draw_returns_false() { will_draw_returns_false_ = true; } 1740 void set_will_draw_returns_false() { will_draw_returns_false_ = true; }
1750 1741
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
1946 bool animating, 1937 bool animating,
1947 ResourceProvider* resource_provider) { 1938 ResourceProvider* resource_provider) {
1948 return make_scoped_ptr(new MissingTextureAnimatingLayer(tree_impl, 1939 return make_scoped_ptr(new MissingTextureAnimatingLayer(tree_impl,
1949 id, 1940 id,
1950 tile_missing, 1941 tile_missing,
1951 had_incomplete_tile, 1942 had_incomplete_tile,
1952 animating, 1943 animating,
1953 resource_provider)); 1944 resource_provider));
1954 } 1945 }
1955 1946
1956 virtual void AppendQuads(RenderPass* render_pass, 1947 void AppendQuads(RenderPass* render_pass,
1957 const Occlusion& occlusion_in_content_space, 1948 const Occlusion& occlusion_in_content_space,
1958 AppendQuadsData* append_quads_data) override { 1949 AppendQuadsData* append_quads_data) override {
1959 LayerImpl::AppendQuads( 1950 LayerImpl::AppendQuads(
1960 render_pass, occlusion_in_content_space, append_quads_data); 1951 render_pass, occlusion_in_content_space, append_quads_data);
1961 if (had_incomplete_tile_) 1952 if (had_incomplete_tile_)
1962 append_quads_data->num_incomplete_tiles++; 1953 append_quads_data->num_incomplete_tiles++;
1963 if (tile_missing_) 1954 if (tile_missing_)
1964 append_quads_data->num_missing_tiles++; 1955 append_quads_data->num_missing_tiles++;
1965 } 1956 }
1966 1957
1967 private: 1958 private:
1968 MissingTextureAnimatingLayer(LayerTreeImpl* tree_impl, 1959 MissingTextureAnimatingLayer(LayerTreeImpl* tree_impl,
(...skipping 1550 matching lines...) Expand 10 before | Expand all | Expand 10 after
3519 inner_viewport_scroll_layer->MaxScrollOffset()); 3510 inner_viewport_scroll_layer->MaxScrollOffset());
3520 } 3511 }
3521 3512
3522 class TestScrollOffsetDelegate : public LayerScrollOffsetDelegate { 3513 class TestScrollOffsetDelegate : public LayerScrollOffsetDelegate {
3523 public: 3514 public:
3524 TestScrollOffsetDelegate() 3515 TestScrollOffsetDelegate()
3525 : page_scale_factor_(0.f), 3516 : page_scale_factor_(0.f),
3526 min_page_scale_factor_(-1.f), 3517 min_page_scale_factor_(-1.f),
3527 max_page_scale_factor_(-1.f) {} 3518 max_page_scale_factor_(-1.f) {}
3528 3519
3529 virtual ~TestScrollOffsetDelegate() {} 3520 ~TestScrollOffsetDelegate() override {}
3530 3521
3531 virtual gfx::ScrollOffset GetTotalScrollOffset() override { 3522 gfx::ScrollOffset GetTotalScrollOffset() override {
3532 return getter_return_value_; 3523 return getter_return_value_;
3533 } 3524 }
3534 3525
3535 virtual bool IsExternalFlingActive() const override { return false; } 3526 bool IsExternalFlingActive() const override { return false; }
3536 3527
3537 virtual void UpdateRootLayerState( 3528 void UpdateRootLayerState(const gfx::ScrollOffset& total_scroll_offset,
3538 const gfx::ScrollOffset& total_scroll_offset, 3529 const gfx::ScrollOffset& max_scroll_offset,
3539 const gfx::ScrollOffset& max_scroll_offset, 3530 const gfx::SizeF& scrollable_size,
3540 const gfx::SizeF& scrollable_size, 3531 float page_scale_factor,
3541 float page_scale_factor, 3532 float min_page_scale_factor,
3542 float min_page_scale_factor, 3533 float max_page_scale_factor) override {
3543 float max_page_scale_factor) override {
3544 DCHECK(total_scroll_offset.x() <= max_scroll_offset.x()); 3534 DCHECK(total_scroll_offset.x() <= max_scroll_offset.x());
3545 DCHECK(total_scroll_offset.y() <= max_scroll_offset.y()); 3535 DCHECK(total_scroll_offset.y() <= max_scroll_offset.y());
3546 last_set_scroll_offset_ = total_scroll_offset; 3536 last_set_scroll_offset_ = total_scroll_offset;
3547 max_scroll_offset_ = max_scroll_offset; 3537 max_scroll_offset_ = max_scroll_offset;
3548 scrollable_size_ = scrollable_size; 3538 scrollable_size_ = scrollable_size;
3549 page_scale_factor_ = page_scale_factor; 3539 page_scale_factor_ = page_scale_factor;
3550 min_page_scale_factor_ = min_page_scale_factor; 3540 min_page_scale_factor_ = min_page_scale_factor;
3551 max_page_scale_factor_ = max_page_scale_factor; 3541 max_page_scale_factor_ = max_page_scale_factor;
3552 } 3542 }
3553 3543
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after
3979 3969
3980 class BlendStateCheckLayer : public LayerImpl { 3970 class BlendStateCheckLayer : public LayerImpl {
3981 public: 3971 public:
3982 static scoped_ptr<LayerImpl> Create(LayerTreeImpl* tree_impl, 3972 static scoped_ptr<LayerImpl> Create(LayerTreeImpl* tree_impl,
3983 int id, 3973 int id,
3984 ResourceProvider* resource_provider) { 3974 ResourceProvider* resource_provider) {
3985 return make_scoped_ptr( 3975 return make_scoped_ptr(
3986 new BlendStateCheckLayer(tree_impl, id, resource_provider)); 3976 new BlendStateCheckLayer(tree_impl, id, resource_provider));
3987 } 3977 }
3988 3978
3989 virtual void AppendQuads(RenderPass* render_pass, 3979 void AppendQuads(RenderPass* render_pass,
3990 const Occlusion& occlusion_in_content_space, 3980 const Occlusion& occlusion_in_content_space,
3991 AppendQuadsData* append_quads_data) override { 3981 AppendQuadsData* append_quads_data) override {
3992 quads_appended_ = true; 3982 quads_appended_ = true;
3993 3983
3994 gfx::Rect opaque_rect; 3984 gfx::Rect opaque_rect;
3995 if (contents_opaque()) 3985 if (contents_opaque())
3996 opaque_rect = quad_rect_; 3986 opaque_rect = quad_rect_;
3997 else 3987 else
3998 opaque_rect = opaque_content_rect_; 3988 opaque_rect = opaque_content_rect_;
3999 gfx::Rect visible_quad_rect = quad_rect_; 3989 gfx::Rect visible_quad_rect = quad_rect_;
4000 3990
4001 SharedQuadState* shared_quad_state = 3991 SharedQuadState* shared_quad_state =
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
4391 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 4381 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
4392 ASSERT_EQ(1u, frame.render_passes.size()); 4382 ASSERT_EQ(1u, frame.render_passes.size());
4393 4383
4394 EXPECT_EQ(0u, CountGutterQuads(frame.render_passes[0]->quad_list)); 4384 EXPECT_EQ(0u, CountGutterQuads(frame.render_passes[0]->quad_list));
4395 EXPECT_EQ(1u, frame.render_passes[0]->quad_list.size()); 4385 EXPECT_EQ(1u, frame.render_passes[0]->quad_list.size());
4396 ValidateTextureDrawQuads(frame.render_passes[0]->quad_list); 4386 ValidateTextureDrawQuads(frame.render_passes[0]->quad_list);
4397 4387
4398 host_impl_->DidDrawAllLayers(frame); 4388 host_impl_->DidDrawAllLayers(frame);
4399 } 4389 }
4400 4390
4401 virtual void DidActivateSyncTree() override { 4391 void DidActivateSyncTree() override { did_activate_pending_tree_ = true; }
4402 did_activate_pending_tree_ = true;
4403 }
4404 4392
4405 void set_gutter_quad_material(DrawQuad::Material material) { 4393 void set_gutter_quad_material(DrawQuad::Material material) {
4406 gutter_quad_material_ = material; 4394 gutter_quad_material_ = material;
4407 } 4395 }
4408 void set_gutter_texture_size(const gfx::Size& gutter_texture_size) { 4396 void set_gutter_texture_size(const gfx::Size& gutter_texture_size) {
4409 gutter_texture_size_ = gutter_texture_size; 4397 gutter_texture_size_ = gutter_texture_size;
4410 } 4398 }
4411 4399
4412 protected: 4400 protected:
4413 size_t CountGutterQuads(const QuadList& quad_list) { 4401 size_t CountGutterQuads(const QuadList& quad_list) {
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
4743 EXPECT_EQ(1u, frame.render_passes.size()); 4731 EXPECT_EQ(1u, frame.render_passes.size());
4744 host_impl_->DidDrawAllLayers(frame); 4732 host_impl_->DidDrawAllLayers(frame);
4745 } 4733 }
4746 4734
4747 class FakeLayerWithQuads : public LayerImpl { 4735 class FakeLayerWithQuads : public LayerImpl {
4748 public: 4736 public:
4749 static scoped_ptr<LayerImpl> Create(LayerTreeImpl* tree_impl, int id) { 4737 static scoped_ptr<LayerImpl> Create(LayerTreeImpl* tree_impl, int id) {
4750 return make_scoped_ptr(new FakeLayerWithQuads(tree_impl, id)); 4738 return make_scoped_ptr(new FakeLayerWithQuads(tree_impl, id));
4751 } 4739 }
4752 4740
4753 virtual void AppendQuads(RenderPass* render_pass, 4741 void AppendQuads(RenderPass* render_pass,
4754 const Occlusion& occlusion_in_content_space, 4742 const Occlusion& occlusion_in_content_space,
4755 AppendQuadsData* append_quads_data) override { 4743 AppendQuadsData* append_quads_data) override {
4756 SharedQuadState* shared_quad_state = 4744 SharedQuadState* shared_quad_state =
4757 render_pass->CreateAndAppendSharedQuadState(); 4745 render_pass->CreateAndAppendSharedQuadState();
4758 PopulateSharedQuadState(shared_quad_state); 4746 PopulateSharedQuadState(shared_quad_state);
4759 4747
4760 SkColor gray = SkColorSetRGB(100, 100, 100); 4748 SkColor gray = SkColorSetRGB(100, 100, 100);
4761 gfx::Rect quad_rect(content_bounds()); 4749 gfx::Rect quad_rect(content_bounds());
4762 gfx::Rect visible_quad_rect(quad_rect); 4750 gfx::Rect visible_quad_rect(quad_rect);
4763 SolidColorDrawQuad* my_quad = 4751 SolidColorDrawQuad* my_quad =
4764 render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); 4752 render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
4765 my_quad->SetNew( 4753 my_quad->SetNew(
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
5193 // But if we set it to the same value that it was before, we shouldn't 5181 // But if we set it to the same value that it was before, we shouldn't
5194 // re-commit. 5182 // re-commit.
5195 host_impl_->SetMemoryPolicy(ManagedMemoryPolicy( 5183 host_impl_->SetMemoryPolicy(ManagedMemoryPolicy(
5196 host_impl_->memory_allocation_limit_bytes())); 5184 host_impl_->memory_allocation_limit_bytes()));
5197 EXPECT_FALSE(did_request_commit_); 5185 EXPECT_FALSE(did_request_commit_);
5198 } 5186 }
5199 5187
5200 class LayerTreeHostImplTestWithDelegatingRenderer 5188 class LayerTreeHostImplTestWithDelegatingRenderer
5201 : public LayerTreeHostImplTest { 5189 : public LayerTreeHostImplTest {
5202 protected: 5190 protected:
5203 virtual scoped_ptr<OutputSurface> CreateOutputSurface() override { 5191 scoped_ptr<OutputSurface> CreateOutputSurface() override {
5204 return FakeOutputSurface::CreateDelegating3d(); 5192 return FakeOutputSurface::CreateDelegating3d();
5205 } 5193 }
5206 5194
5207 void DrawFrameAndTestDamage(const gfx::RectF& expected_damage) { 5195 void DrawFrameAndTestDamage(const gfx::RectF& expected_damage) {
5208 bool expect_to_draw = !expected_damage.IsEmpty(); 5196 bool expect_to_draw = !expected_damage.IsEmpty();
5209 5197
5210 LayerTreeHostImpl::FrameData frame; 5198 LayerTreeHostImpl::FrameData frame;
5211 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 5199 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
5212 5200
5213 if (!expect_to_draw) { 5201 if (!expect_to_draw) {
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
5283 EXPECT_FALSE(host_impl_->GetRendererCapabilities().allow_rasterize_on_demand); 5271 EXPECT_FALSE(host_impl_->GetRendererCapabilities().allow_rasterize_on_demand);
5284 } 5272 }
5285 5273
5286 class FakeMaskLayerImpl : public LayerImpl { 5274 class FakeMaskLayerImpl : public LayerImpl {
5287 public: 5275 public:
5288 static scoped_ptr<FakeMaskLayerImpl> Create(LayerTreeImpl* tree_impl, 5276 static scoped_ptr<FakeMaskLayerImpl> Create(LayerTreeImpl* tree_impl,
5289 int id) { 5277 int id) {
5290 return make_scoped_ptr(new FakeMaskLayerImpl(tree_impl, id)); 5278 return make_scoped_ptr(new FakeMaskLayerImpl(tree_impl, id));
5291 } 5279 }
5292 5280
5293 virtual void GetContentsResourceId(ResourceProvider::ResourceId* resource_id, 5281 void GetContentsResourceId(ResourceProvider::ResourceId* resource_id,
5294 gfx::Size* resource_size) const override { 5282 gfx::Size* resource_size) const override {
5295 *resource_id = 0; 5283 *resource_id = 0;
5296 } 5284 }
5297 5285
5298 private: 5286 private:
5299 FakeMaskLayerImpl(LayerTreeImpl* tree_impl, int id) 5287 FakeMaskLayerImpl(LayerTreeImpl* tree_impl, int id)
5300 : LayerImpl(tree_impl, id) {} 5288 : LayerImpl(tree_impl, id) {}
5301 }; 5289 };
5302 5290
5303 TEST_F(LayerTreeHostImplTest, MaskLayerWithScaling) { 5291 TEST_F(LayerTreeHostImplTest, MaskLayerWithScaling) {
5304 LayerTreeSettings settings; 5292 LayerTreeSettings settings;
(...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after
6041 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 6029 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now());
6042 host_impl_->DidDrawAllLayers(frame); 6030 host_impl_->DidDrawAllLayers(frame);
6043 } 6031 }
6044 6032
6045 6033
6046 class CompositorFrameMetadataTest : public LayerTreeHostImplTest { 6034 class CompositorFrameMetadataTest : public LayerTreeHostImplTest {
6047 public: 6035 public:
6048 CompositorFrameMetadataTest() 6036 CompositorFrameMetadataTest()
6049 : swap_buffers_complete_(0) {} 6037 : swap_buffers_complete_(0) {}
6050 6038
6051 virtual void DidSwapBuffersCompleteOnImplThread() override { 6039 void DidSwapBuffersCompleteOnImplThread() override {
6052 swap_buffers_complete_++; 6040 swap_buffers_complete_++;
6053 } 6041 }
6054 6042
6055 int swap_buffers_complete_; 6043 int swap_buffers_complete_;
6056 }; 6044 };
6057 6045
6058 TEST_F(CompositorFrameMetadataTest, CompositorFrameAckCountsAsSwapComplete) { 6046 TEST_F(CompositorFrameMetadataTest, CompositorFrameAckCountsAsSwapComplete) {
6059 SetupRootLayerImpl(FakeLayerWithQuads::Create(host_impl_->active_tree(), 1)); 6047 SetupRootLayerImpl(FakeLayerWithQuads::Create(host_impl_->active_tree(), 1));
6060 { 6048 {
6061 LayerTreeHostImpl::FrameData frame; 6049 LayerTreeHostImpl::FrameData frame;
6062 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 6050 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
6063 host_impl_->DrawLayers(&frame, base::TimeTicks()); 6051 host_impl_->DrawLayers(&frame, base::TimeTicks());
6064 host_impl_->DidDrawAllLayers(frame); 6052 host_impl_->DidDrawAllLayers(frame);
6065 } 6053 }
6066 CompositorFrameAck ack; 6054 CompositorFrameAck ack;
6067 host_impl_->ReclaimResources(&ack); 6055 host_impl_->ReclaimResources(&ack);
6068 host_impl_->DidSwapBuffersComplete(); 6056 host_impl_->DidSwapBuffersComplete();
6069 EXPECT_EQ(swap_buffers_complete_, 1); 6057 EXPECT_EQ(swap_buffers_complete_, 1);
6070 } 6058 }
6071 6059
6072 class CountingSoftwareDevice : public SoftwareOutputDevice { 6060 class CountingSoftwareDevice : public SoftwareOutputDevice {
6073 public: 6061 public:
6074 CountingSoftwareDevice() : frames_began_(0), frames_ended_(0) {} 6062 CountingSoftwareDevice() : frames_began_(0), frames_ended_(0) {}
6075 6063
6076 virtual SkCanvas* BeginPaint(const gfx::Rect& damage_rect) override { 6064 SkCanvas* BeginPaint(const gfx::Rect& damage_rect) override {
6077 ++frames_began_; 6065 ++frames_began_;
6078 return SoftwareOutputDevice::BeginPaint(damage_rect); 6066 return SoftwareOutputDevice::BeginPaint(damage_rect);
6079 } 6067 }
6080 virtual void EndPaint(SoftwareFrameData* frame_data) override { 6068 void EndPaint(SoftwareFrameData* frame_data) override {
6081 ++frames_ended_; 6069 ++frames_ended_;
6082 SoftwareOutputDevice::EndPaint(frame_data); 6070 SoftwareOutputDevice::EndPaint(frame_data);
6083 } 6071 }
6084 6072
6085 int frames_began_, frames_ended_; 6073 int frames_began_, frames_ended_;
6086 }; 6074 };
6087 6075
6088 TEST_F(LayerTreeHostImplTest, ForcedDrawToSoftwareDeviceBasicRender) { 6076 TEST_F(LayerTreeHostImplTest, ForcedDrawToSoftwareDeviceBasicRender) {
6089 // No main thread evictions in resourceless software mode. 6077 // No main thread evictions in resourceless software mode.
6090 set_reduce_memory_result(false); 6078 set_reduce_memory_result(false);
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
6185 6173
6186 EXPECT_TRUE(CreateHostImpl(DefaultSettings(), output_surface.Pass())); 6174 EXPECT_TRUE(CreateHostImpl(DefaultSettings(), output_surface.Pass()));
6187 6175
6188 scoped_ptr<SolidColorLayerImpl> root_layer = 6176 scoped_ptr<SolidColorLayerImpl> root_layer =
6189 SolidColorLayerImpl::Create(host_impl_->active_tree(), 1); 6177 SolidColorLayerImpl::Create(host_impl_->active_tree(), 1);
6190 SetupRootLayerImpl(root_layer.Pass()); 6178 SetupRootLayerImpl(root_layer.Pass());
6191 6179
6192 onscreen_context_provider_ = TestContextProvider::Create(); 6180 onscreen_context_provider_ = TestContextProvider::Create();
6193 } 6181 }
6194 6182
6195 virtual void UpdateRendererCapabilitiesOnImplThread() override { 6183 void UpdateRendererCapabilitiesOnImplThread() override {
6196 did_update_renderer_capabilities_ = true; 6184 did_update_renderer_capabilities_ = true;
6197 } 6185 }
6198 6186
6199 FakeOutputSurface* output_surface_; 6187 FakeOutputSurface* output_surface_;
6200 scoped_refptr<TestContextProvider> onscreen_context_provider_; 6188 scoped_refptr<TestContextProvider> onscreen_context_provider_;
6201 bool did_update_renderer_capabilities_; 6189 bool did_update_renderer_capabilities_;
6202 }; 6190 };
6203 6191
6204 6192
6205 TEST_F(LayerTreeHostImplTestDeferredInitialize, Success) { 6193 TEST_F(LayerTreeHostImplTestDeferredInitialize, Success) {
(...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after
6903 SimpleSwapPromiseMonitor(LayerTreeHost* layer_tree_host, 6891 SimpleSwapPromiseMonitor(LayerTreeHost* layer_tree_host,
6904 LayerTreeHostImpl* layer_tree_host_impl, 6892 LayerTreeHostImpl* layer_tree_host_impl,
6905 int* set_needs_commit_count, 6893 int* set_needs_commit_count,
6906 int* set_needs_redraw_count, 6894 int* set_needs_redraw_count,
6907 int* forward_to_main_count) 6895 int* forward_to_main_count)
6908 : SwapPromiseMonitor(layer_tree_host, layer_tree_host_impl), 6896 : SwapPromiseMonitor(layer_tree_host, layer_tree_host_impl),
6909 set_needs_commit_count_(set_needs_commit_count), 6897 set_needs_commit_count_(set_needs_commit_count),
6910 set_needs_redraw_count_(set_needs_redraw_count), 6898 set_needs_redraw_count_(set_needs_redraw_count),
6911 forward_to_main_count_(forward_to_main_count) {} 6899 forward_to_main_count_(forward_to_main_count) {}
6912 6900
6913 virtual ~SimpleSwapPromiseMonitor() {} 6901 ~SimpleSwapPromiseMonitor() override {}
6914 6902
6915 virtual void OnSetNeedsCommitOnMain() override { 6903 void OnSetNeedsCommitOnMain() override { (*set_needs_commit_count_)++; }
6916 (*set_needs_commit_count_)++;
6917 }
6918 6904
6919 virtual void OnSetNeedsRedrawOnImpl() override { 6905 void OnSetNeedsRedrawOnImpl() override { (*set_needs_redraw_count_)++; }
6920 (*set_needs_redraw_count_)++;
6921 }
6922 6906
6923 virtual void OnForwardScrollUpdateToMainThreadOnImpl() override { 6907 void OnForwardScrollUpdateToMainThreadOnImpl() override {
6924 (*forward_to_main_count_)++; 6908 (*forward_to_main_count_)++;
6925 } 6909 }
6926 6910
6927 private: 6911 private:
6928 int* set_needs_commit_count_; 6912 int* set_needs_commit_count_;
6929 int* set_needs_redraw_count_; 6913 int* set_needs_redraw_count_;
6930 int* forward_to_main_count_; 6914 int* forward_to_main_count_;
6931 }; 6915 };
6932 6916
6933 TEST_F(LayerTreeHostImplTest, SimpleSwapPromiseMonitor) { 6917 TEST_F(LayerTreeHostImplTest, SimpleSwapPromiseMonitor) {
(...skipping 589 matching lines...) Expand 10 before | Expand all | Expand 10 after
7523 EXPECT_EQ(0u, raw_replica_mask_layer->did_become_active_call_count()); 7507 EXPECT_EQ(0u, raw_replica_mask_layer->did_become_active_call_count());
7524 pending_tree->DidBecomeActive(); 7508 pending_tree->DidBecomeActive();
7525 EXPECT_EQ(3u, raw_pending_layer->did_become_active_call_count()); 7509 EXPECT_EQ(3u, raw_pending_layer->did_become_active_call_count());
7526 EXPECT_EQ(2u, raw_mask_layer->did_become_active_call_count()); 7510 EXPECT_EQ(2u, raw_mask_layer->did_become_active_call_count());
7527 EXPECT_EQ(1u, raw_replica_mask_layer->did_become_active_call_count()); 7511 EXPECT_EQ(1u, raw_replica_mask_layer->did_become_active_call_count());
7528 } 7512 }
7529 7513
7530 class LayerTreeHostImplCountingLostSurfaces : public LayerTreeHostImplTest { 7514 class LayerTreeHostImplCountingLostSurfaces : public LayerTreeHostImplTest {
7531 public: 7515 public:
7532 LayerTreeHostImplCountingLostSurfaces() : num_lost_surfaces_(0) {} 7516 LayerTreeHostImplCountingLostSurfaces() : num_lost_surfaces_(0) {}
7533 virtual void DidLoseOutputSurfaceOnImplThread() override { 7517 void DidLoseOutputSurfaceOnImplThread() override { num_lost_surfaces_++; }
7534 num_lost_surfaces_++;
7535 }
7536 7518
7537 protected: 7519 protected:
7538 int num_lost_surfaces_; 7520 int num_lost_surfaces_;
7539 }; 7521 };
7540 7522
7541 TEST_F(LayerTreeHostImplCountingLostSurfaces, TwiceLostSurface) { 7523 TEST_F(LayerTreeHostImplCountingLostSurfaces, TwiceLostSurface) {
7542 // Really we just need at least one client notification each time 7524 // Really we just need at least one client notification each time
7543 // we go from having a valid output surface to not having a valid output 7525 // we go from having a valid output surface to not having a valid output
7544 // surface. 7526 // surface.
7545 EXPECT_EQ(0, num_lost_surfaces_); 7527 EXPECT_EQ(0, num_lost_surfaces_);
7546 host_impl_->DidLoseOutputSurface(); 7528 host_impl_->DidLoseOutputSurface();
7547 EXPECT_EQ(1, num_lost_surfaces_); 7529 EXPECT_EQ(1, num_lost_surfaces_);
7548 host_impl_->DidLoseOutputSurface(); 7530 host_impl_->DidLoseOutputSurface();
7549 EXPECT_LE(1, num_lost_surfaces_); 7531 EXPECT_LE(1, num_lost_surfaces_);
7550 } 7532 }
7551 7533
7552 } // namespace 7534 } // namespace
7553 } // namespace cc 7535 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_impl.cc ('k') | cc/trees/layer_tree_host_perftest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698