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

Side by Side Diff: cc/test/fake_layer_tree_host.cc

Issue 2251143002: cc: Reland Move data to LayerTree from LayerTreeHost. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: better fix? Created 4 years, 4 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/test/fake_layer_tree_host.h" 5 #include "cc/test/fake_layer_tree_host.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "cc/animation/animation_host.h" 8 #include "cc/animation/animation_host.h"
9 #include "cc/layers/layer.h" 9 #include "cc/layers/layer.h"
10 #include "cc/test/fake_image_serialization_processor.h" 10 #include "cc/test/fake_image_serialization_processor.h"
11 #include "cc/test/test_task_graph_runner.h" 11 #include "cc/test/test_task_graph_runner.h"
12 #include "cc/trees/layer_tree.h"
12 13
13 namespace cc { 14 namespace cc {
15
16 namespace {
17
18 class FakeLayerTree : public LayerTree {
19 public:
20 FakeLayerTree(std::unique_ptr<AnimationHost> animation_host,
vmpstr 2016/08/17 20:28:15 minor nit: this could be templatized with a parame
21 LayerTreeHost* layer_tree_host)
22 : LayerTree(std::move(animation_host), layer_tree_host) {}
23
24 void SetNeedsFullTreeSync() override {}
25 };
26
27 } // namespace
28
14 FakeLayerTreeHost::FakeLayerTreeHost(FakeLayerTreeHostClient* client, 29 FakeLayerTreeHost::FakeLayerTreeHost(FakeLayerTreeHostClient* client,
15 LayerTreeHost::InitParams* params, 30 LayerTreeHost::InitParams* params,
16 CompositorMode mode) 31 CompositorMode mode)
17 : LayerTreeHost(params, mode), 32 : LayerTreeHost(
33 params,
34 mode,
35 base::MakeUnique<FakeLayerTree>(std::move(params->animation_host),
36 this)),
18 client_(client), 37 client_(client),
19 host_impl_(*params->settings, 38 host_impl_(*params->settings,
20 &task_runner_provider_, 39 &task_runner_provider_,
21 &manager_, 40 &manager_,
22 params->task_graph_runner), 41 params->task_graph_runner),
23 needs_commit_(false), 42 needs_commit_(false),
24 renderer_capabilities_set(false) { 43 renderer_capabilities_set(false) {
25 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner = 44 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner =
26 mode == CompositorMode::THREADED ? base::ThreadTaskRunnerHandle::Get() 45 mode == CompositorMode::THREADED ? base::ThreadTaskRunnerHandle::Get()
27 : nullptr; 46 : nullptr;
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 108
90 LayerImpl* FakeLayerTreeHost::CommitAndCreateLayerImplTree() { 109 LayerImpl* FakeLayerTreeHost::CommitAndCreateLayerImplTree() {
91 TreeSynchronizer::SynchronizeTrees(root_layer(), active_tree()); 110 TreeSynchronizer::SynchronizeTrees(root_layer(), active_tree());
92 active_tree()->SetPropertyTrees(property_trees()); 111 active_tree()->SetPropertyTrees(property_trees());
93 TreeSynchronizer::PushLayerProperties(root_layer()->GetLayerTree(), 112 TreeSynchronizer::PushLayerProperties(root_layer()->GetLayerTree(),
94 active_tree()); 113 active_tree());
95 animation_host()->PushPropertiesTo(host_impl_.animation_host()); 114 animation_host()->PushPropertiesTo(host_impl_.animation_host());
96 115
97 active_tree()->UpdatePropertyTreeScrollOffset(property_trees()); 116 active_tree()->UpdatePropertyTreeScrollOffset(property_trees());
98 117
99 if (page_scale_layer() && inner_viewport_scroll_layer()) { 118 if (layer_tree_->page_scale_layer() &&
119 layer_tree_->inner_viewport_scroll_layer()) {
100 active_tree()->SetViewportLayersFromIds( 120 active_tree()->SetViewportLayersFromIds(
101 overscroll_elasticity_layer() ? overscroll_elasticity_layer()->id() 121 layer_tree_->overscroll_elasticity_layer()
102 : Layer::INVALID_ID, 122 ? layer_tree_->overscroll_elasticity_layer()->id()
103 page_scale_layer()->id(), inner_viewport_scroll_layer()->id(), 123 : Layer::INVALID_ID,
104 outer_viewport_scroll_layer() ? outer_viewport_scroll_layer()->id() 124 layer_tree_->page_scale_layer()->id(),
105 : Layer::INVALID_ID); 125 layer_tree_->inner_viewport_scroll_layer()->id(),
126 layer_tree_->outer_viewport_scroll_layer()
127 ? layer_tree_->outer_viewport_scroll_layer()->id()
128 : Layer::INVALID_ID);
106 } 129 }
107 130
108 active_tree()->UpdatePropertyTreesForBoundsDelta(); 131 active_tree()->UpdatePropertyTreesForBoundsDelta();
109 return active_tree()->root_layer_for_testing(); 132 return active_tree()->root_layer_for_testing();
110 } 133 }
111 134
112 LayerImpl* FakeLayerTreeHost::CommitAndCreatePendingTree() { 135 LayerImpl* FakeLayerTreeHost::CommitAndCreatePendingTree() {
113 TreeSynchronizer::SynchronizeTrees(root_layer(), pending_tree()); 136 TreeSynchronizer::SynchronizeTrees(root_layer(), pending_tree());
114 pending_tree()->SetPropertyTrees(property_trees()); 137 pending_tree()->SetPropertyTrees(property_trees());
115 TreeSynchronizer::PushLayerProperties(root_layer()->GetLayerTree(), 138 TreeSynchronizer::PushLayerProperties(root_layer()->GetLayerTree(),
116 pending_tree()); 139 pending_tree());
117 animation_host()->PushPropertiesTo(host_impl_.animation_host()); 140 animation_host()->PushPropertiesTo(host_impl_.animation_host());
118 141
119 pending_tree()->UpdatePropertyTreeScrollOffset(property_trees()); 142 pending_tree()->UpdatePropertyTreeScrollOffset(property_trees());
120 return pending_tree()->root_layer_for_testing(); 143 return pending_tree()->root_layer_for_testing();
121 } 144 }
122 145
123 } // namespace cc 146 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698