OLD | NEW |
---|---|
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 #ifndef CC_TREES_PROPERTY_TREE_H_ | 5 #ifndef CC_TREES_PROPERTY_TREE_H_ |
6 #define CC_TREES_PROPERTY_TREE_H_ | 6 #define CC_TREES_PROPERTY_TREE_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <unordered_map> | 10 #include <map> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "cc/base/cc_export.h" | 13 #include "cc/base/cc_export.h" |
14 #include "cc/base/synced_property.h" | 14 #include "cc/base/synced_property.h" |
15 #include "ui/gfx/geometry/rect_f.h" | 15 #include "ui/gfx/geometry/rect_f.h" |
16 #include "ui/gfx/geometry/scroll_offset.h" | 16 #include "ui/gfx/geometry/scroll_offset.h" |
17 #include "ui/gfx/transform.h" | 17 #include "ui/gfx/transform.h" |
18 | 18 |
19 namespace cc { | 19 namespace cc { |
20 | 20 |
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
559 ~ScrollTree() override; | 559 ~ScrollTree() override; |
560 | 560 |
561 ScrollTree& operator=(const ScrollTree& from); | 561 ScrollTree& operator=(const ScrollTree& from); |
562 bool operator==(const ScrollTree& other) const; | 562 bool operator==(const ScrollTree& other) const; |
563 | 563 |
564 void ToProtobuf(proto::PropertyTree* proto) const; | 564 void ToProtobuf(proto::PropertyTree* proto) const; |
565 void FromProtobuf(const proto::PropertyTree& proto); | 565 void FromProtobuf(const proto::PropertyTree& proto); |
566 | 566 |
567 void clear() override; | 567 void clear() override; |
568 | 568 |
569 typedef std::unordered_map<int, scoped_refptr<SyncedScrollOffset>> | 569 typedef std::map<int, scoped_refptr<SyncedScrollOffset>> ScrollOffsetMap; |
ajuma
2016/03/07 19:10:19
Why switch from unordered_map to map? (When does o
sunxd
2016/03/09 01:51:21
Sorry I ignored this change. It's just for gdb deb
| |
570 ScrollOffsetMap; | |
571 | 570 |
572 gfx::ScrollOffset MaxScrollOffset(int scroll_node_id) const; | 571 gfx::ScrollOffset MaxScrollOffset(int scroll_node_id) const; |
573 gfx::Size scroll_clip_layer_bounds(int scroll_node_id) const; | 572 gfx::Size scroll_clip_layer_bounds(int scroll_node_id) const; |
574 ScrollNode* CurrentlyScrollingNode(); | 573 ScrollNode* CurrentlyScrollingNode(); |
575 const ScrollNode* CurrentlyScrollingNode() const; | 574 const ScrollNode* CurrentlyScrollingNode() const; |
576 void set_currently_scrolling_node(int scroll_node_id); | 575 void set_currently_scrolling_node(int scroll_node_id); |
577 gfx::Transform ScreenSpaceTransform(int scroll_node_id) const; | 576 gfx::Transform ScreenSpaceTransform(int scroll_node_id) const; |
578 | 577 |
579 // synced_scroll_offset is supposed to be called by Layer/LayerImpl only | |
580 SyncedScrollOffset* synced_scroll_offset(int layer_id); | 578 SyncedScrollOffset* synced_scroll_offset(int layer_id); |
579 const SyncedScrollOffset* synced_scroll_offset(int layer_id) const; | |
581 void CollectScrollDeltas(ScrollAndScaleSet* scroll_info); | 580 void CollectScrollDeltas(ScrollAndScaleSet* scroll_info); |
582 void UpdateScrollOffsetMap(ScrollOffsetMap* new_scroll_offset_map, | 581 void UpdateScrollOffsetMap(ScrollOffsetMap* new_scroll_offset_map, |
583 LayerTreeImpl* layer_tree_impl); | 582 LayerTreeImpl* layer_tree_impl); |
584 ScrollOffsetMap& scroll_offset_map(); | 583 ScrollOffsetMap& scroll_offset_map(); |
585 const ScrollOffsetMap& scroll_offset_map() const; | 584 const ScrollOffsetMap& scroll_offset_map() const; |
586 void ApplySentScrollDeltasFromAbortedCommit(); | 585 void ApplySentScrollDeltasFromAbortedCommit(); |
587 bool SetScrollOffset(int layer_id, const gfx::ScrollOffset& scroll_offset); | 586 bool SetScrollOffset(int layer_id, const gfx::ScrollOffset& scroll_offset); |
587 bool UpdateScrollOffsetBaseForTesting(int layer_id, | |
588 const gfx::ScrollOffset& offset); | |
589 const gfx::ScrollOffset GetScrollOffsetBaseForTesting(int layer_id) const; | |
588 | 590 |
589 private: | 591 private: |
590 int currently_scrolling_node_id_; | 592 int currently_scrolling_node_id_; |
591 ScrollOffsetMap layer_id_to_scroll_offset_map_; | 593 ScrollOffsetMap layer_id_to_scroll_offset_map_; |
592 | 594 |
593 gfx::ScrollOffset PullDeltaForMainThread(SyncedScrollOffset* scroll_offset); | 595 gfx::ScrollOffset PullDeltaForMainThread(SyncedScrollOffset* scroll_offset); |
594 void UpdateScrollOffsetMapEntry(int key, | 596 void UpdateScrollOffsetMapEntry(int key, |
595 ScrollOffsetMap* new_scroll_offset_map, | 597 ScrollOffsetMap* new_scroll_offset_map, |
596 LayerTreeImpl* layer_tree_impl); | 598 LayerTreeImpl* layer_tree_impl); |
597 }; | 599 }; |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
649 | 651 |
650 private: | 652 private: |
651 gfx::Vector2dF inner_viewport_container_bounds_delta_; | 653 gfx::Vector2dF inner_viewport_container_bounds_delta_; |
652 gfx::Vector2dF outer_viewport_container_bounds_delta_; | 654 gfx::Vector2dF outer_viewport_container_bounds_delta_; |
653 gfx::Vector2dF inner_viewport_scroll_bounds_delta_; | 655 gfx::Vector2dF inner_viewport_scroll_bounds_delta_; |
654 }; | 656 }; |
655 | 657 |
656 } // namespace cc | 658 } // namespace cc |
657 | 659 |
658 #endif // CC_TREES_PROPERTY_TREE_H_ | 660 #endif // CC_TREES_PROPERTY_TREE_H_ |
OLD | NEW |