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

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

Issue 2846653002: cc : Stop pushing layers from hidden subtrees at commit
Patch Set: . 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 341 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 LayerImpl* LayerById(int id) const; 352 LayerImpl* LayerById(int id) const;
353 353
354 int LayerIdByElementId(ElementId element_id) const; 354 int LayerIdByElementId(ElementId element_id) const;
355 // TODO(jaydasika): this is deprecated. It is used by 355 // TODO(jaydasika): this is deprecated. It is used by
356 // animation/compositor-worker to look up layers to mutate, but in future, we 356 // animation/compositor-worker to look up layers to mutate, but in future, we
357 // will update property trees. 357 // will update property trees.
358 LayerImpl* LayerByElementId(ElementId element_id) const; 358 LayerImpl* LayerByElementId(ElementId element_id) const;
359 void AddToElementMap(LayerImpl* layer); 359 void AddToElementMap(LayerImpl* layer);
360 void RemoveFromElementMap(LayerImpl* layer); 360 void RemoveFromElementMap(LayerImpl* layer);
361 361
362 void SetSurfaceLayerIds(const std::vector<SurfaceId>& surface_layer_ids);
363 const std::vector<SurfaceId>& SurfaceLayerIds() const;
364 void ClearSurfaceLayerIds();
365
362 void AddLayerShouldPushProperties(LayerImpl* layer); 366 void AddLayerShouldPushProperties(LayerImpl* layer);
363 void RemoveLayerShouldPushProperties(LayerImpl* layer); 367 void RemoveLayerShouldPushProperties(LayerImpl* layer);
364 std::unordered_set<LayerImpl*>& LayersThatShouldPushProperties(); 368 std::unordered_set<LayerImpl*>& LayersThatShouldPushProperties();
365 bool LayerNeedsPushPropertiesForTesting(LayerImpl* layer); 369 bool LayerNeedsPushPropertiesForTesting(LayerImpl* layer);
366 370
367 // These should be called by LayerImpl's ctor/dtor. 371 // These should be called by LayerImpl's ctor/dtor.
368 void RegisterLayer(LayerImpl* layer); 372 void RegisterLayer(LayerImpl* layer);
369 void UnregisterLayer(LayerImpl* layer); 373 void UnregisterLayer(LayerImpl* layer);
370 374
371 // These manage ownership of the LayerImpl. 375 // These manage ownership of the LayerImpl.
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 return picture_layers_; 442 return picture_layers_;
439 } 443 }
440 444
441 void RegisterScrollbar(ScrollbarLayerImplBase* scrollbar_layer); 445 void RegisterScrollbar(ScrollbarLayerImplBase* scrollbar_layer);
442 void UnregisterScrollbar(ScrollbarLayerImplBase* scrollbar_layer); 446 void UnregisterScrollbar(ScrollbarLayerImplBase* scrollbar_layer);
443 ScrollbarSet ScrollbarsFor(ElementId scroll_element_id) const; 447 ScrollbarSet ScrollbarsFor(ElementId scroll_element_id) const;
444 448
445 void RegisterScrollLayer(LayerImpl* layer); 449 void RegisterScrollLayer(LayerImpl* layer);
446 void UnregisterScrollLayer(LayerImpl* layer); 450 void UnregisterScrollLayer(LayerImpl* layer);
447 451
448 void AddSurfaceLayer(LayerImpl* layer);
449 void RemoveSurfaceLayer(LayerImpl* layer);
450 const LayerImplList& SurfaceLayers() const { return surface_layers_; }
451
452 LayerImpl* FindFirstScrollingLayerOrDrawnScrollbarThatIsHitByPoint( 452 LayerImpl* FindFirstScrollingLayerOrDrawnScrollbarThatIsHitByPoint(
453 const gfx::PointF& screen_space_point); 453 const gfx::PointF& screen_space_point);
454 454
455 LayerImpl* FindLayerThatIsHitByPoint(const gfx::PointF& screen_space_point); 455 LayerImpl* FindLayerThatIsHitByPoint(const gfx::PointF& screen_space_point);
456 456
457 LayerImpl* FindLayerThatIsHitByPointInTouchHandlerRegion( 457 LayerImpl* FindLayerThatIsHitByPointInTouchHandlerRegion(
458 const gfx::PointF& screen_space_point); 458 const gfx::PointF& screen_space_point);
459 459
460 void RegisterSelection(const LayerSelection& selection); 460 void RegisterSelection(const LayerSelection& selection);
461 461
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 580
581 struct ScrollbarLayerIds { 581 struct ScrollbarLayerIds {
582 int horizontal = Layer::INVALID_ID; 582 int horizontal = Layer::INVALID_ID;
583 int vertical = Layer::INVALID_ID; 583 int vertical = Layer::INVALID_ID;
584 }; 584 };
585 // Each scroll layer can have up to two scrollbar layers (vertical and 585 // Each scroll layer can have up to two scrollbar layers (vertical and
586 // horizontal). This mapping is maintained as part of scrollbar registration. 586 // horizontal). This mapping is maintained as part of scrollbar registration.
587 base::flat_map<ElementId, ScrollbarLayerIds> 587 base::flat_map<ElementId, ScrollbarLayerIds>
588 element_id_to_scrollbar_layer_ids_; 588 element_id_to_scrollbar_layer_ids_;
589 589
590 std::vector<SurfaceId> surface_layer_ids_;
591
590 std::vector<PictureLayerImpl*> picture_layers_; 592 std::vector<PictureLayerImpl*> picture_layers_;
591 LayerImplList surface_layers_;
592 593
593 // List of render surfaces for the most recently prepared frame. 594 // List of render surfaces for the most recently prepared frame.
594 RenderSurfaceList render_surface_list_; 595 RenderSurfaceList render_surface_list_;
595 // After drawing the |render_surface_list_| the areas in this region 596 // After drawing the |render_surface_list_| the areas in this region
596 // would not be fully covered by opaque content. 597 // would not be fully covered by opaque content.
597 Region unoccluded_screen_space_region_; 598 Region unoccluded_screen_space_region_;
598 599
599 bool viewport_size_invalid_; 600 bool viewport_size_invalid_;
600 bool needs_update_draw_properties_; 601 bool needs_update_draw_properties_;
601 602
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 // lifecycle states. See: |LayerTreeLifecycle|. 635 // lifecycle states. See: |LayerTreeLifecycle|.
635 LayerTreeLifecycle lifecycle_; 636 LayerTreeLifecycle lifecycle_;
636 637
637 private: 638 private:
638 DISALLOW_COPY_AND_ASSIGN(LayerTreeImpl); 639 DISALLOW_COPY_AND_ASSIGN(LayerTreeImpl);
639 }; 640 };
640 641
641 } // namespace cc 642 } // namespace cc
642 643
643 #endif // CC_TREES_LAYER_TREE_IMPL_H_ 644 #endif // CC_TREES_LAYER_TREE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698