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

Side by Side Diff: cc/trees/layer_tree_impl.h

Issue 2846653002: cc : Stop pushing layers from hidden subtrees at commit
Patch Set: fix cc_unittests after rebase Created 3 years, 7 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 #ifndef CC_TREES_LAYER_TREE_IMPL_H_ 5 #ifndef CC_TREES_LAYER_TREE_IMPL_H_
6 #define CC_TREES_LAYER_TREE_IMPL_H_ 6 #define CC_TREES_LAYER_TREE_IMPL_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 LayerImpl* LayerById(int id) const; 339 LayerImpl* LayerById(int id) const;
340 340
341 int LayerIdByElementId(ElementId element_id) const; 341 int LayerIdByElementId(ElementId element_id) const;
342 // TODO(jaydasika): this is deprecated. It is used by 342 // TODO(jaydasika): this is deprecated. It is used by
343 // animation/compositor-worker to look up layers to mutate, but in future, we 343 // animation/compositor-worker to look up layers to mutate, but in future, we
344 // will update property trees. 344 // will update property trees.
345 LayerImpl* LayerByElementId(ElementId element_id) const; 345 LayerImpl* LayerByElementId(ElementId element_id) const;
346 void AddToElementMap(LayerImpl* layer); 346 void AddToElementMap(LayerImpl* layer);
347 void RemoveFromElementMap(LayerImpl* layer); 347 void RemoveFromElementMap(LayerImpl* layer);
348 348
349 using SurfaceIdsList = std::vector<const SurfaceId*>;
350 void SetHiddenSurfaceLayerIds(const SurfaceIdsList* hidden_surface_layer_ids);
351 const SurfaceIdsList* HiddenSurfaceLayerIds() const;
352 void ClearHiddenSurfaceLayerIds();
353
349 void AddLayerShouldPushProperties(LayerImpl* layer); 354 void AddLayerShouldPushProperties(LayerImpl* layer);
350 void RemoveLayerShouldPushProperties(LayerImpl* layer); 355 void RemoveLayerShouldPushProperties(LayerImpl* layer);
351 std::unordered_set<LayerImpl*>& LayersThatShouldPushProperties(); 356 std::unordered_set<LayerImpl*>& LayersThatShouldPushProperties();
352 bool LayerNeedsPushPropertiesForTesting(LayerImpl* layer); 357 bool LayerNeedsPushPropertiesForTesting(LayerImpl* layer);
353 358
354 // These should be called by LayerImpl's ctor/dtor. 359 // These should be called by LayerImpl's ctor/dtor.
355 void RegisterLayer(LayerImpl* layer); 360 void RegisterLayer(LayerImpl* layer);
356 void UnregisterLayer(LayerImpl* layer); 361 void UnregisterLayer(LayerImpl* layer);
357 362
358 // These manage ownership of the LayerImpl. 363 // These manage ownership of the LayerImpl.
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
572 std::unordered_map<int, int> clip_scroll_map_; 577 std::unordered_map<int, int> clip_scroll_map_;
573 578
574 // Maps scroll element ids to scrollbar layer ids. For each scroll layer, 579 // Maps scroll element ids to scrollbar layer ids. For each scroll layer,
575 // there may be 1 or 2 scrollbar layers (for vertical and horizontal). (This 580 // there may be 1 or 2 scrollbar layers (for vertical and horizontal). (This
576 // is derived from ScrollbarLayerImplBase::scroll_element_id_ and exists to 581 // is derived from ScrollbarLayerImplBase::scroll_element_id_ and exists to
577 // avoid O(n) walks.) 582 // avoid O(n) walks.)
578 // TODO(pdr): Refactor this to be more efficient--likely a map where the value 583 // TODO(pdr): Refactor this to be more efficient--likely a map where the value
579 // is a pair of scrollbar layer ids instead of using a multimap. 584 // is a pair of scrollbar layer ids instead of using a multimap.
580 std::multimap<ElementId, int> element_id_to_scrollbar_layer_ids_; 585 std::multimap<ElementId, int> element_id_to_scrollbar_layer_ids_;
581 586
587 SurfaceIdsList hidden_surface_layer_ids_;
588
582 std::vector<PictureLayerImpl*> picture_layers_; 589 std::vector<PictureLayerImpl*> picture_layers_;
583 LayerImplList surface_layers_; 590 LayerImplList surface_layers_;
584 591
585 // List of render surfaces for the most recently prepared frame. 592 // List of render surfaces for the most recently prepared frame.
586 RenderSurfaceList render_surface_list_; 593 RenderSurfaceList render_surface_list_;
587 // After drawing the |render_surface_list_| the areas in this region 594 // After drawing the |render_surface_list_| the areas in this region
588 // would not be fully covered by opaque content. 595 // would not be fully covered by opaque content.
589 Region unoccluded_screen_space_region_; 596 Region unoccluded_screen_space_region_;
590 597
591 bool viewport_size_invalid_; 598 bool viewport_size_invalid_;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 // lifecycle states. See: |LayerTreeLifecycle|. 633 // lifecycle states. See: |LayerTreeLifecycle|.
627 LayerTreeLifecycle lifecycle_; 634 LayerTreeLifecycle lifecycle_;
628 635
629 private: 636 private:
630 DISALLOW_COPY_AND_ASSIGN(LayerTreeImpl); 637 DISALLOW_COPY_AND_ASSIGN(LayerTreeImpl);
631 }; 638 };
632 639
633 } // namespace cc 640 } // namespace cc
634 641
635 #endif // CC_TREES_LAYER_TREE_IMPL_H_ 642 #endif // CC_TREES_LAYER_TREE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698