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

Unified Diff: cc/trees/layer_tree_impl.h

Issue 2905533002: cc : Store surface layer ids on LayerTreeHost and push them at commit (Closed)
Patch Set: initialize 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/layer_tree_host_impl_unittest.cc ('k') | cc/trees/layer_tree_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_impl.h
diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h
index ccff3c2447bfcb393ab6ae4e38a813d4c3dec2b4..3bf4e0ada321a3d7cee5b52efc0edf253ab695db 100644
--- a/cc/trees/layer_tree_impl.h
+++ b/cc/trees/layer_tree_impl.h
@@ -168,6 +168,7 @@ class CC_EXPORT LayerTreeImpl {
void PushPropertyTreesTo(LayerTreeImpl* tree_impl);
void PushPropertiesTo(LayerTreeImpl* tree_impl);
+ void PushSurfaceIdsTo(LayerTreeImpl* tree_impl);
void MoveChangeTrackingToLayers();
@@ -330,6 +331,11 @@ class CC_EXPORT LayerTreeImpl {
void set_needs_full_tree_sync(bool needs) { needs_full_tree_sync_ = needs; }
bool needs_full_tree_sync() const { return needs_full_tree_sync_; }
+ bool needs_surface_ids_sync() const { return needs_surface_ids_sync_; }
+ void set_needs_surface_ids_sync(bool needs_surface_ids_sync) {
+ needs_surface_ids_sync_ = needs_surface_ids_sync;
+ }
+
void ForceRedrawNextActivation() { next_activation_forces_redraw_ = true; }
void set_has_ever_been_drawn(bool has_drawn) {
@@ -359,6 +365,10 @@ class CC_EXPORT LayerTreeImpl {
void AddToElementMap(LayerImpl* layer);
void RemoveFromElementMap(LayerImpl* layer);
+ void SetSurfaceLayerIds(const base::flat_set<SurfaceId>& surface_layer_ids);
+ const base::flat_set<SurfaceId>& SurfaceLayerIds() const;
+ void ClearSurfaceLayerIds();
+
void AddLayerShouldPushProperties(LayerImpl* layer);
void RemoveLayerShouldPushProperties(LayerImpl* layer);
std::unordered_set<LayerImpl*>& LayersThatShouldPushProperties();
@@ -445,10 +455,6 @@ class CC_EXPORT LayerTreeImpl {
void RegisterScrollLayer(LayerImpl* layer);
void UnregisterScrollLayer(LayerImpl* layer);
- void AddSurfaceLayer(LayerImpl* layer);
- void RemoveSurfaceLayer(LayerImpl* layer);
- const LayerImplList& SurfaceLayers() const { return surface_layers_; }
-
LayerImpl* FindFirstScrollingLayerOrDrawnScrollbarThatIsHitByPoint(
const gfx::PointF& screen_space_point);
@@ -588,7 +594,8 @@ class CC_EXPORT LayerTreeImpl {
element_id_to_scrollbar_layer_ids_;
std::vector<PictureLayerImpl*> picture_layers_;
- LayerImplList surface_layers_;
+
+ base::flat_set<SurfaceId> surface_layer_ids_;
// List of render surfaces for the most recently prepared frame.
RenderSurfaceList render_surface_list_;
@@ -603,6 +610,8 @@ class CC_EXPORT LayerTreeImpl {
// structural differences relative to the active tree.
bool needs_full_tree_sync_;
+ bool needs_surface_ids_sync_;
+
bool next_activation_forces_redraw_;
bool has_ever_been_drawn_;
« no previous file with comments | « cc/trees/layer_tree_host_impl_unittest.cc ('k') | cc/trees/layer_tree_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698