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

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

Issue 373113003: Keeping track of descendants that draw content instead of recalcualting (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
« no previous file with comments | « cc/trees/layer_tree_host_common_unittest.cc ('k') | cc/trees/layer_tree_host_unittest.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 1827 matching lines...) Expand 10 before | Expand all | Expand 10 after
1838 static_cast<DidDrawCheckLayer*>(layer1->children()[0]); 1838 static_cast<DidDrawCheckLayer*>(layer1->children()[0]);
1839 1839
1840 layer1->SetOpacity(0.3f); 1840 layer1->SetOpacity(0.3f);
1841 layer1->SetShouldFlattenTransform(true); 1841 layer1->SetShouldFlattenTransform(true);
1842 1842
1843 EXPECT_FALSE(root->did_draw_called()); 1843 EXPECT_FALSE(root->did_draw_called());
1844 EXPECT_FALSE(layer1->did_draw_called()); 1844 EXPECT_FALSE(layer1->did_draw_called());
1845 EXPECT_FALSE(layer2->did_draw_called()); 1845 EXPECT_FALSE(layer2->did_draw_called());
1846 1846
1847 LayerTreeHostImpl::FrameData frame; 1847 LayerTreeHostImpl::FrameData frame;
1848 FakeLayerTreeHostImpl::RecursiveUpdateNumChildren(
1849 host_impl_->active_tree()->root_layer());
1848 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1850 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1849 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 1851 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now());
1850 host_impl_->DidDrawAllLayers(frame); 1852 host_impl_->DidDrawAllLayers(frame);
1851 1853
1852 EXPECT_TRUE(root->did_draw_called()); 1854 EXPECT_TRUE(root->did_draw_called());
1853 EXPECT_TRUE(layer1->did_draw_called()); 1855 EXPECT_TRUE(layer1->did_draw_called());
1854 EXPECT_TRUE(layer2->did_draw_called()); 1856 EXPECT_TRUE(layer2->did_draw_called());
1855 1857
1856 EXPECT_NE(root->render_surface(), layer1->render_surface()); 1858 EXPECT_NE(root->render_surface(), layer1->render_surface());
1857 EXPECT_TRUE(!!layer1->render_surface()); 1859 EXPECT_TRUE(!!layer1->render_surface());
(...skipping 1813 matching lines...) Expand 10 before | Expand all | Expand 10 after
3671 // drawing child, it's drawn to a render surface which carries the opacity, 3673 // drawing child, it's drawn to a render surface which carries the opacity,
3672 // so it's itself drawn without blending. 3674 // so it's itself drawn without blending.
3673 // Child layer with opaque content, drawn without blending (parent surface 3675 // Child layer with opaque content, drawn without blending (parent surface
3674 // carries the inherited opacity). 3676 // carries the inherited opacity).
3675 layer1->SetContentsOpaque(true); 3677 layer1->SetContentsOpaque(true);
3676 layer1->SetOpacity(0.5f); 3678 layer1->SetOpacity(0.5f);
3677 layer1->SetExpectation(false, true); 3679 layer1->SetExpectation(false, true);
3678 layer1->SetUpdateRect(gfx::RectF(layer1->content_bounds())); 3680 layer1->SetUpdateRect(gfx::RectF(layer1->content_bounds()));
3679 layer2->SetExpectation(false, false); 3681 layer2->SetExpectation(false, false);
3680 layer2->SetUpdateRect(gfx::RectF(layer1->content_bounds())); 3682 layer2->SetUpdateRect(gfx::RectF(layer1->content_bounds()));
3683 FakeLayerTreeHostImpl::RecursiveUpdateNumChildren(
3684 host_impl_->active_tree()->root_layer());
3681 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 3685 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
3682 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); 3686 host_impl_->DrawLayers(&frame, gfx::FrameTime::Now());
3683 EXPECT_TRUE(layer1->quads_appended()); 3687 EXPECT_TRUE(layer1->quads_appended());
3684 EXPECT_TRUE(layer2->quads_appended()); 3688 EXPECT_TRUE(layer2->quads_appended());
3685 host_impl_->DidDrawAllLayers(frame); 3689 host_impl_->DidDrawAllLayers(frame);
3686 3690
3687 // Draw again, but with child non-opaque, to make sure 3691 // Draw again, but with child non-opaque, to make sure
3688 // layer1 not culled. 3692 // layer1 not culled.
3689 layer1->SetContentsOpaque(true); 3693 layer1->SetContentsOpaque(true);
3690 layer1->SetOpacity(1.f); 3694 layer1->SetOpacity(1.f);
(...skipping 3119 matching lines...) Expand 10 before | Expand all | Expand 10 after
6810 EXPECT_EQ(1u, raw_mask_layer->did_become_active_call_count()); 6814 EXPECT_EQ(1u, raw_mask_layer->did_become_active_call_count());
6811 EXPECT_EQ(0u, raw_replica_mask_layer->did_become_active_call_count()); 6815 EXPECT_EQ(0u, raw_replica_mask_layer->did_become_active_call_count());
6812 pending_tree->DidBecomeActive(); 6816 pending_tree->DidBecomeActive();
6813 EXPECT_EQ(3u, raw_pending_layer->did_become_active_call_count()); 6817 EXPECT_EQ(3u, raw_pending_layer->did_become_active_call_count());
6814 EXPECT_EQ(2u, raw_mask_layer->did_become_active_call_count()); 6818 EXPECT_EQ(2u, raw_mask_layer->did_become_active_call_count());
6815 EXPECT_EQ(1u, raw_replica_mask_layer->did_become_active_call_count()); 6819 EXPECT_EQ(1u, raw_replica_mask_layer->did_become_active_call_count());
6816 } 6820 }
6817 6821
6818 } // namespace 6822 } // namespace
6819 } // namespace cc 6823 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_common_unittest.cc ('k') | cc/trees/layer_tree_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698