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

Side by Side Diff: cc/trees/property_tree.cc

Issue 1973083002: Use element id's for animations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 5 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include <stddef.h> 5 #include <stddef.h>
6 6
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 : scrollable(false), 628 : scrollable(false),
629 main_thread_scrolling_reasons( 629 main_thread_scrolling_reasons(
630 MainThreadScrollingReason::kNotScrollingOnMain), 630 MainThreadScrollingReason::kNotScrollingOnMain),
631 contains_non_fast_scrollable_region(false), 631 contains_non_fast_scrollable_region(false),
632 max_scroll_offset_affected_by_page_scale(false), 632 max_scroll_offset_affected_by_page_scale(false),
633 is_inner_viewport_scroll_layer(false), 633 is_inner_viewport_scroll_layer(false),
634 is_outer_viewport_scroll_layer(false), 634 is_outer_viewport_scroll_layer(false),
635 should_flatten(false), 635 should_flatten(false),
636 user_scrollable_horizontal(false), 636 user_scrollable_horizontal(false),
637 user_scrollable_vertical(false), 637 user_scrollable_vertical(false),
638 element_id(0),
639 transform_id(0), 638 transform_id(0),
640 num_drawn_descendants(0) {} 639 num_drawn_descendants(0) {}
641 640
642 ScrollNodeData::ScrollNodeData(const ScrollNodeData& other) = default; 641 ScrollNodeData::ScrollNodeData(const ScrollNodeData& other) = default;
643 642
644 bool ScrollNodeData::operator==(const ScrollNodeData& other) const { 643 bool ScrollNodeData::operator==(const ScrollNodeData& other) const {
645 return scrollable == other.scrollable && 644 return scrollable == other.scrollable &&
646 main_thread_scrolling_reasons == other.main_thread_scrolling_reasons && 645 main_thread_scrolling_reasons == other.main_thread_scrolling_reasons &&
647 contains_non_fast_scrollable_region == 646 contains_non_fast_scrollable_region ==
648 other.contains_non_fast_scrollable_region && 647 other.contains_non_fast_scrollable_region &&
(...skipping 24 matching lines...) Expand all
673 SizeToProto(bounds, data->mutable_bounds()); 672 SizeToProto(bounds, data->mutable_bounds());
674 data->set_max_scroll_offset_affected_by_page_scale( 673 data->set_max_scroll_offset_affected_by_page_scale(
675 max_scroll_offset_affected_by_page_scale); 674 max_scroll_offset_affected_by_page_scale);
676 data->set_is_inner_viewport_scroll_layer(is_inner_viewport_scroll_layer); 675 data->set_is_inner_viewport_scroll_layer(is_inner_viewport_scroll_layer);
677 data->set_is_outer_viewport_scroll_layer(is_outer_viewport_scroll_layer); 676 data->set_is_outer_viewport_scroll_layer(is_outer_viewport_scroll_layer);
678 Vector2dFToProto(offset_to_transform_parent, 677 Vector2dFToProto(offset_to_transform_parent,
679 data->mutable_offset_to_transform_parent()); 678 data->mutable_offset_to_transform_parent());
680 data->set_should_flatten(should_flatten); 679 data->set_should_flatten(should_flatten);
681 data->set_user_scrollable_horizontal(user_scrollable_horizontal); 680 data->set_user_scrollable_horizontal(user_scrollable_horizontal);
682 data->set_user_scrollable_vertical(user_scrollable_vertical); 681 data->set_user_scrollable_vertical(user_scrollable_vertical);
683 data->set_element_id(element_id); 682 element_id.ToProtobuf(data->mutable_element_id());
684 data->set_transform_id(transform_id); 683 data->set_transform_id(transform_id);
685 } 684 }
686 685
687 void ScrollNodeData::FromProtobuf(const proto::TreeNode& proto) { 686 void ScrollNodeData::FromProtobuf(const proto::TreeNode& proto) {
688 DCHECK(proto.has_scroll_node_data()); 687 DCHECK(proto.has_scroll_node_data());
689 const proto::ScrollNodeData& data = proto.scroll_node_data(); 688 const proto::ScrollNodeData& data = proto.scroll_node_data();
690 689
691 scrollable = data.scrollable(); 690 scrollable = data.scrollable();
692 main_thread_scrolling_reasons = data.main_thread_scrolling_reasons(); 691 main_thread_scrolling_reasons = data.main_thread_scrolling_reasons();
693 contains_non_fast_scrollable_region = 692 contains_non_fast_scrollable_region =
694 data.contains_non_fast_scrollable_region(); 693 data.contains_non_fast_scrollable_region();
695 scroll_clip_layer_bounds = ProtoToSize(data.scroll_clip_layer_bounds()); 694 scroll_clip_layer_bounds = ProtoToSize(data.scroll_clip_layer_bounds());
696 bounds = ProtoToSize(data.bounds()); 695 bounds = ProtoToSize(data.bounds());
697 max_scroll_offset_affected_by_page_scale = 696 max_scroll_offset_affected_by_page_scale =
698 data.max_scroll_offset_affected_by_page_scale(); 697 data.max_scroll_offset_affected_by_page_scale();
699 is_inner_viewport_scroll_layer = data.is_inner_viewport_scroll_layer(); 698 is_inner_viewport_scroll_layer = data.is_inner_viewport_scroll_layer();
700 is_outer_viewport_scroll_layer = data.is_outer_viewport_scroll_layer(); 699 is_outer_viewport_scroll_layer = data.is_outer_viewport_scroll_layer();
701 offset_to_transform_parent = 700 offset_to_transform_parent =
702 ProtoToVector2dF(data.offset_to_transform_parent()); 701 ProtoToVector2dF(data.offset_to_transform_parent());
703 should_flatten = data.should_flatten(); 702 should_flatten = data.should_flatten();
704 user_scrollable_horizontal = data.user_scrollable_horizontal(); 703 user_scrollable_horizontal = data.user_scrollable_horizontal();
705 user_scrollable_vertical = data.user_scrollable_vertical(); 704 user_scrollable_vertical = data.user_scrollable_vertical();
706 element_id = data.element_id(); 705 element_id.FromProtobuf(data.element_id());
707 transform_id = data.transform_id(); 706 transform_id = data.transform_id();
708 } 707 }
709 708
710 void ScrollNodeData::AsValueInto(base::trace_event::TracedValue* value) const { 709 void ScrollNodeData::AsValueInto(base::trace_event::TracedValue* value) const {
711 value->SetBoolean("scrollable", scrollable); 710 value->SetBoolean("scrollable", scrollable);
712 MathUtil::AddToTracedValue("scroll_clip_layer_bounds", 711 MathUtil::AddToTracedValue("scroll_clip_layer_bounds",
713 scroll_clip_layer_bounds, value); 712 scroll_clip_layer_bounds, value);
714 MathUtil::AddToTracedValue("bounds", bounds, value); 713 MathUtil::AddToTracedValue("bounds", bounds, value);
715 MathUtil::AddToTracedValue("offset_to_transform_parent", 714 MathUtil::AddToTracedValue("offset_to_transform_parent",
716 offset_to_transform_parent, value); 715 offset_to_transform_parent, value);
717 value->SetBoolean("should_flatten", should_flatten); 716 value->SetBoolean("should_flatten", should_flatten);
718 value->SetBoolean("user_scrollable_horizontal", user_scrollable_horizontal); 717 value->SetBoolean("user_scrollable_horizontal", user_scrollable_horizontal);
719 value->SetBoolean("user_scrollable_vertical", user_scrollable_vertical); 718 value->SetBoolean("user_scrollable_vertical", user_scrollable_vertical);
720 value->SetInteger("element_id", element_id); 719
720 element_id.AddToTracedValue(value);
721 value->SetInteger("transform_id", transform_id); 721 value->SetInteger("transform_id", transform_id);
722 } 722 }
723 723
724 int TransformTree::Insert(const TransformNode& tree_node, int parent_id) { 724 int TransformTree::Insert(const TransformNode& tree_node, int parent_id) {
725 int node_id = PropertyTree<TransformNode>::Insert(tree_node, parent_id); 725 int node_id = PropertyTree<TransformNode>::Insert(tree_node, parent_id);
726 DCHECK_EQ(node_id, static_cast<int>(cached_data_.size())); 726 DCHECK_EQ(node_id, static_cast<int>(cached_data_.size()));
727 727
728 cached_data_.push_back(TransformCachedNodeData()); 728 cached_data_.push_back(TransformCachedNodeData());
729 return node_id; 729 return node_id;
730 } 730 }
(...skipping 1656 matching lines...) Expand 10 before | Expand all | Expand 10 after
2387 value->EndDictionary(); 2387 value->EndDictionary();
2388 2388
2389 value->BeginDictionary("scroll_tree"); 2389 value->BeginDictionary("scroll_tree");
2390 scroll_tree.AsValueInto(value.get()); 2390 scroll_tree.AsValueInto(value.get());
2391 value->EndDictionary(); 2391 value->EndDictionary();
2392 2392
2393 return value; 2393 return value;
2394 } 2394 }
2395 2395
2396 } // namespace cc 2396 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/property_tree.h ('k') | third_party/WebKit/LayoutTests/virtual/threaded/animations/cancel-unattached-animation.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698