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

Unified Diff: cc/trees/layer_tree_host.cc

Issue 584503005: Make scroll offset type of float in cc (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: scroll delta -> vector2dF, scroll offset -> ScrollOffset Created 6 years, 3 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/layer_tree_host.cc
diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
index eed1e5a7e151e74942e0b78d54b96f38a2f2874d..6a7f8a26b1c3c2d7c4879edee6d0b465c57111f2 100644
--- a/cc/trees/layer_tree_host.cc
+++ b/cc/trees/layer_tree_host.cc
@@ -40,6 +40,7 @@
#include "cc/trees/single_thread_proxy.h"
#include "cc/trees/thread_proxy.h"
#include "cc/trees/tree_synchronizer.h"
+#include "ui/gfx/geometry/vector2d_conversions.h"
#include "ui/gfx/size_conversions.h"
namespace {
@@ -1066,8 +1067,8 @@ void LayerTreeHost::ApplyScrollAndScale(ScrollAndScaleSet* info) {
QueueSwapPromise(swap_promise.Pass());
}
- gfx::Vector2d inner_viewport_scroll_delta;
- gfx::Vector2d outer_viewport_scroll_delta;
+ gfx::Vector2dF inner_viewport_scroll_delta;
+ gfx::Vector2dF outer_viewport_scroll_delta;
for (size_t i = 0; i < info->scrolls.size(); ++i) {
Layer* layer = LayerTreeHostCommon::FindLayerInSubtree(
@@ -1079,8 +1080,9 @@ void LayerTreeHost::ApplyScrollAndScale(ScrollAndScaleSet* info) {
} else if (layer == inner_viewport_scroll_layer_.get()) {
inner_viewport_scroll_delta += info->scrolls[i].scroll_delta;
} else {
- layer->SetScrollOffsetFromImplSide(layer->scroll_offset() +
- info->scrolls[i].scroll_delta);
+ layer->SetScrollOffsetFromImplSide(
+ layer->scroll_offset() +
+ gfx::ScrollOffset(info->scrolls[i].scroll_delta));
}
}
@@ -1098,18 +1100,20 @@ void LayerTreeHost::ApplyScrollAndScale(ScrollAndScaleSet* info) {
inner_viewport_scroll_layer_->SetScrollOffsetFromImplSide(
inner_viewport_scroll_layer_->scroll_offset() +
- inner_viewport_scroll_delta);
+ gfx::ScrollOffset(inner_viewport_scroll_delta));;
danakj 2014/09/25 22:01:26 double;;
Yufeng Shen (Slow to review) 2014/09/26 20:19:07 Done.
if (outer_viewport_scroll_layer_.get()) {
outer_viewport_scroll_layer_->SetScrollOffsetFromImplSide(
outer_viewport_scroll_layer_->scroll_offset() +
- outer_viewport_scroll_delta);
+ gfx::ScrollOffset(outer_viewport_scroll_delta));
danakj 2014/09/25 22:01:26 Throwing this out as an idea, idk if it's a good o
Yufeng Shen (Slow to review) 2014/09/25 22:15:01 what do you think if I have an overload ScrollOff
}
ApplyPageScaleDeltaFromImplSide(info->page_scale_delta);
- client_->ApplyViewportDeltas(
- inner_viewport_scroll_delta + outer_viewport_scroll_delta,
- info->page_scale_delta,
- info->top_controls_delta);
+ gfx::Vector2dF viewport_scroll_delta =
+ inner_viewport_scroll_delta + outer_viewport_scroll_delta;
+
+ client_->ApplyViewportDeltas(gfx::ToFlooredVector2d(viewport_scroll_delta),
danakj 2014/09/25 22:01:26 why flooring here? not sure why you changed anythi
Yufeng Shen (Slow to review) 2014/09/26 20:19:07 Done.
+ info->page_scale_delta,
+ info->top_controls_delta);
}
}

Powered by Google App Engine
This is Rietveld 408576698