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

Unified Diff: cc/trees/property_tree.cc

Issue 1766053002: Clean LayerImpl's scroll offset callers in unit tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 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 side-by-side diff with in-line comments
Download patch
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),

Powered by Google App Engine
This is Rietveld 408576698