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

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: comments 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
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..9293d4f9084cf1ad8395c6dd3103844cce41adf4 100644
--- a/cc/trees/layer_tree_impl.h
+++ b/cc/trees/layer_tree_impl.h
@@ -330,6 +330,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 +364,10 @@ class CC_EXPORT LayerTreeImpl {
void AddToElementMap(LayerImpl* layer);
void RemoveFromElementMap(LayerImpl* layer);
+ void SetSurfaceLayerIds(const std::vector<SurfaceId>& surface_layer_ids);
+ const std::vector<SurfaceId>& SurfaceLayerIds() const;
+ void ClearSurfaceLayerIds();
+
void AddLayerShouldPushProperties(LayerImpl* layer);
void RemoveLayerShouldPushProperties(LayerImpl* layer);
std::unordered_set<LayerImpl*>& LayersThatShouldPushProperties();
@@ -445,10 +454,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 +593,8 @@ class CC_EXPORT LayerTreeImpl {
element_id_to_scrollbar_layer_ids_;
std::vector<PictureLayerImpl*> picture_layers_;
- LayerImplList surface_layers_;
+
+ std::vector<SurfaceId> surface_layer_ids_;
// List of render surfaces for the most recently prepared frame.
RenderSurfaceList render_surface_list_;
@@ -603,6 +609,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_;

Powered by Google App Engine
This is Rietveld 408576698