summaryrefslogtreecommitdiffstats
path: root/cc/trees/property_tree.cc
diff options
context:
space:
mode:
authorsunxd <sunxd@chromium.org>2016-03-09 13:13:42 -0800
committerCommit bot <commit-bot@chromium.org>2016-03-09 21:14:58 +0000
commitb7e79438b4ba2ccba51235a0fc2bf13b7f173709 (patch)
tree5e6c21f7822428dd9c95ae6b1d2ce0e13dbfa04b /cc/trees/property_tree.cc
parent3afd79a945a33ba887c01a2935798cdbb1dd0496 (diff)
downloadchromium_src-b7e79438b4ba2ccba51235a0fc2bf13b7f173709.zip
chromium_src-b7e79438b4ba2ccba51235a0fc2bf13b7f173709.tar.gz
chromium_src-b7e79438b4ba2ccba51235a0fc2bf13b7f173709.tar.bz2
Clean LayerImpl's scroll offset callers in unit tests.
The getter ScrollDelta is left because it is called by property tree builder. LayerImpl is now not aware of the internal logic of synced property. BUG=568830 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1766053002 Cr-Commit-Position: refs/heads/master@{#380217}
Diffstat (limited to 'cc/trees/property_tree.cc')
-rw-r--r--cc/trees/property_tree.cc29
1 files changed, 29 insertions, 0 deletions
diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc
index 4738e01..34f8c49 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),