| Index: cc/trees/property_tree.cc
|
| diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc
|
| index 4738e01da6a8e738c49a16a37c4669b5653049cf..34f8c4989fe2c35cb4c14349a1a029702fcd8bf6 100644
|
| --- a/cc/trees/property_tree.cc
|
| +++ b/cc/trees/property_tree.cc
|
| @@ -1487,6 +1487,14 @@ SyncedScrollOffset* ScrollTree::synced_scroll_offset(int layer_id) {
|
| return layer_id_to_scroll_offset_map_[layer_id].get();
|
| }
|
|
|
| +const SyncedScrollOffset* ScrollTree::synced_scroll_offset(int layer_id) const {
|
| + if (layer_id_to_scroll_offset_map_.find(layer_id) ==
|
| + layer_id_to_scroll_offset_map_.end()) {
|
| + return nullptr;
|
| + }
|
| + return layer_id_to_scroll_offset_map_.at(layer_id).get();
|
| +}
|
| +
|
| gfx::ScrollOffset ScrollTree::PullDeltaForMainThread(
|
| SyncedScrollOffset* scroll_offset) {
|
| // TODO(miletus): Remove all this temporary flooring machinery when
|
| @@ -1593,6 +1601,27 @@ bool ScrollTree::SetScrollOffset(int layer_id,
|
| return false;
|
| }
|
|
|
| +bool ScrollTree::UpdateScrollOffsetBaseForTesting(
|
| + int layer_id,
|
| + const gfx::ScrollOffset& offset) {
|
| + DCHECK(!property_trees()->is_main_thread);
|
| + bool changed = synced_scroll_offset(layer_id)->PushFromMainThread(offset);
|
| + if (property_trees()->is_active)
|
| + changed |= synced_scroll_offset(layer_id)->PushPendingToActive();
|
| + return changed;
|
| +}
|
| +
|
| +const gfx::ScrollOffset ScrollTree::GetScrollOffsetBaseForTesting(
|
| + int layer_id) const {
|
| + DCHECK(!property_trees()->is_main_thread);
|
| + if (synced_scroll_offset(layer_id))
|
| + return property_trees()->is_active
|
| + ? synced_scroll_offset(layer_id)->ActiveBase()
|
| + : synced_scroll_offset(layer_id)->PendingBase();
|
| + else
|
| + return gfx::ScrollOffset();
|
| +}
|
| +
|
| PropertyTrees::PropertyTrees()
|
| : needs_rebuild(true),
|
| non_root_surfaces_enabled(true),
|
|
|