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

Side by Side Diff: cc/trees/layer_tree_host_impl.cc

Issue 1028333002: Chromium -> Mojo roll. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 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 unified diff | Download patch
« no previous file with comments | « cc/trees/layer_tree_host_impl.h ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <map>
9 10
10 #include "base/basictypes.h" 11 #include "base/basictypes.h"
11 #include "base/containers/hash_tables.h" 12 #include "base/containers/hash_tables.h"
12 #include "base/json/json_writer.h" 13 #include "base/json/json_writer.h"
13 #include "base/metrics/histogram.h" 14 #include "base/metrics/histogram.h"
14 #include "base/stl_util.h" 15 #include "base/stl_util.h"
15 #include "base/strings/stringprintf.h" 16 #include "base/strings/stringprintf.h"
16 #include "base/trace_event/trace_event_argument.h" 17 #include "base/trace_event/trace_event_argument.h"
17 #include "cc/animation/animation_id_provider.h" 18 #include "cc/animation/animation_id_provider.h"
18 #include "cc/animation/scroll_offset_animation_curve.h" 19 #include "cc/animation/scroll_offset_animation_curve.h"
19 #include "cc/animation/scrollbar_animation_controller.h" 20 #include "cc/animation/scrollbar_animation_controller.h"
20 #include "cc/animation/timing_function.h" 21 #include "cc/animation/timing_function.h"
21 #include "cc/base/math_util.h" 22 #include "cc/base/math_util.h"
22 #include "cc/base/util.h" 23 #include "cc/base/util.h"
23 #include "cc/debug/benchmark_instrumentation.h" 24 #include "cc/debug/benchmark_instrumentation.h"
24 #include "cc/debug/debug_rect_history.h" 25 #include "cc/debug/debug_rect_history.h"
25 #include "cc/debug/devtools_instrumentation.h" 26 #include "cc/debug/devtools_instrumentation.h"
26 #include "cc/debug/frame_rate_counter.h" 27 #include "cc/debug/frame_rate_counter.h"
28 #include "cc/debug/frame_viewer_instrumentation.h"
27 #include "cc/debug/paint_time_counter.h" 29 #include "cc/debug/paint_time_counter.h"
28 #include "cc/debug/rendering_stats_instrumentation.h" 30 #include "cc/debug/rendering_stats_instrumentation.h"
29 #include "cc/debug/traced_value.h" 31 #include "cc/debug/traced_value.h"
30 #include "cc/input/page_scale_animation.h" 32 #include "cc/input/page_scale_animation.h"
31 #include "cc/input/scroll_elasticity_helper.h" 33 #include "cc/input/scroll_elasticity_helper.h"
32 #include "cc/input/top_controls_manager.h" 34 #include "cc/input/top_controls_manager.h"
33 #include "cc/layers/append_quads_data.h" 35 #include "cc/layers/append_quads_data.h"
34 #include "cc/layers/heads_up_display_layer_impl.h" 36 #include "cc/layers/heads_up_display_layer_impl.h"
35 #include "cc/layers/layer_impl.h" 37 #include "cc/layers/layer_impl.h"
36 #include "cc/layers/layer_iterator.h" 38 #include "cc/layers/layer_iterator.h"
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 163
162 LayerTreeHostImpl::FrameData::~FrameData() {} 164 LayerTreeHostImpl::FrameData::~FrameData() {}
163 165
164 scoped_ptr<LayerTreeHostImpl> LayerTreeHostImpl::Create( 166 scoped_ptr<LayerTreeHostImpl> LayerTreeHostImpl::Create(
165 const LayerTreeSettings& settings, 167 const LayerTreeSettings& settings,
166 LayerTreeHostImplClient* client, 168 LayerTreeHostImplClient* client,
167 Proxy* proxy, 169 Proxy* proxy,
168 RenderingStatsInstrumentation* rendering_stats_instrumentation, 170 RenderingStatsInstrumentation* rendering_stats_instrumentation,
169 SharedBitmapManager* shared_bitmap_manager, 171 SharedBitmapManager* shared_bitmap_manager,
170 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, 172 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
173 TaskGraphRunner* task_graph_runner,
171 int id) { 174 int id) {
172 return make_scoped_ptr(new LayerTreeHostImpl(settings, 175 return make_scoped_ptr(new LayerTreeHostImpl(
173 client, 176 settings, client, proxy, rendering_stats_instrumentation,
174 proxy, 177 shared_bitmap_manager, gpu_memory_buffer_manager, task_graph_runner, id));
175 rendering_stats_instrumentation,
176 shared_bitmap_manager,
177 gpu_memory_buffer_manager,
178 id));
179 } 178 }
180 179
181 LayerTreeHostImpl::LayerTreeHostImpl( 180 LayerTreeHostImpl::LayerTreeHostImpl(
182 const LayerTreeSettings& settings, 181 const LayerTreeSettings& settings,
183 LayerTreeHostImplClient* client, 182 LayerTreeHostImplClient* client,
184 Proxy* proxy, 183 Proxy* proxy,
185 RenderingStatsInstrumentation* rendering_stats_instrumentation, 184 RenderingStatsInstrumentation* rendering_stats_instrumentation,
186 SharedBitmapManager* shared_bitmap_manager, 185 SharedBitmapManager* shared_bitmap_manager,
187 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, 186 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
187 TaskGraphRunner* task_graph_runner,
188 int id) 188 int id)
189 : client_(client), 189 : client_(client),
190 proxy_(proxy), 190 proxy_(proxy),
191 use_gpu_rasterization_(false), 191 use_gpu_rasterization_(false),
192 gpu_rasterization_status_(GpuRasterizationStatus::OFF_DEVICE), 192 gpu_rasterization_status_(GpuRasterizationStatus::OFF_DEVICE),
193 input_handler_client_(NULL), 193 input_handler_client_(NULL),
194 did_lock_scrolling_layer_(false), 194 did_lock_scrolling_layer_(false),
195 should_bubble_scrolls_(false), 195 should_bubble_scrolls_(false),
196 wheel_scrolling_(false), 196 wheel_scrolling_(false),
197 scroll_affects_scroll_handler_(false), 197 scroll_affects_scroll_handler_(false),
(...skipping 18 matching lines...) Expand all
216 max_memory_needed_bytes_(0), 216 max_memory_needed_bytes_(0),
217 zero_budget_(false), 217 zero_budget_(false),
218 device_scale_factor_(1.f), 218 device_scale_factor_(1.f),
219 resourceless_software_draw_(false), 219 resourceless_software_draw_(false),
220 begin_impl_frame_interval_(BeginFrameArgs::DefaultInterval()), 220 begin_impl_frame_interval_(BeginFrameArgs::DefaultInterval()),
221 animation_registrar_(AnimationRegistrar::Create()), 221 animation_registrar_(AnimationRegistrar::Create()),
222 rendering_stats_instrumentation_(rendering_stats_instrumentation), 222 rendering_stats_instrumentation_(rendering_stats_instrumentation),
223 micro_benchmark_controller_(this), 223 micro_benchmark_controller_(this),
224 shared_bitmap_manager_(shared_bitmap_manager), 224 shared_bitmap_manager_(shared_bitmap_manager),
225 gpu_memory_buffer_manager_(gpu_memory_buffer_manager), 225 gpu_memory_buffer_manager_(gpu_memory_buffer_manager),
226 task_graph_runner_(task_graph_runner),
226 id_(id), 227 id_(id),
227 requires_high_res_to_draw_(false), 228 requires_high_res_to_draw_(false),
228 is_likely_to_require_a_draw_(false), 229 is_likely_to_require_a_draw_(false),
229 frame_timing_tracker_(FrameTimingTracker::Create()) { 230 frame_timing_tracker_(FrameTimingTracker::Create()) {
230 DCHECK(proxy_->IsImplThread()); 231 DCHECK(proxy_->IsImplThread());
231 DidVisibilityChange(this, visible_); 232 DidVisibilityChange(this, visible_);
232 animation_registrar_->set_supports_scroll_animations( 233 animation_registrar_->set_supports_scroll_animations(
233 proxy_->SupportsImplScrolling()); 234 proxy_->SupportsImplScrolling());
234 235
235 SetDebugState(settings.initial_debug_state); 236 SetDebugState(settings.initial_debug_state);
(...skipping 1285 matching lines...) Expand 10 before | Expand all | Expand 10 after
1521 [](LayerImpl* layer) { layer->DidBeginTracing(); }); 1522 [](LayerImpl* layer) { layer->DidBeginTracing(); });
1522 } 1523 }
1523 LayerTreeHostCommon::CallFunctionForSubtree( 1524 LayerTreeHostCommon::CallFunctionForSubtree(
1524 active_tree_->root_layer(), 1525 active_tree_->root_layer(),
1525 [](LayerImpl* layer) { layer->DidBeginTracing(); }); 1526 [](LayerImpl* layer) { layer->DidBeginTracing(); });
1526 } 1527 }
1527 1528
1528 { 1529 {
1529 TRACE_EVENT0("cc", "DrawLayers.FrameViewerTracing"); 1530 TRACE_EVENT0("cc", "DrawLayers.FrameViewerTracing");
1530 TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID( 1531 TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID(
1531 TRACE_DISABLED_BY_DEFAULT("cc.debug") "," 1532 frame_viewer_instrumentation::kCategoryLayerTree,
1532 TRACE_DISABLED_BY_DEFAULT("cc.debug.quads") "," 1533 "cc::LayerTreeHostImpl", id_, AsValueWithFrame(frame));
1533 TRACE_DISABLED_BY_DEFAULT("devtools.timeline.layers"),
1534 "cc::LayerTreeHostImpl",
1535 id_,
1536 AsValueWithFrame(frame));
1537 } 1534 }
1538 1535
1539 const DrawMode draw_mode = GetDrawMode(); 1536 const DrawMode draw_mode = GetDrawMode();
1540 1537
1541 // Because the contents of the HUD depend on everything else in the frame, the 1538 // Because the contents of the HUD depend on everything else in the frame, the
1542 // contents of its texture are updated as the last thing before the frame is 1539 // contents of its texture are updated as the last thing before the frame is
1543 // drawn. 1540 // drawn.
1544 if (active_tree_->hud_layer()) { 1541 if (active_tree_->hud_layer()) {
1545 TRACE_EVENT0("cc", "DrawLayers.UpdateHudTexture"); 1542 TRACE_EVENT0("cc", "DrawLayers.UpdateHudTexture");
1546 active_tree_->hud_layer()->UpdateHudTexture(draw_mode, 1543 active_tree_->hud_layer()->UpdateHudTexture(draw_mode,
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
2027 proxy_->HasImplThread() ? proxy_->ImplThreadTaskRunner() 2024 proxy_->HasImplThread() ? proxy_->ImplThreadTaskRunner()
2028 : proxy_->MainThreadTaskRunner(); 2025 : proxy_->MainThreadTaskRunner();
2029 DCHECK(task_runner); 2026 DCHECK(task_runner);
2030 2027
2031 ContextProvider* context_provider = output_surface_->context_provider(); 2028 ContextProvider* context_provider = output_surface_->context_provider();
2032 if (!context_provider) { 2029 if (!context_provider) {
2033 *resource_pool = 2030 *resource_pool =
2034 ResourcePool::Create(resource_provider_.get(), GL_TEXTURE_2D); 2031 ResourcePool::Create(resource_provider_.get(), GL_TEXTURE_2D);
2035 2032
2036 *tile_task_worker_pool = BitmapTileTaskWorkerPool::Create( 2033 *tile_task_worker_pool = BitmapTileTaskWorkerPool::Create(
2037 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), 2034 task_runner, task_graph_runner_, resource_provider_.get());
2038 resource_provider_.get());
2039 return; 2035 return;
2040 } 2036 }
2041 2037
2042 if (use_gpu_rasterization_) { 2038 if (use_gpu_rasterization_) {
2043 *resource_pool = 2039 *resource_pool =
2044 ResourcePool::Create(resource_provider_.get(), GL_TEXTURE_2D); 2040 ResourcePool::Create(resource_provider_.get(), GL_TEXTURE_2D);
2045 2041
2046 *tile_task_worker_pool = GpuTileTaskWorkerPool::Create( 2042 *tile_task_worker_pool = GpuTileTaskWorkerPool::Create(
2047 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), 2043 task_runner, task_graph_runner_,
2048 static_cast<GpuRasterizer*>(rasterizer_.get())); 2044 static_cast<GpuRasterizer*>(rasterizer_.get()));
2049 return; 2045 return;
2050 } 2046 }
2051 2047
2052 if (GetRendererCapabilities().using_image) { 2048 if (GetRendererCapabilities().using_image) {
2053 unsigned image_target = settings_.use_image_texture_target; 2049 unsigned image_target = settings_.use_image_texture_target;
2054 DCHECK_IMPLIES( 2050 DCHECK_IMPLIES(
2055 image_target == GL_TEXTURE_RECTANGLE_ARB, 2051 image_target == GL_TEXTURE_RECTANGLE_ARB,
2056 context_provider->ContextCapabilities().gpu.texture_rectangle); 2052 context_provider->ContextCapabilities().gpu.texture_rectangle);
2057 DCHECK_IMPLIES( 2053 DCHECK_IMPLIES(
2058 image_target == GL_TEXTURE_EXTERNAL_OES, 2054 image_target == GL_TEXTURE_EXTERNAL_OES,
2059 context_provider->ContextCapabilities().gpu.egl_image_external); 2055 context_provider->ContextCapabilities().gpu.egl_image_external);
2060 2056
2061 if (settings_.use_zero_copy || IsSynchronousSingleThreaded()) { 2057 if (settings_.use_zero_copy || IsSynchronousSingleThreaded()) {
2062 *resource_pool = 2058 *resource_pool =
2063 ResourcePool::Create(resource_provider_.get(), image_target); 2059 ResourcePool::Create(resource_provider_.get(), image_target);
2064 2060
2065 TaskGraphRunner* task_graph_runner; 2061 TaskGraphRunner* task_graph_runner;
2066 if (IsSynchronousSingleThreaded()) { 2062 if (IsSynchronousSingleThreaded()) {
2067 DCHECK(!single_thread_synchronous_task_graph_runner_); 2063 DCHECK(!single_thread_synchronous_task_graph_runner_);
2068 single_thread_synchronous_task_graph_runner_.reset(new TaskGraphRunner); 2064 single_thread_synchronous_task_graph_runner_.reset(new TaskGraphRunner);
2069 task_graph_runner = single_thread_synchronous_task_graph_runner_.get(); 2065 task_graph_runner = single_thread_synchronous_task_graph_runner_.get();
2070 } else { 2066 } else {
2071 task_graph_runner = TileTaskWorkerPool::GetTaskGraphRunner(); 2067 task_graph_runner = task_graph_runner_;
2072 } 2068 }
2073 2069
2074 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create( 2070 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create(
2075 task_runner, task_graph_runner, resource_provider_.get()); 2071 task_runner, task_graph_runner, resource_provider_.get());
2076 return; 2072 return;
2077 } 2073 }
2078 2074
2079 if (settings_.use_one_copy) { 2075 if (settings_.use_one_copy) {
2080 // We need to create a staging resource pool when using copy rasterizer. 2076 // We need to create a staging resource pool when using copy rasterizer.
2081 *staging_resource_pool = 2077 *staging_resource_pool =
2082 ResourcePool::Create(resource_provider_.get(), image_target); 2078 ResourcePool::Create(resource_provider_.get(), image_target);
2083 *resource_pool = 2079 *resource_pool =
2084 ResourcePool::Create(resource_provider_.get(), GL_TEXTURE_2D); 2080 ResourcePool::Create(resource_provider_.get(), GL_TEXTURE_2D);
2085 2081
2086 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( 2082 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create(
2087 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), 2083 task_runner, task_graph_runner_, context_provider,
2088 context_provider, resource_provider_.get(), 2084 resource_provider_.get(), staging_resource_pool_.get());
2089 staging_resource_pool_.get());
2090 return; 2085 return;
2091 } 2086 }
2092 } 2087 }
2093 2088
2094 // Synchronous single-threaded mode depends on tiles being ready to 2089 // Synchronous single-threaded mode depends on tiles being ready to
2095 // draw when raster is complete. Therefore, it must use one of zero 2090 // draw when raster is complete. Therefore, it must use one of zero
2096 // copy, software raster, or GPU raster (in the branches above). 2091 // copy, software raster, or GPU raster (in the branches above).
2097 DCHECK(!IsSynchronousSingleThreaded()); 2092 DCHECK(!IsSynchronousSingleThreaded());
2098 2093
2099 *resource_pool = ResourcePool::Create( 2094 *resource_pool = ResourcePool::Create(
2100 resource_provider_.get(), GL_TEXTURE_2D); 2095 resource_provider_.get(), GL_TEXTURE_2D);
2101 2096
2102 *tile_task_worker_pool = PixelBufferTileTaskWorkerPool::Create( 2097 *tile_task_worker_pool = PixelBufferTileTaskWorkerPool::Create(
2103 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), context_provider, 2098 task_runner, task_graph_runner_, context_provider,
2104 resource_provider_.get(), 2099 resource_provider_.get(),
2105 GetMaxTransferBufferUsageBytes(context_provider->ContextCapabilities(), 2100 GetMaxTransferBufferUsageBytes(context_provider->ContextCapabilities(),
2106 settings_.renderer_settings.refresh_rate)); 2101 settings_.renderer_settings.refresh_rate));
2107 } 2102 }
2108 2103
2109 void LayerTreeHostImpl::DestroyTileManager() { 2104 void LayerTreeHostImpl::DestroyTileManager() {
2110 tile_manager_ = nullptr; 2105 tile_manager_ = nullptr;
2111 resource_pool_ = nullptr; 2106 resource_pool_ = nullptr;
2112 staging_resource_pool_ = nullptr; 2107 staging_resource_pool_ = nullptr;
2113 tile_task_worker_pool_ = nullptr; 2108 tile_task_worker_pool_ = nullptr;
(...skipping 892 matching lines...) Expand 10 before | Expand all | Expand 10 after
3006 static void CollectScrollDeltas(ScrollAndScaleSet* scroll_info, 3001 static void CollectScrollDeltas(ScrollAndScaleSet* scroll_info,
3007 LayerImpl* layer_impl) { 3002 LayerImpl* layer_impl) {
3008 if (!layer_impl) 3003 if (!layer_impl)
3009 return; 3004 return;
3010 3005
3011 gfx::ScrollOffset scroll_delta = layer_impl->PullDeltaForMainThread(); 3006 gfx::ScrollOffset scroll_delta = layer_impl->PullDeltaForMainThread();
3012 3007
3013 if (!scroll_delta.IsZero()) { 3008 if (!scroll_delta.IsZero()) {
3014 LayerTreeHostCommon::ScrollUpdateInfo scroll; 3009 LayerTreeHostCommon::ScrollUpdateInfo scroll;
3015 scroll.layer_id = layer_impl->id(); 3010 scroll.layer_id = layer_impl->id();
3016 scroll.scroll_delta = gfx::Vector2dF(scroll_delta.x(), scroll_delta.y()); 3011 scroll.scroll_delta = gfx::Vector2d(scroll_delta.x(), scroll_delta.y());
3017 scroll_info->scrolls.push_back(scroll); 3012 scroll_info->scrolls.push_back(scroll);
3018 } 3013 }
3019 3014
3020 for (size_t i = 0; i < layer_impl->children().size(); ++i) 3015 for (size_t i = 0; i < layer_impl->children().size(); ++i)
3021 CollectScrollDeltas(scroll_info, layer_impl->children()[i]); 3016 CollectScrollDeltas(scroll_info, layer_impl->children()[i]);
3022 } 3017 }
3023 3018
3024 scoped_ptr<ScrollAndScaleSet> LayerTreeHostImpl::ProcessScrollDeltas() { 3019 scoped_ptr<ScrollAndScaleSet> LayerTreeHostImpl::ProcessScrollDeltas() {
3025 scoped_ptr<ScrollAndScaleSet> scroll_info(new ScrollAndScaleSet()); 3020 scoped_ptr<ScrollAndScaleSet> scroll_info(new ScrollAndScaleSet());
3026 3021
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
3240 FrameData* frame, 3235 FrameData* frame,
3241 base::trace_event::TracedValue* state) const { 3236 base::trace_event::TracedValue* state) const {
3242 if (this->pending_tree_) { 3237 if (this->pending_tree_) {
3243 state->BeginDictionary("activation_state"); 3238 state->BeginDictionary("activation_state");
3244 ActivationStateAsValueInto(state); 3239 ActivationStateAsValueInto(state);
3245 state->EndDictionary(); 3240 state->EndDictionary();
3246 } 3241 }
3247 MathUtil::AddToTracedValue("device_viewport_size", device_viewport_size_, 3242 MathUtil::AddToTracedValue("device_viewport_size", device_viewport_size_,
3248 state); 3243 state);
3249 3244
3250 std::set<const Tile*> tiles; 3245 std::map<const Tile*, TilePriority> tile_map;
3251 active_tree_->GetAllTilesForTracing(&tiles); 3246 active_tree_->GetAllTilesAndPrioritiesForTracing(&tile_map);
3252 if (pending_tree_) 3247 if (pending_tree_)
3253 pending_tree_->GetAllTilesForTracing(&tiles); 3248 pending_tree_->GetAllTilesAndPrioritiesForTracing(&tile_map);
3254 3249
3255 state->BeginArray("active_tiles"); 3250 state->BeginArray("active_tiles");
3256 for (std::set<const Tile*>::const_iterator it = tiles.begin(); 3251 for (const auto& pair : tile_map) {
3257 it != tiles.end(); 3252 const Tile* tile = pair.first;
3258 ++it) { 3253 const TilePriority& priority = pair.second;
3259 const Tile* tile = *it;
3260 3254
3261 state->BeginDictionary(); 3255 state->BeginDictionary();
3262 tile->AsValueInto(state); 3256 tile->AsValueWithPriorityInto(priority, state);
3263 state->EndDictionary(); 3257 state->EndDictionary();
3264 } 3258 }
3265 state->EndArray(); 3259 state->EndArray();
3266 3260
3267 if (tile_manager_) { 3261 if (tile_manager_) {
3268 state->BeginDictionary("tile_manager_basic_state"); 3262 state->BeginDictionary("tile_manager_basic_state");
3269 tile_manager_->BasicStateAsValueInto(state); 3263 tile_manager_->BasicStateAsValueInto(state);
3270 state->EndDictionary(); 3264 state->EndDictionary();
3271 } 3265 }
3272 state->BeginDictionary("active_tree"); 3266 state->BeginDictionary("active_tree");
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
3470 new_target.SetToMin(layer_impl->MaxScrollOffset()); 3464 new_target.SetToMin(layer_impl->MaxScrollOffset());
3471 3465
3472 curve->UpdateTarget( 3466 curve->UpdateTarget(
3473 animation->TrimTimeToCurrentIteration(CurrentBeginFrameArgs().frame_time) 3467 animation->TrimTimeToCurrentIteration(CurrentBeginFrameArgs().frame_time)
3474 .InSecondsF(), 3468 .InSecondsF(),
3475 new_target); 3469 new_target);
3476 3470
3477 return true; 3471 return true;
3478 } 3472 }
3479 } // namespace cc 3473 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_impl.h ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698