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

Side by Side 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: Use ScrollOffset instead of vector2dF for scroll offset 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 unified diff | Download patch
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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 #include "cc/trees/layer_tree_host.h" 5 #include "cc/trees/layer_tree_host.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <stack> 8 #include <stack>
9 #include <string> 9 #include <string>
10 10
(...skipping 1048 matching lines...) Expand 10 before | Expand all | Expand 10 after
1059 ScopedPtrVector<SwapPromise>::iterator it = info->swap_promises.begin(); 1059 ScopedPtrVector<SwapPromise>::iterator it = info->swap_promises.begin();
1060 for (; it != info->swap_promises.end(); ++it) { 1060 for (; it != info->swap_promises.end(); ++it) {
1061 scoped_ptr<SwapPromise> swap_promise(info->swap_promises.take(it)); 1061 scoped_ptr<SwapPromise> swap_promise(info->swap_promises.take(it));
1062 TRACE_EVENT_FLOW_STEP0("input", 1062 TRACE_EVENT_FLOW_STEP0("input",
1063 "LatencyInfo.Flow", 1063 "LatencyInfo.Flow",
1064 TRACE_ID_DONT_MANGLE(swap_promise->TraceId()), 1064 TRACE_ID_DONT_MANGLE(swap_promise->TraceId()),
1065 "Main thread scroll update"); 1065 "Main thread scroll update");
1066 QueueSwapPromise(swap_promise.Pass()); 1066 QueueSwapPromise(swap_promise.Pass());
1067 } 1067 }
1068 1068
1069 gfx::Vector2d inner_viewport_scroll_delta; 1069 gfx::ScrollOffset inner_viewport_scroll_delta;
danakj 2014/09/25 15:13:31 these are deltas (relative to an offset) not an of
Yufeng Shen (Slow to review) 2014/09/25 20:06:24 Done.
1070 gfx::Vector2d outer_viewport_scroll_delta; 1070 gfx::ScrollOffset outer_viewport_scroll_delta;
1071 1071
1072 for (size_t i = 0; i < info->scrolls.size(); ++i) { 1072 for (size_t i = 0; i < info->scrolls.size(); ++i) {
1073 Layer* layer = LayerTreeHostCommon::FindLayerInSubtree( 1073 Layer* layer = LayerTreeHostCommon::FindLayerInSubtree(
1074 root_layer_.get(), info->scrolls[i].layer_id); 1074 root_layer_.get(), info->scrolls[i].layer_id);
1075 if (!layer) 1075 if (!layer)
1076 continue; 1076 continue;
1077 if (layer == outer_viewport_scroll_layer_.get()) { 1077 if (layer == outer_viewport_scroll_layer_.get()) {
1078 outer_viewport_scroll_delta += info->scrolls[i].scroll_delta; 1078 outer_viewport_scroll_delta += info->scrolls[i].scroll_delta;
1079 } else if (layer == inner_viewport_scroll_layer_.get()) { 1079 } else if (layer == inner_viewport_scroll_layer_.get()) {
1080 inner_viewport_scroll_delta += info->scrolls[i].scroll_delta; 1080 inner_viewport_scroll_delta += info->scrolls[i].scroll_delta;
(...skipping 18 matching lines...) Expand all
1099 inner_viewport_scroll_layer_->SetScrollOffsetFromImplSide( 1099 inner_viewport_scroll_layer_->SetScrollOffsetFromImplSide(
1100 inner_viewport_scroll_layer_->scroll_offset() + 1100 inner_viewport_scroll_layer_->scroll_offset() +
1101 inner_viewport_scroll_delta); 1101 inner_viewport_scroll_delta);
1102 if (outer_viewport_scroll_layer_.get()) { 1102 if (outer_viewport_scroll_layer_.get()) {
1103 outer_viewport_scroll_layer_->SetScrollOffsetFromImplSide( 1103 outer_viewport_scroll_layer_->SetScrollOffsetFromImplSide(
1104 outer_viewport_scroll_layer_->scroll_offset() + 1104 outer_viewport_scroll_layer_->scroll_offset() +
1105 outer_viewport_scroll_delta); 1105 outer_viewport_scroll_delta);
1106 } 1106 }
1107 ApplyPageScaleDeltaFromImplSide(info->page_scale_delta); 1107 ApplyPageScaleDeltaFromImplSide(info->page_scale_delta);
1108 1108
1109 client_->ApplyViewportDeltas( 1109 // TODO(miletus): Make viewport delta ScrollOffset.
danakj 2014/09/25 15:13:31 Do you think all deltas should be ScrollOffset typ
Yufeng Shen (Slow to review) 2014/09/25 20:06:24 delta changed to be vector2dF to be consistent.
1110 inner_viewport_scroll_delta + outer_viewport_scroll_delta, 1110 gfx::Vector2d viewport_scroll_delta = gfx::ToFlooredVector2d(
1111 info->page_scale_delta, 1111 inner_viewport_scroll_delta + outer_viewport_scroll_delta);
1112 info->top_controls_delta); 1112
1113 client_->ApplyViewportDeltas(viewport_scroll_delta,
1114 info->page_scale_delta,
1115 info->top_controls_delta);
1113 } 1116 }
1114 } 1117 }
1115 1118
1116 void LayerTreeHost::StartRateLimiter() { 1119 void LayerTreeHost::StartRateLimiter() {
1117 if (inside_begin_main_frame_) 1120 if (inside_begin_main_frame_)
1118 return; 1121 return;
1119 1122
1120 if (!rate_limit_timer_.IsRunning()) { 1123 if (!rate_limit_timer_.IsRunning()) {
1121 rate_limit_timer_.Start(FROM_HERE, 1124 rate_limit_timer_.Start(FROM_HERE,
1122 base::TimeDelta(), 1125 base::TimeDelta(),
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
1317 swap_promise_list_.push_back(swap_promise.Pass()); 1320 swap_promise_list_.push_back(swap_promise.Pass());
1318 } 1321 }
1319 1322
1320 void LayerTreeHost::BreakSwapPromises(SwapPromise::DidNotSwapReason reason) { 1323 void LayerTreeHost::BreakSwapPromises(SwapPromise::DidNotSwapReason reason) {
1321 for (size_t i = 0; i < swap_promise_list_.size(); i++) 1324 for (size_t i = 0; i < swap_promise_list_.size(); i++)
1322 swap_promise_list_[i]->DidNotSwap(reason); 1325 swap_promise_list_[i]->DidNotSwap(reason);
1323 swap_promise_list_.clear(); 1326 swap_promise_list_.clear();
1324 } 1327 }
1325 1328
1326 } // namespace cc 1329 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698