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

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

Powered by Google App Engine
This is Rietveld 408576698