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

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

Issue 1811423002: SubtreeShouldBeSkipped uses information from property trees (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix windows compile failure Created 4 years, 9 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/occlusion_tracker.h" 5 #include "cc/trees/occlusion_tracker.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "cc/animation/layer_animation_controller.h" 9 #include "cc/animation/layer_animation_controller.h"
10 #include "cc/base/math_util.h" 10 #include "cc/base/math_util.h"
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 98
99 TestContentLayerImpl* CreateRoot(const gfx::Transform& transform, 99 TestContentLayerImpl* CreateRoot(const gfx::Transform& transform,
100 const gfx::PointF& position, 100 const gfx::PointF& position,
101 const gfx::Size& bounds) { 101 const gfx::Size& bounds) {
102 LayerTreeImpl* tree = host_->host_impl()->active_tree(); 102 LayerTreeImpl* tree = host_->host_impl()->active_tree();
103 int id = next_layer_impl_id_++; 103 int id = next_layer_impl_id_++;
104 scoped_ptr<TestContentLayerImpl> layer(new TestContentLayerImpl(tree, id)); 104 scoped_ptr<TestContentLayerImpl> layer(new TestContentLayerImpl(tree, id));
105 TestContentLayerImpl* layer_ptr = layer.get(); 105 TestContentLayerImpl* layer_ptr = layer.get();
106 SetProperties(layer_ptr, transform, position, bounds); 106 SetProperties(layer_ptr, transform, position, bounds);
107 107
108 host_->host_impl()->active_tree()->SetRootLayer(std::move(layer)); 108 root_ = layer.get();
ajuma 2016/03/24 15:12:00 Are the changes in this file needed? In particular
sunxd 2016/03/29 14:26:34 Done.
109 109
110 layer_ptr->SetForceRenderSurface(true); 110 layer_ptr->SetForceRenderSurface(true);
111 SetRootLayerOnMainThread(layer_ptr); 111 SetRootLayerOnMainThread(layer_ptr);
112 tree->SetRootLayer(std::move(layer));
112 113
113 return layer_ptr; 114 return layer_ptr;
114 } 115 }
115 116
116 LayerImpl* CreateLayer(LayerImpl* parent, 117 LayerImpl* CreateLayer(LayerImpl* parent,
117 const gfx::Transform& transform, 118 const gfx::Transform& transform,
118 const gfx::PointF& position, 119 const gfx::PointF& position,
119 const gfx::Size& bounds) { 120 const gfx::Size& bounds) {
120 LayerTreeImpl* tree = host_->host_impl()->active_tree(); 121 LayerTreeImpl* tree = host_->host_impl()->active_tree();
121 int id = next_layer_impl_id_++; 122 int id = next_layer_impl_id_++;
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 } 212 }
212 213
213 void AddCopyRequest(LayerImpl* layer) { 214 void AddCopyRequest(LayerImpl* layer) {
214 std::vector<scoped_ptr<CopyOutputRequest>> requests; 215 std::vector<scoped_ptr<CopyOutputRequest>> requests;
215 requests.push_back(CopyOutputRequest::CreateBitmapRequest(base::Bind( 216 requests.push_back(CopyOutputRequest::CreateBitmapRequest(base::Bind(
216 &OcclusionTrackerTest::CopyOutputCallback, base::Unretained(this)))); 217 &OcclusionTrackerTest::CopyOutputCallback, base::Unretained(this))));
217 layer->PassCopyRequests(&requests); 218 layer->PassCopyRequests(&requests);
218 } 219 }
219 220
220 void CalcDrawEtc(TestContentLayerImpl* root) { 221 void CalcDrawEtc(TestContentLayerImpl* root) {
221 DCHECK(root == root->layer_tree_impl()->root_layer()); 222 DCHECK(root == root_);
222 223
223 // These occlusion tests attach and detach layers in multiple 224 // These occlusion tests attach and detach layers in multiple
224 // iterations, so rebuild property trees every time. 225 // iterations, so rebuild property trees every time.
225 root->layer_tree_impl()->property_trees()->needs_rebuild = true; 226 root->layer_tree_impl()->property_trees()->needs_rebuild = true;
226 227
227 FakeLayerTreeHostImpl::RecursiveUpdateNumChildren(root); 228 FakeLayerTreeHostImpl::RecursiveUpdateNumChildren(root);
228 229
229 root->layer_tree_impl()->IncrementRenderSurfaceListIdForTesting(); 230 root->layer_tree_impl()->IncrementRenderSurfaceListIdForTesting();
230 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs( 231 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
231 root, root->bounds(), &render_surface_layer_list_impl_, 232 root, root->bounds(), &render_surface_layer_list_impl_,
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 304
304 void SetMask(LayerImpl* owning_layer, scoped_ptr<LayerImpl> layer) { 305 void SetMask(LayerImpl* owning_layer, scoped_ptr<LayerImpl> layer) {
305 owning_layer->SetMaskLayer(std::move(layer)); 306 owning_layer->SetMaskLayer(std::move(layer));
306 } 307 }
307 308
308 bool opaque_layers_; 309 bool opaque_layers_;
309 FakeLayerTreeHostClient client_; 310 FakeLayerTreeHostClient client_;
310 TestTaskGraphRunner task_graph_runner_; 311 TestTaskGraphRunner task_graph_runner_;
311 scoped_ptr<FakeLayerTreeHost> host_; 312 scoped_ptr<FakeLayerTreeHost> host_;
312 // These hold ownership of the layers for the duration of the test. 313 // These hold ownership of the layers for the duration of the test.
314 LayerImpl* root_;
313 LayerImplList render_surface_layer_list_impl_; 315 LayerImplList render_surface_layer_list_impl_;
314 LayerIterator layer_iterator_begin_; 316 LayerIterator layer_iterator_begin_;
315 LayerIterator layer_iterator_; 317 LayerIterator layer_iterator_;
316 LayerList replica_layers_; 318 LayerList replica_layers_;
317 LayerList mask_layers_; 319 LayerList mask_layers_;
318 int next_layer_impl_id_; 320 int next_layer_impl_id_;
319 }; 321 };
320 322
321 #define RUN_TEST_IMPL_THREAD_OPAQUE_LAYERS(ClassName) \ 323 #define RUN_TEST_IMPL_THREAD_OPAQUE_LAYERS(ClassName) \
322 class ClassName##ImplThreadOpaqueLayers : public ClassName { \ 324 class ClassName##ImplThreadOpaqueLayers : public ClassName { \
(...skipping 2188 matching lines...) Expand 10 before | Expand all | Expand 10 after
2511 EXPECT_EQ(gfx::Rect(), 2513 EXPECT_EQ(gfx::Rect(),
2512 occlusion.UnoccludedSurfaceContentRect( 2514 occlusion.UnoccludedSurfaceContentRect(
2513 surface, gfx::Rect(80, 70, 50, 50))); 2515 surface, gfx::Rect(80, 70, 50, 50)));
2514 } 2516 }
2515 }; 2517 };
2516 2518
2517 ALL_OCCLUSIONTRACKER_TEST(OcclusionTrackerTestUnoccludedSurfaceQuery) 2519 ALL_OCCLUSIONTRACKER_TEST(OcclusionTrackerTestUnoccludedSurfaceQuery)
2518 2520
2519 } // namespace 2521 } // namespace
2520 } // namespace cc 2522 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698