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

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

Issue 16871016: cc: Use BeginFrameArgs (Closed) Base URL: http://git.chromium.org/chromium/src.git@bfargs2
Patch Set: Rebase; Avoid double activate; Fix OutputSurface init and page scroll delta; Created 7 years, 4 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
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.h" 5 #include "cc/trees/layer_tree_host.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/synchronization/lock.h" 10 #include "base/synchronization/lock.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 num_draws_++; 76 num_draws_++;
77 if (!impl->active_tree()->source_frame_number()) 77 if (!impl->active_tree()->source_frame_number())
78 EndTest(); 78 EndTest();
79 } 79 }
80 80
81 virtual void CommitCompleteOnThread(LayerTreeHostImpl* impl) OVERRIDE { 81 virtual void CommitCompleteOnThread(LayerTreeHostImpl* impl) OVERRIDE {
82 num_commits_++; 82 num_commits_++;
83 } 83 }
84 84
85 virtual void AfterTest() OVERRIDE { 85 virtual void AfterTest() OVERRIDE {
86 EXPECT_GE(1, num_commits_); 86 EXPECT_GE(num_commits_, 1);
87 EXPECT_GE(1, num_draws_); 87 EXPECT_GE(num_draws_, 1);
88 } 88 }
89 89
90 private: 90 private:
91 int num_commits_; 91 int num_commits_;
92 int num_draws_; 92 int num_draws_;
93 }; 93 };
94 94
95 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSetNeedsCommit1); 95 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSetNeedsCommit1);
96 96
97 // A SetNeedsCommit should lead to 1 commit. Issuing a second commit after that 97 // A SetNeedsCommit should lead to 1 commit. Issuing a second commit after that
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 enum Properties { 145 enum Properties {
146 STARTUP, 146 STARTUP,
147 BOUNDS, 147 BOUNDS,
148 HIDE_LAYER_AND_SUBTREE, 148 HIDE_LAYER_AND_SUBTREE,
149 DRAWS_CONTENT, 149 DRAWS_CONTENT,
150 DONE, 150 DONE,
151 }; 151 };
152 152
153 virtual void BeginTest() OVERRIDE { 153 virtual void BeginTest() OVERRIDE {
154 index_ = STARTUP; 154 index_ = STARTUP;
155 index_impl_ = STARTUP;
155 PostSetNeedsCommitToMainThread(); 156 PostSetNeedsCommitToMainThread();
156 } 157 }
157 158
158 virtual void DrawLayersOnThread(LayerTreeHostImpl* impl) OVERRIDE { 159 virtual void DrawLayersOnThread(LayerTreeHostImpl* impl) OVERRIDE {
159 VerifyAfterValues(impl->active_tree()->root_layer()); 160 VerifyAfterValues(impl->active_tree()->root_layer());
160 } 161 }
161 162
162 virtual void DidCommitAndDrawFrame() OVERRIDE { 163 virtual void DidCommitAndDrawFrame() OVERRIDE {
163 SetBeforeValues(layer_tree_host()->root_layer()); 164 SetBeforeValues(layer_tree_host()->root_layer());
164 VerifyBeforeValues(layer_tree_host()->root_layer()); 165 VerifyBeforeValues(layer_tree_host()->root_layer());
165 166
166 ++index_; 167 ++index_;
167 if (index_ == DONE) { 168 if (index_ == DONE);
168 EndTest(); 169 EndTest();
169 return;
170 }
171 170
172 SetAfterValues(layer_tree_host()->root_layer()); 171 SetAfterValues(layer_tree_host()->root_layer());
173 } 172 }
174 173
175 virtual void AfterTest() OVERRIDE {} 174 virtual void AfterTest() OVERRIDE {}
176 175
177 void VerifyBeforeValues(Layer* layer) { 176 void VerifyBeforeValues(Layer* layer) {
178 EXPECT_EQ(gfx::Size(10, 10).ToString(), layer->bounds().ToString()); 177 EXPECT_EQ(gfx::Size(10, 10).ToString(), layer->bounds().ToString());
179 EXPECT_FALSE(layer->hide_layer_and_subtree()); 178 EXPECT_FALSE(layer->hide_layer_and_subtree());
180 EXPECT_FALSE(layer->DrawsContent()); 179 EXPECT_FALSE(layer->DrawsContent());
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 case HIDE_LAYER_AND_SUBTREE: 213 case HIDE_LAYER_AND_SUBTREE:
215 layer->SetHideLayerAndSubtree(true); 214 layer->SetHideLayerAndSubtree(true);
216 break; 215 break;
217 case DRAWS_CONTENT: 216 case DRAWS_CONTENT:
218 layer->SetIsDrawable(true); 217 layer->SetIsDrawable(true);
219 break; 218 break;
220 } 219 }
221 } 220 }
222 221
223 int index_; 222 int index_;
223 int index_impl_;
224 }; 224 };
225 225
226 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPushPropertiesTo); 226 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPushPropertiesTo);
227 227
228 // 1 setNeedsRedraw after the first commit has completed should lead to 1 228 // 1 setNeedsRedraw after the first commit has completed should lead to 1
229 // additional draw. 229 // additional draw.
230 class LayerTreeHostTestSetNeedsRedraw : public LayerTreeHostTest { 230 class LayerTreeHostTestSetNeedsRedraw : public LayerTreeHostTest {
231 public: 231 public:
232 LayerTreeHostTestSetNeedsRedraw() : num_commits_(0), num_draws_(0) {} 232 LayerTreeHostTestSetNeedsRedraw() : num_commits_(0), num_draws_(0) {}
233 233
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 612
613 // A compositeAndReadback while invisible should force a normal commit without 613 // A compositeAndReadback while invisible should force a normal commit without
614 // assertion. 614 // assertion.
615 class LayerTreeHostTestCompositeAndReadbackWhileInvisible 615 class LayerTreeHostTestCompositeAndReadbackWhileInvisible
616 : public LayerTreeHostTest { 616 : public LayerTreeHostTest {
617 public: 617 public:
618 LayerTreeHostTestCompositeAndReadbackWhileInvisible() : num_commits_(0) {} 618 LayerTreeHostTestCompositeAndReadbackWhileInvisible() : num_commits_(0) {}
619 619
620 virtual void BeginTest() OVERRIDE { PostSetNeedsCommitToMainThread(); } 620 virtual void BeginTest() OVERRIDE { PostSetNeedsCommitToMainThread(); }
621 621
622 virtual void DidCommitAndDrawFrame() OVERRIDE { 622 virtual void DidCommit() OVERRIDE {
623 num_commits_++; 623 num_commits_++;
624 if (num_commits_ == 1) { 624 if (num_commits_ == 1) {
625 layer_tree_host()->SetVisible(false); 625 layer_tree_host()->SetVisible(false);
626 layer_tree_host()->SetNeedsCommit(); 626 layer_tree_host()->SetNeedsCommit();
627 layer_tree_host()->SetNeedsCommit(); 627 layer_tree_host()->SetNeedsCommit();
628 char pixels[4]; 628 char pixels[4];
629 layer_tree_host()->CompositeAndReadback(&pixels, gfx::Rect(0, 0, 1, 1)); 629 layer_tree_host()->CompositeAndReadback(&pixels, gfx::Rect(0, 0, 1, 1));
630 } else { 630 } else {
631 EndTest(); 631 EndTest();
632 } 632 }
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
691 }; 691 };
692 692
693 MULTI_THREAD_TEST_F(LayerTreeHostTestCommit); 693 MULTI_THREAD_TEST_F(LayerTreeHostTestCommit);
694 694
695 // This test verifies that LayerTreeHostImpl's current frame time gets 695 // This test verifies that LayerTreeHostImpl's current frame time gets
696 // updated in consecutive frames when it doesn't draw due to tree 696 // updated in consecutive frames when it doesn't draw due to tree
697 // activation failure. 697 // activation failure.
698 class LayerTreeHostTestFrameTimeUpdatesAfterActivationFails 698 class LayerTreeHostTestFrameTimeUpdatesAfterActivationFails
699 : public LayerTreeHostTest { 699 : public LayerTreeHostTest {
700 public: 700 public:
701 LayerTreeHostTestFrameTimeUpdatesAfterActivationFails() : frame_(0) {} 701 LayerTreeHostTestFrameTimeUpdatesAfterActivationFails()
702 : frame_count_with_pending_tree_(0) {}
702 703
703 virtual void BeginTest() OVERRIDE { 704 virtual void BeginTest() OVERRIDE {
704 layer_tree_host()->SetViewportSize(gfx::Size(20, 20)); 705 layer_tree_host()->SetViewportSize(gfx::Size(20, 20));
705 layer_tree_host()->set_background_color(SK_ColorGRAY); 706 layer_tree_host()->set_background_color(SK_ColorGRAY);
706 707
707 PostSetNeedsCommitToMainThread(); 708 PostSetNeedsCommitToMainThread();
708 } 709 }
709 710
711 virtual void WillBeginFrameOnThread(LayerTreeHostImpl* host_impl,
712 const BeginFrameArgs &args) OVERRIDE {
713 TRACE_EVENT0("cc", "WillBeginFrameOnThreadbca");
714 if (host_impl->pending_tree())
715 frame_count_with_pending_tree_++;
716 }
717
710 virtual void DrawLayersOnThread(LayerTreeHostImpl* impl) OVERRIDE { 718 virtual void DrawLayersOnThread(LayerTreeHostImpl* impl) OVERRIDE {
711 if (frame_ >= 1) { 719 if (frame_count_with_pending_tree_ > 1) {
712 EXPECT_NE(first_frame_time_, impl->CurrentFrameTimeTicks()); 720 EXPECT_NE(first_frame_time_.ToInternalValue(),
721 impl->CurrentFrameTimeTicks().ToInternalValue());
713 EndTest(); 722 EndTest();
714 return; 723 return;
715 } 724 }
716 725
717 EXPECT_FALSE(impl->settings().impl_side_painting); 726 EXPECT_FALSE(impl->settings().impl_side_painting);
718 EndTest(); 727 EndTest();
719 } 728 }
720 729
721 virtual bool CanActivatePendingTree(LayerTreeHostImpl* impl) OVERRIDE { 730 virtual bool CanActivatePendingTree(LayerTreeHostImpl* impl) OVERRIDE {
722 if (frame_ >= 1) 731 return frame_count_with_pending_tree_ > 1;
723 return true;
724
725 return false;
726 } 732 }
727 733
728 virtual bool CanActivatePendingTreeIfNeeded(LayerTreeHostImpl* impl) 734 virtual bool CanActivatePendingTreeIfNeeded(LayerTreeHostImpl* impl)
729 OVERRIDE { 735 OVERRIDE {
730 frame_++; 736 if (frame_count_with_pending_tree_ > 1)
731 if (frame_ == 1) { 737 return true;
738
739 if (first_frame_time_.is_null()) {
732 first_frame_time_ = impl->CurrentFrameTimeTicks(); 740 first_frame_time_ = impl->CurrentFrameTimeTicks();
733 741
734 // Since base::TimeTicks::Now() uses a low-resolution clock on 742 // Since base::TimeTicks::Now() uses a low-resolution clock on
735 // Windows, we need to make sure that the clock has incremented past 743 // Windows, we need to make sure that the clock has incremented past
736 // first_frame_time_. 744 // first_frame_time_.
737 while (first_frame_time_ == base::TimeTicks::Now()) {} 745 while (first_frame_time_ == base::TimeTicks::Now()) {}
746 }
747 return false;
748 }
738 749
739 return false; 750 virtual void DidActivateTreeOnThread(LayerTreeHostImpl *impl) OVERRIDE {
740 } 751 if (impl->settings().impl_side_painting)
741 752 EXPECT_NE(frame_count_with_pending_tree_, 1);
742 return true;
743 } 753 }
744 754
745 virtual void AfterTest() OVERRIDE {} 755 virtual void AfterTest() OVERRIDE {}
746 756
747 private: 757 private:
748 int frame_; 758 int frame_count_with_pending_tree_;
749 base::TimeTicks first_frame_time_; 759 base::TimeTicks first_frame_time_;
750 }; 760 };
751 761
752 SINGLE_AND_MULTI_THREAD_TEST_F( 762 SINGLE_AND_MULTI_THREAD_TEST_F(
753 LayerTreeHostTestFrameTimeUpdatesAfterActivationFails); 763 LayerTreeHostTestFrameTimeUpdatesAfterActivationFails);
754 764
755 // This test verifies that LayerTreeHostImpl's current frame time gets 765 // This test verifies that LayerTreeHostImpl's current frame time gets
756 // updated in consecutive frames when it draws in each frame. 766 // updated in consecutive frames when it draws in each frame.
757 class LayerTreeHostTestFrameTimeUpdatesAfterDraw : public LayerTreeHostTest { 767 class LayerTreeHostTestFrameTimeUpdatesAfterDraw : public LayerTreeHostTest {
758 public: 768 public:
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
815 scroll_layer_->SetScrollOffset(gfx::Vector2d()); 825 scroll_layer_->SetScrollOffset(gfx::Vector2d());
816 layer_tree_host()->root_layer()->AddChild(scroll_layer_); 826 layer_tree_host()->root_layer()->AddChild(scroll_layer_);
817 } 827 }
818 828
819 virtual void BeginTest() OVERRIDE { 829 virtual void BeginTest() OVERRIDE {
820 PostSetNeedsCommitToMainThread(); 830 PostSetNeedsCommitToMainThread();
821 } 831 }
822 832
823 virtual void ApplyScrollAndScale(gfx::Vector2d scroll_delta, float scale) 833 virtual void ApplyScrollAndScale(gfx::Vector2d scroll_delta, float scale)
824 OVERRIDE { 834 OVERRIDE {
835 TRACE_EVENT0("cc", "ApplyScrollAndScale9");
825 gfx::Vector2d offset = scroll_layer_->scroll_offset(); 836 gfx::Vector2d offset = scroll_layer_->scroll_offset();
826 scroll_layer_->SetScrollOffset(offset + scroll_delta); 837 scroll_layer_->SetScrollOffset(offset + scroll_delta);
827 layer_tree_host()->SetPageScaleFactorAndLimits(scale, 0.5f, 2.f); 838 layer_tree_host()->SetPageScaleFactorAndLimits(scale, 0.5f, 2.f);
828 } 839 }
829 840
830 virtual void DidActivateTreeOnThread(LayerTreeHostImpl* impl) OVERRIDE { 841 virtual void SwapBuffersOnThread(LayerTreeHostImpl *impl, bool result)
831 impl->ProcessScrollDeltas(); 842 OVERRIDE {
832 // We get one commit before the first draw, and the animation doesn't happen 843 // We get one commit before the first draw, and the animation doesn't happen
833 // until the second draw. 844 // until the second draw.
834 switch (impl->active_tree()->source_frame_number()) { 845 switch (impl->active_tree()->source_frame_number()) {
835 case 0: 846 case 0:
836 EXPECT_EQ(1.f, impl->active_tree()->page_scale_factor()); 847 EXPECT_EQ(1.f, impl->active_tree()->page_scale_factor());
837 // We'll start an animation when we get back to the main thread. 848 // We'll start an animation when we get back to the main thread.
838 break; 849 break;
839 case 1: 850 case 1:
840 EXPECT_EQ(1.f, impl->active_tree()->page_scale_factor()); 851 EXPECT_EQ(1.f, impl->active_tree()->page_scale_factor());
841 PostSetNeedsRedrawToMainThread();
842 break; 852 break;
843 case 2: 853 case 2:
854 case 3:
855 case 4:
844 EXPECT_EQ(1.25f, impl->active_tree()->page_scale_factor()); 856 EXPECT_EQ(1.25f, impl->active_tree()->page_scale_factor());
857 PostSetNeedsCommitToMainThread();
858 break;
859 case 5:
845 EndTest(); 860 EndTest();
846 break; 861 break;
847 default: 862 default:
848 NOTREACHED(); 863 NOTREACHED();
849 } 864 }
850 } 865 }
851 866
852 virtual void DidCommitAndDrawFrame() OVERRIDE { 867 virtual void DidCommit() OVERRIDE {
853 switch (layer_tree_host()->source_frame_number()) { 868 switch (layer_tree_host()->source_frame_number()) {
854 case 1: 869 case 1:
855 layer_tree_host()->SetPageScaleFactorAndLimits(1.f, 0.5f, 2.f); 870 layer_tree_host()->SetPageScaleFactorAndLimits(1.f, 0.5f, 2.f);
856 layer_tree_host()->StartPageScaleAnimation( 871 layer_tree_host()->StartPageScaleAnimation(
857 gfx::Vector2d(), false, 1.25f, base::TimeDelta()); 872 gfx::Vector2d(), false, 1.25f, base::TimeDelta());
858 break; 873 break;
859 } 874 }
860 } 875 }
861 876
862 virtual void AfterTest() OVERRIDE {} 877 virtual void AfterTest() OVERRIDE {}
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
1253 parent_->AddChild(child_); 1268 parent_->AddChild(child_);
1254 1269
1255 layer_tree_host()->SetRootLayer(parent_); 1270 layer_tree_host()->SetRootLayer(parent_);
1256 LayerTreeHostTest::SetupTree(); 1271 LayerTreeHostTest::SetupTree();
1257 } 1272 }
1258 1273
1259 virtual void BeginTest() OVERRIDE { 1274 virtual void BeginTest() OVERRIDE {
1260 PostSetNeedsCommitToMainThread(); 1275 PostSetNeedsCommitToMainThread();
1261 } 1276 }
1262 1277
1263 virtual void DidCommitAndDrawFrame() OVERRIDE { 1278 virtual void DidCommit() OVERRIDE {
1264 switch (layer_tree_host()->source_frame_number()) { 1279 switch (layer_tree_host()->source_frame_number()) {
1265 case 1: 1280 case 1:
1266 parent_->SetNeedsDisplay(); 1281 parent_->SetNeedsDisplay();
1267 child_->SetNeedsDisplay(); 1282 child_->SetNeedsDisplay();
1268 break; 1283 break;
1269 case 2: 1284 case 2:
1270 // Damage part of layers. 1285 // Damage part of layers.
1271 parent_->SetNeedsDisplayRect(gfx::RectF(0.f, 0.f, 5.f, 5.f)); 1286 parent_->SetNeedsDisplayRect(gfx::RectF(0.f, 0.f, 5.f, 5.f));
1272 child_->SetNeedsDisplayRect(gfx::RectF(0.f, 0.f, 5.f, 5.f)); 1287 child_->SetNeedsDisplayRect(gfx::RectF(0.f, 0.f, 5.f, 5.f));
1273 break; 1288 break;
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
1384 1399
1385 class LayerTreeHostTestFinishAllRendering : public LayerTreeHostTest { 1400 class LayerTreeHostTestFinishAllRendering : public LayerTreeHostTest {
1386 public: 1401 public:
1387 LayerTreeHostTestFinishAllRendering() : once_(false), draw_count_(0) {} 1402 LayerTreeHostTestFinishAllRendering() : once_(false), draw_count_(0) {}
1388 1403
1389 virtual void BeginTest() OVERRIDE { 1404 virtual void BeginTest() OVERRIDE {
1390 layer_tree_host()->SetNeedsRedraw(); 1405 layer_tree_host()->SetNeedsRedraw();
1391 PostSetNeedsCommitToMainThread(); 1406 PostSetNeedsCommitToMainThread();
1392 } 1407 }
1393 1408
1394 virtual void DidCommitAndDrawFrame() OVERRIDE { 1409 virtual void DidCommit() OVERRIDE {
1395 if (once_) 1410 if (once_)
1396 return; 1411 return;
1397 once_ = true; 1412 once_ = true;
1398 layer_tree_host()->SetNeedsRedraw(); 1413 layer_tree_host()->SetNeedsRedraw();
1399 layer_tree_host()->AcquireLayerTextures(); 1414 layer_tree_host()->AcquireLayerTextures();
1400 { 1415 {
1401 base::AutoLock lock(lock_); 1416 base::AutoLock lock(lock_);
1402 draw_count_ = 0; 1417 draw_count_ = 0;
1403 } 1418 }
1404 layer_tree_host()->FinishAllRendering(); 1419 layer_tree_host()->FinishAllRendering();
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1472 surface_layer2_->SetReplicaLayer(replica_layer2_.get()); 1487 surface_layer2_->SetReplicaLayer(replica_layer2_.get());
1473 1488
1474 layer_tree_host()->SetRootLayer(root_layer_); 1489 layer_tree_host()->SetRootLayer(root_layer_);
1475 LayerTreeHostTest::SetupTree(); 1490 LayerTreeHostTest::SetupTree();
1476 } 1491 }
1477 1492
1478 virtual void BeginTest() OVERRIDE { 1493 virtual void BeginTest() OVERRIDE {
1479 PostSetNeedsCommitToMainThread(); 1494 PostSetNeedsCommitToMainThread();
1480 } 1495 }
1481 1496
1497 virtual void DidActivateTreeOnThread(LayerTreeHostImpl *host_impl) {
1498 // Reduce the memory limit to only fit the root layer and one render
1499 // surface. This prevents any contents drawing into surfaces
1500 // from being allocated.
1501 if (host_impl->active_tree()->source_frame_number() == 0) {
1502 host_impl->SetMemoryPolicy(
1503 ManagedMemoryPolicy(100 * 100 * 4 * 2), true);
1504 }
1505 }
1506
1482 virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) OVERRIDE { 1507 virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) OVERRIDE {
1483 Renderer* renderer = host_impl->renderer(); 1508 Renderer* renderer = host_impl->renderer();
1484 RenderPass::Id surface1_render_pass_id = host_impl->active_tree() 1509 RenderPass::Id surface1_render_pass_id = host_impl->active_tree()
1485 ->root_layer()->children()[0]->render_surface()->RenderPassId(); 1510 ->root_layer()->children()[0]->render_surface()->RenderPassId();
1486 RenderPass::Id surface2_render_pass_id = 1511 RenderPass::Id surface2_render_pass_id =
1487 host_impl->active_tree()->root_layer()->children()[0]->children()[0] 1512 host_impl->active_tree()->root_layer()->children()[0]->children()[0]
1488 ->render_surface()->RenderPassId(); 1513 ->render_surface()->RenderPassId();
1489 1514
1490 switch (host_impl->active_tree()->source_frame_number()) { 1515 switch (host_impl->active_tree()->source_frame_number()) {
1491 case 0: 1516 case 0:
1492 EXPECT_TRUE(renderer->HaveCachedResourcesForRenderPassId( 1517 EXPECT_TRUE(renderer->HaveCachedResourcesForRenderPassId(
1493 surface1_render_pass_id)); 1518 surface1_render_pass_id));
1494 EXPECT_TRUE(renderer->HaveCachedResourcesForRenderPassId( 1519 EXPECT_TRUE(renderer->HaveCachedResourcesForRenderPassId(
1495 surface2_render_pass_id)); 1520 surface2_render_pass_id));
1496
1497 // Reduce the memory limit to only fit the root layer and one render
1498 // surface. This prevents any contents drawing into surfaces
1499 // from being allocated.
1500 host_impl->SetMemoryPolicy(
1501 ManagedMemoryPolicy(100 * 100 * 4 * 2), true);
1502 break; 1521 break;
1503 case 1: 1522 case 1:
1504 EXPECT_FALSE(renderer->HaveCachedResourcesForRenderPassId( 1523 EXPECT_FALSE(renderer->HaveCachedResourcesForRenderPassId(
1505 surface1_render_pass_id)); 1524 surface1_render_pass_id));
1506 EXPECT_FALSE(renderer->HaveCachedResourcesForRenderPassId( 1525 EXPECT_FALSE(renderer->HaveCachedResourcesForRenderPassId(
1507 surface2_render_pass_id)); 1526 surface2_render_pass_id));
1508
1509 EndTest(); 1527 EndTest();
1510 break; 1528 break;
1511 } 1529 }
1512 } 1530 }
1513 1531
1514 virtual void DidCommitAndDrawFrame() OVERRIDE { 1532 virtual void DidCommit() OVERRIDE {
1515 if (layer_tree_host()->source_frame_number() < 2) 1533 if (layer_tree_host()->source_frame_number() < 2)
1516 root_layer_->SetNeedsDisplay(); 1534 root_layer_->SetNeedsDisplay();
1517 } 1535 }
1518 1536
1519 virtual void AfterTest() OVERRIDE { 1537 virtual void AfterTest() OVERRIDE {
1520 EXPECT_LE(2u, root_layer_->update_count()); 1538 EXPECT_LE(2u, root_layer_->update_count());
1521 EXPECT_LE(2u, surface_layer1_->update_count()); 1539 EXPECT_LE(2u, surface_layer1_->update_count());
1522 EXPECT_LE(2u, surface_layer2_->update_count()); 1540 EXPECT_LE(2u, surface_layer2_->update_count());
1523 } 1541 }
1524 1542
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
1810 content_layer_ = ContentLayer::Create(&client_); 1828 content_layer_ = ContentLayer::Create(&client_);
1811 content_layer_->SetBounds(gfx::Size(10, 10)); 1829 content_layer_->SetBounds(gfx::Size(10, 10));
1812 content_layer_->SetPosition(gfx::PointF(0.f, 0.f)); 1830 content_layer_->SetPosition(gfx::PointF(0.f, 0.f));
1813 content_layer_->SetAnchorPoint(gfx::PointF(0.f, 0.f)); 1831 content_layer_->SetAnchorPoint(gfx::PointF(0.f, 0.f));
1814 content_layer_->SetIsDrawable(true); 1832 content_layer_->SetIsDrawable(true);
1815 layer_tree_host()->root_layer()->AddChild(content_layer_); 1833 layer_tree_host()->root_layer()->AddChild(content_layer_);
1816 1834
1817 PostSetNeedsCommitToMainThread(); 1835 PostSetNeedsCommitToMainThread();
1818 } 1836 }
1819 1837
1820 virtual void DidCommitAndDrawFrame() OVERRIDE { 1838 virtual void DidCommit() OVERRIDE {
1821 if (num_draw_layers_ == 2) 1839 if (num_draw_layers_ == 2)
1822 return; 1840 return;
1823 content_layer_->SetNeedsDisplay(); 1841 content_layer_->SetNeedsDisplay();
1824 } 1842 }
1825 1843
1826 virtual void CommitCompleteOnThread(LayerTreeHostImpl* impl) OVERRIDE { 1844 virtual void CommitCompleteOnThread(LayerTreeHostImpl* impl) OVERRIDE {
1827 if (num_draw_layers_ == 1) 1845 if (num_draw_layers_ == 1)
1828 num_commit_complete_++; 1846 num_commit_complete_++;
1829 } 1847 }
1830 1848
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
2206 settings->begin_frame_scheduling_enabled = true; 2224 settings->begin_frame_scheduling_enabled = true;
2207 settings->using_synchronous_renderer_compositor = true; 2225 settings->using_synchronous_renderer_compositor = true;
2208 } 2226 }
2209 2227
2210 virtual void BeginTest() OVERRIDE { PostSetNeedsCommitToMainThread(); } 2228 virtual void BeginTest() OVERRIDE { PostSetNeedsCommitToMainThread(); }
2211 2229
2212 virtual void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) OVERRIDE { 2230 virtual void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) OVERRIDE {
2213 // The BeginFrame notification is turned off now but will get enabled 2231 // The BeginFrame notification is turned off now but will get enabled
2214 // once we return. End test while it's enabled. 2232 // once we return. End test while it's enabled.
2215 ImplThreadTaskRunner()->PostTask( 2233 ImplThreadTaskRunner()->PostTask(
2216 FROM_HERE, 2234 FROM_HERE, base::Bind(
2217 base::Bind(&LayerTreeHostTestBeginFrameNotification::EndTest, 2235 &LayerTreeHostTestBeginFrameNotificationShutdownWhileEnabled::EndTest,
2218 base::Unretained(this))); 2236 base::Unretained(this)));
2219 } 2237 }
2220 2238
2221 virtual void AfterTest() OVERRIDE {} 2239 virtual void AfterTest() OVERRIDE {}
2222 }; 2240 };
2223 2241
2224 MULTI_THREAD_TEST_F( 2242 MULTI_THREAD_TEST_F(
2225 LayerTreeHostTestBeginFrameNotificationShutdownWhileEnabled); 2243 LayerTreeHostTestBeginFrameNotificationShutdownWhileEnabled);
2226 2244
2227 class LayerTreeHostTestUninvertibleTransformDoesNotBlockActivation 2245 class LayerTreeHostTestUninvertibleTransformDoesNotBlockActivation
2228 : public LayerTreeHostTest { 2246 : public LayerTreeHostTest {
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
2460 root->AddChild(child); 2478 root->AddChild(child);
2461 2479
2462 layer_tree_host()->SetRootLayer(root); 2480 layer_tree_host()->SetRootLayer(root);
2463 LayerTreeHostTest::SetupTree(); 2481 LayerTreeHostTest::SetupTree();
2464 } 2482 }
2465 2483
2466 virtual void BeginTest() OVERRIDE { 2484 virtual void BeginTest() OVERRIDE {
2467 PostSetNeedsCommitToMainThread(); 2485 PostSetNeedsCommitToMainThread();
2468 } 2486 }
2469 2487
2470 virtual void DidCommitAndDrawFrame() OVERRIDE { 2488 virtual void DidCommit() OVERRIDE {
2471 WaitForCallback(); 2489 WaitForCallback();
2472 } 2490 }
2473 2491
2474 void WaitForCallback() { 2492 void WaitForCallback() {
2475 base::MessageLoop::current()->PostTask( 2493 base::MessageLoop::current()->PostTask(
2476 FROM_HERE, 2494 FROM_HERE,
2477 base::Bind( 2495 base::Bind(
2478 &LayerTreeHostTestAsyncReadback::NextStep, 2496 &LayerTreeHostTestAsyncReadback::NextStep,
2479 base::Unretained(this))); 2497 base::Unretained(this)));
2480 } 2498 }
(...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after
3002 layer_tree_host()->SetNeedsRedraw(); 3020 layer_tree_host()->SetNeedsRedraw();
3003 break; 3021 break;
3004 case 3: 3022 case 3:
3005 // CompositeAndReadback in Round 4, first commit. 3023 // CompositeAndReadback in Round 4, first commit.
3006 EXPECT_EQ(2, frame_); 3024 EXPECT_EQ(2, frame_);
3007 break; 3025 break;
3008 case 4: 3026 case 4:
3009 // Round 4 done. 3027 // Round 4 done.
3010 EXPECT_EQ(2, frame_); 3028 EXPECT_EQ(2, frame_);
3011 layer_tree_host()->SetNeedsCommit(); 3029 layer_tree_host()->SetNeedsCommit();
3030 // We cant SetNeedsRedraw immediately because it will race the commit.
3031 break;
3032 case 5:
3033 EXPECT_EQ(2, frame_);
3012 layer_tree_host()->SetNeedsRedraw(); 3034 layer_tree_host()->SetNeedsRedraw();
3013 break; 3035 break;
3014 } 3036 }
3015 } 3037 }
3016 3038
3017 virtual void DidCompleteSwapBuffers() OVERRIDE { 3039 virtual void DidCompleteSwapBuffers() OVERRIDE {
3018 int commit = layer_tree_host()->source_frame_number(); 3040 int commit = layer_tree_host()->source_frame_number();
3019 ++frame_; 3041 ++frame_;
3020 char pixels[4] = {0}; 3042 char pixels[4] = {0};
3021 switch (frame_) { 3043 switch (frame_) {
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after
3316 root_->AddChild(child2_); 3338 root_->AddChild(child2_);
3317 child_->AddChild(grandchild_); 3339 child_->AddChild(grandchild_);
3318 child2_->AddChild(leaf_scrollbar_layer_); 3340 child2_->AddChild(leaf_scrollbar_layer_);
3319 3341
3320 other_root_ = PushPropertiesCountingLayer::Create(); 3342 other_root_ = PushPropertiesCountingLayer::Create();
3321 3343
3322 // Don't set the root layer here. 3344 // Don't set the root layer here.
3323 LayerTreeHostTest::SetupTree(); 3345 LayerTreeHostTest::SetupTree();
3324 } 3346 }
3325 3347
3326 virtual void DidCommitAndDrawFrame() OVERRIDE { 3348 virtual void DidCommit() OVERRIDE {
3327 ++num_commits_; 3349 ++num_commits_;
3328 3350
3329 EXPECT_EQ(expected_push_properties_root_, root_->push_properties_count()); 3351 EXPECT_EQ(expected_push_properties_root_, root_->push_properties_count());
3330 EXPECT_EQ(expected_push_properties_child_, child_->push_properties_count()); 3352 EXPECT_EQ(expected_push_properties_child_, child_->push_properties_count());
3331 EXPECT_EQ(expected_push_properties_grandchild_, 3353 EXPECT_EQ(expected_push_properties_grandchild_,
3332 grandchild_->push_properties_count()); 3354 grandchild_->push_properties_count());
3333 EXPECT_EQ(expected_push_properties_child2_, 3355 EXPECT_EQ(expected_push_properties_child2_,
3334 child2_->push_properties_count()); 3356 child2_->push_properties_count());
3335 EXPECT_EQ(expected_push_properties_other_root_, 3357 EXPECT_EQ(expected_push_properties_other_root_,
3336 other_root_->push_properties_count()); 3358 other_root_->push_properties_count());
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
3498 bool has_thumb = false; 3520 bool has_thumb = false;
3499 scrollbar_layer_ = 3521 scrollbar_layer_ =
3500 FakeScrollbarLayer::Create(paint_scrollbar, has_thumb, root_->id()); 3522 FakeScrollbarLayer::Create(paint_scrollbar, has_thumb, root_->id());
3501 3523
3502 root_->AddChild(scrollbar_layer_); 3524 root_->AddChild(scrollbar_layer_);
3503 3525
3504 layer_tree_host()->SetRootLayer(root_); 3526 layer_tree_host()->SetRootLayer(root_);
3505 LayerTreeHostTest::SetupTree(); 3527 LayerTreeHostTest::SetupTree();
3506 } 3528 }
3507 3529
3508 virtual void DidCommitAndDrawFrame() OVERRIDE { 3530 virtual void DidCommit() OVERRIDE {
3509 switch (layer_tree_host()->source_frame_number()) { 3531 switch (layer_tree_host()->source_frame_number()) {
3510 case 0: 3532 case 0:
3511 break; 3533 break;
3512 case 1: { 3534 case 1: {
3513 // During update, the ignore_set_needs_commit_ bit is set to true to 3535 // During update, the ignore_set_needs_commit_ bit is set to true to
3514 // avoid causing a second commit to be scheduled. If a property change 3536 // avoid causing a second commit to be scheduled. If a property change
3515 // is made during this, however, it needs to be pushed in the upcoming 3537 // is made during this, however, it needs to be pushed in the upcoming
3516 // commit. 3538 // commit.
3517 scoped_ptr<base::AutoReset<bool> > ignore = 3539 scoped_ptr<base::AutoReset<bool> > ignore =
3518 scrollbar_layer_->IgnoreSetNeedsCommit(); 3540 scrollbar_layer_->IgnoreSetNeedsCommit();
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
3581 size_t expected_push_properties_root_; 3603 size_t expected_push_properties_root_;
3582 size_t expected_push_properties_child_; 3604 size_t expected_push_properties_child_;
3583 size_t expected_push_properties_grandchild1_; 3605 size_t expected_push_properties_grandchild1_;
3584 size_t expected_push_properties_grandchild2_; 3606 size_t expected_push_properties_grandchild2_;
3585 size_t expected_push_properties_grandchild3_; 3607 size_t expected_push_properties_grandchild3_;
3586 }; 3608 };
3587 3609
3588 class LayerTreeHostTestPushPropertiesAddingToTreeRequiresPush 3610 class LayerTreeHostTestPushPropertiesAddingToTreeRequiresPush
3589 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { 3611 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren {
3590 protected: 3612 protected:
3591 virtual void DidCommitAndDrawFrame() OVERRIDE { 3613 virtual void DidCommit() OVERRIDE {
3592 int last_source_frame_number = layer_tree_host()->source_frame_number() - 1; 3614 int last_source_frame_number = layer_tree_host()->source_frame_number() - 1;
3593 switch (last_source_frame_number) { 3615 switch (last_source_frame_number) {
3594 case 0: 3616 case 0:
3595 EXPECT_FALSE(root_->needs_push_properties()); 3617 EXPECT_FALSE(root_->needs_push_properties());
3596 EXPECT_FALSE(root_->descendant_needs_push_properties()); 3618 EXPECT_FALSE(root_->descendant_needs_push_properties());
3597 EXPECT_FALSE(child_->needs_push_properties()); 3619 EXPECT_FALSE(child_->needs_push_properties());
3598 EXPECT_FALSE(child_->descendant_needs_push_properties()); 3620 EXPECT_FALSE(child_->descendant_needs_push_properties());
3599 EXPECT_FALSE(grandchild1_->needs_push_properties()); 3621 EXPECT_FALSE(grandchild1_->needs_push_properties());
3600 EXPECT_FALSE(grandchild1_->descendant_needs_push_properties()); 3622 EXPECT_FALSE(grandchild1_->descendant_needs_push_properties());
3601 EXPECT_FALSE(grandchild2_->needs_push_properties()); 3623 EXPECT_FALSE(grandchild2_->needs_push_properties());
(...skipping 19 matching lines...) Expand all
3621 break; 3643 break;
3622 } 3644 }
3623 } 3645 }
3624 }; 3646 };
3625 3647
3626 MULTI_THREAD_TEST_F(LayerTreeHostTestPushPropertiesAddingToTreeRequiresPush); 3648 MULTI_THREAD_TEST_F(LayerTreeHostTestPushPropertiesAddingToTreeRequiresPush);
3627 3649
3628 class LayerTreeHostTestPushPropertiesRemovingChildStopsRecursion 3650 class LayerTreeHostTestPushPropertiesRemovingChildStopsRecursion
3629 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { 3651 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren {
3630 protected: 3652 protected:
3631 virtual void DidCommitAndDrawFrame() OVERRIDE { 3653 virtual void DidCommit() OVERRIDE {
3632 int last_source_frame_number = layer_tree_host()->source_frame_number() - 1; 3654 int last_source_frame_number = layer_tree_host()->source_frame_number() - 1;
3633 switch (last_source_frame_number) { 3655 switch (last_source_frame_number) {
3634 case 0: 3656 case 0:
3635 layer_tree_host()->SetRootLayer(root_); 3657 layer_tree_host()->SetRootLayer(root_);
3636 break; 3658 break;
3637 case 1: 3659 case 1:
3638 EXPECT_FALSE(root_->needs_push_properties()); 3660 EXPECT_FALSE(root_->needs_push_properties());
3639 EXPECT_FALSE(root_->descendant_needs_push_properties()); 3661 EXPECT_FALSE(root_->descendant_needs_push_properties());
3640 EXPECT_FALSE(child_->needs_push_properties()); 3662 EXPECT_FALSE(child_->needs_push_properties());
3641 EXPECT_FALSE(child_->descendant_needs_push_properties()); 3663 EXPECT_FALSE(child_->descendant_needs_push_properties());
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
3704 break; 3726 break;
3705 } 3727 }
3706 } 3728 }
3707 }; 3729 };
3708 3730
3709 MULTI_THREAD_TEST_F(LayerTreeHostTestPushPropertiesRemovingChildStopsRecursion); 3731 MULTI_THREAD_TEST_F(LayerTreeHostTestPushPropertiesRemovingChildStopsRecursion);
3710 3732
3711 class LayerTreeHostTestPushPropertiesRemovingChildStopsRecursionWithPersistence 3733 class LayerTreeHostTestPushPropertiesRemovingChildStopsRecursionWithPersistence
3712 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { 3734 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren {
3713 protected: 3735 protected:
3714 virtual void DidCommitAndDrawFrame() OVERRIDE { 3736 virtual void DidCommit() OVERRIDE {
3715 int last_source_frame_number = layer_tree_host()->source_frame_number() - 1; 3737 int last_source_frame_number = layer_tree_host()->source_frame_number() - 1;
3716 switch (last_source_frame_number) { 3738 switch (last_source_frame_number) {
3717 case 0: 3739 case 0:
3718 layer_tree_host()->SetRootLayer(root_); 3740 layer_tree_host()->SetRootLayer(root_);
3719 grandchild1_->set_persist_needs_push_properties(true); 3741 grandchild1_->set_persist_needs_push_properties(true);
3720 grandchild2_->set_persist_needs_push_properties(true); 3742 grandchild2_->set_persist_needs_push_properties(true);
3721 break; 3743 break;
3722 case 1: 3744 case 1:
3723 EXPECT_FALSE(root_->needs_push_properties()); 3745 EXPECT_FALSE(root_->needs_push_properties());
3724 EXPECT_TRUE(root_->descendant_needs_push_properties()); 3746 EXPECT_TRUE(root_->descendant_needs_push_properties());
(...skipping 27 matching lines...) Expand all
3752 } 3774 }
3753 } 3775 }
3754 }; 3776 };
3755 3777
3756 MULTI_THREAD_TEST_F( 3778 MULTI_THREAD_TEST_F(
3757 LayerTreeHostTestPushPropertiesRemovingChildStopsRecursionWithPersistence); 3779 LayerTreeHostTestPushPropertiesRemovingChildStopsRecursionWithPersistence);
3758 3780
3759 class LayerTreeHostTestPushPropertiesSetPropertiesWhileOutsideTree 3781 class LayerTreeHostTestPushPropertiesSetPropertiesWhileOutsideTree
3760 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { 3782 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren {
3761 protected: 3783 protected:
3762 virtual void DidCommitAndDrawFrame() OVERRIDE { 3784 virtual void DidCommit() OVERRIDE {
3763 int last_source_frame_number = layer_tree_host()->source_frame_number() - 1; 3785 int last_source_frame_number = layer_tree_host()->source_frame_number() - 1;
3764 switch (last_source_frame_number) { 3786 switch (last_source_frame_number) {
3765 case 0: 3787 case 0:
3766 layer_tree_host()->SetRootLayer(root_); 3788 layer_tree_host()->SetRootLayer(root_);
3767 break; 3789 break;
3768 case 1: 3790 case 1:
3769 EXPECT_FALSE(root_->needs_push_properties()); 3791 EXPECT_FALSE(root_->needs_push_properties());
3770 EXPECT_FALSE(root_->descendant_needs_push_properties()); 3792 EXPECT_FALSE(root_->descendant_needs_push_properties());
3771 EXPECT_FALSE(child_->needs_push_properties()); 3793 EXPECT_FALSE(child_->needs_push_properties());
3772 EXPECT_FALSE(child_->descendant_needs_push_properties()); 3794 EXPECT_FALSE(child_->descendant_needs_push_properties());
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
3820 } 3842 }
3821 } 3843 }
3822 }; 3844 };
3823 3845
3824 MULTI_THREAD_TEST_F( 3846 MULTI_THREAD_TEST_F(
3825 LayerTreeHostTestPushPropertiesSetPropertiesWhileOutsideTree); 3847 LayerTreeHostTestPushPropertiesSetPropertiesWhileOutsideTree);
3826 3848
3827 class LayerTreeHostTestPushPropertiesSetPropertyInParentThenChild 3849 class LayerTreeHostTestPushPropertiesSetPropertyInParentThenChild
3828 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { 3850 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren {
3829 protected: 3851 protected:
3830 virtual void DidCommitAndDrawFrame() OVERRIDE { 3852 virtual void DidCommit() OVERRIDE {
3831 int last_source_frame_number = layer_tree_host()->source_frame_number() - 1; 3853 int last_source_frame_number = layer_tree_host()->source_frame_number() - 1;
3832 switch (last_source_frame_number) { 3854 switch (last_source_frame_number) {
3833 case 0: 3855 case 0:
3834 layer_tree_host()->SetRootLayer(root_); 3856 layer_tree_host()->SetRootLayer(root_);
3835 break; 3857 break;
3836 case 1: 3858 case 1:
3837 EXPECT_FALSE(root_->needs_push_properties()); 3859 EXPECT_FALSE(root_->needs_push_properties());
3838 EXPECT_FALSE(root_->descendant_needs_push_properties()); 3860 EXPECT_FALSE(root_->descendant_needs_push_properties());
3839 EXPECT_FALSE(child_->needs_push_properties()); 3861 EXPECT_FALSE(child_->needs_push_properties());
3840 EXPECT_FALSE(child_->descendant_needs_push_properties()); 3862 EXPECT_FALSE(child_->descendant_needs_push_properties());
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
3884 } 3906 }
3885 } 3907 }
3886 }; 3908 };
3887 3909
3888 MULTI_THREAD_TEST_F( 3910 MULTI_THREAD_TEST_F(
3889 LayerTreeHostTestPushPropertiesSetPropertyInParentThenChild); 3911 LayerTreeHostTestPushPropertiesSetPropertyInParentThenChild);
3890 3912
3891 class LayerTreeHostTestPushPropertiesSetPropertyInChildThenParent 3913 class LayerTreeHostTestPushPropertiesSetPropertyInChildThenParent
3892 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren { 3914 : public LayerTreeHostTestCasePushPropertiesThreeGrandChildren {
3893 protected: 3915 protected:
3894 virtual void DidCommitAndDrawFrame() OVERRIDE { 3916 virtual void DidCommit() OVERRIDE {
3895 int last_source_frame_number = layer_tree_host()->source_frame_number() - 1; 3917 int last_source_frame_number = layer_tree_host()->source_frame_number() - 1;
3896 switch (last_source_frame_number) { 3918 switch (last_source_frame_number) {
3897 case 0: 3919 case 0:
3898 layer_tree_host()->SetRootLayer(root_); 3920 layer_tree_host()->SetRootLayer(root_);
3899 break; 3921 break;
3900 case 1: 3922 case 1:
3901 EXPECT_FALSE(root_->needs_push_properties()); 3923 EXPECT_FALSE(root_->needs_push_properties());
3902 EXPECT_FALSE(root_->descendant_needs_push_properties()); 3924 EXPECT_FALSE(root_->descendant_needs_push_properties());
3903 EXPECT_FALSE(child_->needs_push_properties()); 3925 EXPECT_FALSE(child_->needs_push_properties());
3904 EXPECT_FALSE(child_->descendant_needs_push_properties()); 3926 EXPECT_FALSE(child_->descendant_needs_push_properties());
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
4016 TEST_F(LayerTreeHostTestTreeActivationCallback, DirectRenderer) { 4038 TEST_F(LayerTreeHostTestTreeActivationCallback, DirectRenderer) {
4017 RunTest(true, false, true); 4039 RunTest(true, false, true);
4018 } 4040 }
4019 4041
4020 TEST_F(LayerTreeHostTestTreeActivationCallback, DelegatingRenderer) { 4042 TEST_F(LayerTreeHostTestTreeActivationCallback, DelegatingRenderer) {
4021 RunTest(true, true, true); 4043 RunTest(true, true, true);
4022 } 4044 }
4023 4045
4024 } // namespace 4046 } // namespace
4025 } // namespace cc 4047 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698