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

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: blow up the patchset :( Created 6 years, 2 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 22 matching lines...) Expand all
33 #include "cc/resources/prioritized_resource_manager.h" 33 #include "cc/resources/prioritized_resource_manager.h"
34 #include "cc/resources/ui_resource_request.h" 34 #include "cc/resources/ui_resource_request.h"
35 #include "cc/trees/layer_tree_host_client.h" 35 #include "cc/trees/layer_tree_host_client.h"
36 #include "cc/trees/layer_tree_host_common.h" 36 #include "cc/trees/layer_tree_host_common.h"
37 #include "cc/trees/layer_tree_host_impl.h" 37 #include "cc/trees/layer_tree_host_impl.h"
38 #include "cc/trees/layer_tree_impl.h" 38 #include "cc/trees/layer_tree_impl.h"
39 #include "cc/trees/occlusion_tracker.h" 39 #include "cc/trees/occlusion_tracker.h"
40 #include "cc/trees/single_thread_proxy.h" 40 #include "cc/trees/single_thread_proxy.h"
41 #include "cc/trees/thread_proxy.h" 41 #include "cc/trees/thread_proxy.h"
42 #include "cc/trees/tree_synchronizer.h" 42 #include "cc/trees/tree_synchronizer.h"
43 #include "ui/gfx/geometry/vector2d_conversions.h"
danakj 2014/09/27 00:00:44 unused?
Yufeng Shen (Slow to review) 2014/09/29 19:27:33 Done.
43 #include "ui/gfx/size_conversions.h" 44 #include "ui/gfx/size_conversions.h"
44 45
45 namespace { 46 namespace {
46 static base::StaticAtomicSequenceNumber s_layer_tree_host_sequence_number; 47 static base::StaticAtomicSequenceNumber s_layer_tree_host_sequence_number;
47 } 48 }
48 49
49 namespace cc { 50 namespace cc {
50 51
51 RendererCapabilities::RendererCapabilities(ResourceFormat best_texture_format, 52 RendererCapabilities::RendererCapabilities(ResourceFormat best_texture_format,
52 bool allow_partial_texture_updates, 53 bool allow_partial_texture_updates,
(...skipping 1019 matching lines...) Expand 10 before | Expand all | Expand 10 after
1072 for (size_t i = 0; i < info->scrolls.size(); ++i) { 1073 for (size_t i = 0; i < info->scrolls.size(); ++i) {
1073 Layer* layer = LayerTreeHostCommon::FindLayerInSubtree( 1074 Layer* layer = LayerTreeHostCommon::FindLayerInSubtree(
1074 root_layer_.get(), info->scrolls[i].layer_id); 1075 root_layer_.get(), info->scrolls[i].layer_id);
1075 if (!layer) 1076 if (!layer)
1076 continue; 1077 continue;
1077 if (layer == outer_viewport_scroll_layer_.get()) { 1078 if (layer == outer_viewport_scroll_layer_.get()) {
1078 outer_viewport_scroll_delta += info->scrolls[i].scroll_delta; 1079 outer_viewport_scroll_delta += info->scrolls[i].scroll_delta;
1079 } else if (layer == inner_viewport_scroll_layer_.get()) { 1080 } else if (layer == inner_viewport_scroll_layer_.get()) {
1080 inner_viewport_scroll_delta += info->scrolls[i].scroll_delta; 1081 inner_viewport_scroll_delta += info->scrolls[i].scroll_delta;
1081 } else { 1082 } else {
1082 layer->SetScrollOffsetFromImplSide(layer->scroll_offset() + 1083 layer->SetScrollOffsetFromImplSide(
1083 info->scrolls[i].scroll_delta); 1084 layer->scroll_offset() +
danakj 2014/09/27 00:00:44 ScrollOffsetWithDelta
Yufeng Shen (Slow to review) 2014/09/29 19:27:33 Done.
1085 gfx::ScrollOffset(info->scrolls[i].scroll_delta));
1084 } 1086 }
1085 } 1087 }
1086 1088
1087 if (!inner_viewport_scroll_delta.IsZero() || 1089 if (!inner_viewport_scroll_delta.IsZero() ||
1088 !outer_viewport_scroll_delta.IsZero() || 1090 !outer_viewport_scroll_delta.IsZero() ||
1089 info->page_scale_delta != 1.f || 1091 info->page_scale_delta != 1.f ||
1090 info->top_controls_delta) { 1092 info->top_controls_delta) {
1091 // SetScrollOffsetFromImplSide above could have destroyed the tree, 1093 // SetScrollOffsetFromImplSide above could have destroyed the tree,
1092 // so re-get this layer before doing anything to it. 1094 // so re-get this layer before doing anything to it.
1093 1095
1094 // Preemptively apply the scroll offset and scale delta here before sending 1096 // Preemptively apply the scroll offset and scale delta here before sending
1095 // it to the client. If the client comes back and sets it to the same 1097 // it to the client. If the client comes back and sets it to the same
1096 // value, then the layer can early out without needing a full commit. 1098 // value, then the layer can early out without needing a full commit.
1097 DCHECK(inner_viewport_scroll_layer_.get()); // We should always have this. 1099 DCHECK(inner_viewport_scroll_layer_.get()); // We should always have this.
1098 1100
1099 inner_viewport_scroll_layer_->SetScrollOffsetFromImplSide( 1101 inner_viewport_scroll_layer_->SetScrollOffsetFromImplSide(
1100 inner_viewport_scroll_layer_->scroll_offset() + 1102 gfx::ScrollOffsetWithDelta(
1101 inner_viewport_scroll_delta); 1103 inner_viewport_scroll_layer_->scroll_offset(),
1104 inner_viewport_scroll_delta));
1102 if (outer_viewport_scroll_layer_.get()) { 1105 if (outer_viewport_scroll_layer_.get()) {
1103 outer_viewport_scroll_layer_->SetScrollOffsetFromImplSide( 1106 outer_viewport_scroll_layer_->SetScrollOffsetFromImplSide(
1104 outer_viewport_scroll_layer_->scroll_offset() + 1107 gfx::ScrollOffsetWithDelta(
1105 outer_viewport_scroll_delta); 1108 outer_viewport_scroll_layer_->scroll_offset(),
1109 outer_viewport_scroll_delta));
1106 } 1110 }
1107 ApplyPageScaleDeltaFromImplSide(info->page_scale_delta); 1111 ApplyPageScaleDeltaFromImplSide(info->page_scale_delta);
1108 1112
1109 client_->ApplyViewportDeltas( 1113 client_->ApplyViewportDeltas(
1110 inner_viewport_scroll_delta + outer_viewport_scroll_delta, 1114 inner_viewport_scroll_delta + outer_viewport_scroll_delta,
1111 info->page_scale_delta, 1115 info->page_scale_delta,
1112 info->top_controls_delta); 1116 info->top_controls_delta);
1113 } 1117 }
1114 } 1118 }
1115 1119
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
1317 swap_promise_list_.push_back(swap_promise.Pass()); 1321 swap_promise_list_.push_back(swap_promise.Pass());
1318 } 1322 }
1319 1323
1320 void LayerTreeHost::BreakSwapPromises(SwapPromise::DidNotSwapReason reason) { 1324 void LayerTreeHost::BreakSwapPromises(SwapPromise::DidNotSwapReason reason) {
1321 for (size_t i = 0; i < swap_promise_list_.size(); i++) 1325 for (size_t i = 0; i < swap_promise_list_.size(); i++)
1322 swap_promise_list_[i]->DidNotSwap(reason); 1326 swap_promise_list_[i]->DidNotSwap(reason);
1323 swap_promise_list_.clear(); 1327 swap_promise_list_.clear();
1324 } 1328 }
1325 1329
1326 } // namespace cc 1330 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698