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

Side by Side Diff: cc/layers/layer.h

Issue 2755803003: cc: Remove SetNeedsCommitNoRebuild from Layer API (Closed)
Patch Set: check for LTH Created 3 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
« no previous file with comments | « no previous file | cc/layers/layer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2010 The Chromium Authors. All rights reserved. 1 // Copyright 2010 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_LAYERS_LAYER_H_ 5 #ifndef CC_LAYERS_LAYER_H_
6 #define CC_LAYERS_LAYER_H_ 6 #define CC_LAYERS_LAYER_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 return should_flatten_transform_from_property_tree_; 397 return should_flatten_transform_from_property_tree_;
398 } 398 }
399 399
400 const gfx::Rect& visible_layer_rect_for_testing() const { 400 const gfx::Rect& visible_layer_rect_for_testing() const {
401 return visible_layer_rect_; 401 return visible_layer_rect_;
402 } 402 }
403 void set_visible_layer_rect(const gfx::Rect& rect) { 403 void set_visible_layer_rect(const gfx::Rect& rect) {
404 visible_layer_rect_ = rect; 404 visible_layer_rect_ = rect;
405 } 405 }
406 406
407 // This is for tracking damage.
407 void SetSubtreePropertyChanged(); 408 void SetSubtreePropertyChanged();
408 bool subtree_property_changed() const { return subtree_property_changed_; } 409 bool subtree_property_changed() const { return subtree_property_changed_; }
409 410
410 void SetMayContainVideo(bool yes); 411 void SetMayContainVideo(bool yes);
411 412
412 int num_copy_requests_in_target_subtree(); 413 int num_copy_requests_in_target_subtree();
413 414
414 void SetElementId(ElementId id); 415 void SetElementId(ElementId id);
415 ElementId element_id() const { return inputs_.element_id; } 416 ElementId element_id() const { return inputs_.element_id; }
416 417
(...skipping 20 matching lines...) Expand all
437 return inputs_.preferred_raster_bounds; 438 return inputs_.preferred_raster_bounds;
438 } 439 }
439 void ClearPreferredRasterBounds(); 440 void ClearPreferredRasterBounds();
440 441
441 MutatorHost* GetMutatorHost() const; 442 MutatorHost* GetMutatorHost() const;
442 443
443 ElementListType GetElementTypeForAnimation() const; 444 ElementListType GetElementTypeForAnimation() const;
444 445
445 void SetScrollbarsHiddenFromImplSide(bool hidden); 446 void SetScrollbarsHiddenFromImplSide(bool hidden);
446 447
448 void set_is_scroll_clip_layer() { is_scroll_clip_layer_ = true; }
449
447 const gfx::Rect& update_rect() const { return inputs_.update_rect; } 450 const gfx::Rect& update_rect() const { return inputs_.update_rect; }
448 451
449 LayerTreeHost* layer_tree_host() const { return layer_tree_host_; } 452 LayerTreeHost* layer_tree_host() const { return layer_tree_host_; }
450 453
451 protected: 454 protected:
452 friend class LayerImpl; 455 friend class LayerImpl;
453 friend class TreeSynchronizer; 456 friend class TreeSynchronizer;
454 virtual ~Layer(); 457 virtual ~Layer();
455 Layer(); 458 Layer();
456 459
457 // These SetNeeds functions are in order of severity of update: 460 // These SetNeeds functions are in order of severity of update:
458 // 461 //
459 // Called when a property has been modified in a way that the layer knows 462 // Called when a property has been modified in a way that the layer knows
460 // immediately that a commit is required. This implies SetNeedsPushProperties 463 // immediately that a commit is required. This implies SetNeedsPushProperties
461 // to push that property. 464 // to push that property.
462 void SetNeedsCommit(); 465 void SetNeedsCommit();
463 // This is identical to SetNeedsCommit, but the former requests a rebuild of 466
464 // the property trees.
465 void SetNeedsCommitNoRebuild();
466 // Called when there's been a change in layer structure. Implies 467 // Called when there's been a change in layer structure. Implies
467 // SetNeedsCommit and property tree rebuld, but not SetNeedsPushProperties 468 // SetNeedsCommit and property tree rebuld, but not SetNeedsPushProperties
468 // (the full tree is synced over). 469 // (the full tree is synced over).
469 void SetNeedsFullTreeSync(); 470 void SetNeedsFullTreeSync();
470 471
471 // Called when the next commit should wait until the pending tree is activated 472 // Called when the next commit should wait until the pending tree is activated
472 // before finishing the commit and unblocking the main thread. Used to ensure 473 // before finishing the commit and unblocking the main thread. Used to ensure
473 // unused resources on the impl thread are returned before commit completes. 474 // unused resources on the impl thread are returned before commit completes.
474 void SetNextCommitWaitsForActivation(); 475 void SetNextCommitWaitsForActivation();
475 476
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 void RemoveFromScrollTree(); 526 void RemoveFromScrollTree();
526 527
527 // If this layer has a clip parent, it removes |this| from its list of clip 528 // If this layer has a clip parent, it removes |this| from its list of clip
528 // children. 529 // children.
529 void RemoveFromClipTree(); 530 void RemoveFromClipTree();
530 531
531 // When we detach or attach layer to new LayerTreeHost, all property trees' 532 // When we detach or attach layer to new LayerTreeHost, all property trees'
532 // indices becomes invalid. 533 // indices becomes invalid.
533 void InvalidatePropertyTreesIndices(); 534 void InvalidatePropertyTreesIndices();
534 535
536 // This is set whenever a property changed on layer that affects whether this
537 // layer should own a property tree node or not.
538 void SetPropertyTreesNeedRebuild();
539
535 // Encapsulates all data, callbacks or interfaces received from the embedder. 540 // Encapsulates all data, callbacks or interfaces received from the embedder.
536 // TODO(khushalsagar): This is only valid when PropertyTrees are built 541 // TODO(khushalsagar): This is only valid when PropertyTrees are built
537 // internally in cc. Update this for the SPv2 path where blink generates 542 // internally in cc. Update this for the SPv2 path where blink generates
538 // PropertyTrees. 543 // PropertyTrees.
539 struct Inputs { 544 struct Inputs {
540 explicit Inputs(int layer_id); 545 explicit Inputs(int layer_id);
541 ~Inputs(); 546 ~Inputs();
542 547
543 int layer_id; 548 int layer_id;
544 549
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 int scroll_tree_index_; 645 int scroll_tree_index_;
641 int property_tree_sequence_number_; 646 int property_tree_sequence_number_;
642 gfx::Vector2dF offset_to_transform_parent_; 647 gfx::Vector2dF offset_to_transform_parent_;
643 bool should_flatten_transform_from_property_tree_ : 1; 648 bool should_flatten_transform_from_property_tree_ : 1;
644 bool draws_content_ : 1; 649 bool draws_content_ : 1;
645 bool use_local_transform_for_backface_visibility_ : 1; 650 bool use_local_transform_for_backface_visibility_ : 1;
646 bool should_check_backface_visibility_ : 1; 651 bool should_check_backface_visibility_ : 1;
647 bool force_render_surface_for_testing_ : 1; 652 bool force_render_surface_for_testing_ : 1;
648 bool subtree_property_changed_ : 1; 653 bool subtree_property_changed_ : 1;
649 bool may_contain_video_ : 1; 654 bool may_contain_video_ : 1;
655 bool is_scroll_clip_layer_ : 1;
650 SkColor safe_opaque_background_color_; 656 SkColor safe_opaque_background_color_;
651 // draw_blend_mode may be different than blend_mode_, 657 // draw_blend_mode may be different than blend_mode_,
652 // when a RenderSurface re-parents the layer's blend_mode. 658 // when a RenderSurface re-parents the layer's blend_mode.
653 SkBlendMode draw_blend_mode_; 659 SkBlendMode draw_blend_mode_;
654 std::unique_ptr<std::set<Layer*>> scroll_children_; 660 std::unique_ptr<std::set<Layer*>> scroll_children_;
655 661
656 std::unique_ptr<std::set<Layer*>> clip_children_; 662 std::unique_ptr<std::set<Layer*>> clip_children_;
657 663
658 PaintProperties paint_properties_; 664 PaintProperties paint_properties_;
659 665
660 // These all act like draw properties, so don't need push properties. 666 // These all act like draw properties, so don't need push properties.
661 gfx::Rect visible_layer_rect_; 667 gfx::Rect visible_layer_rect_;
662 size_t num_unclipped_descendants_; 668 size_t num_unclipped_descendants_;
663 669
664 DISALLOW_COPY_AND_ASSIGN(Layer); 670 DISALLOW_COPY_AND_ASSIGN(Layer);
665 }; 671 };
666 672
667 } // namespace cc 673 } // namespace cc
668 674
669 #endif // CC_LAYERS_LAYER_H_ 675 #endif // CC_LAYERS_LAYER_H_
OLDNEW
« no previous file with comments | « no previous file | cc/layers/layer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698