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

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

Issue 1520623003: cc:: Change plumbing for external_begin_frame_source to the Scheduler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Missing include. Created 5 years 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.h ('k') | cc/trees/proxy.h » ('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.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 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 debug_state_.RecordRenderingStats()); 137 debug_state_.RecordRenderingStats());
138 } 138 }
139 139
140 void LayerTreeHost::InitializeThreaded( 140 void LayerTreeHost::InitializeThreaded(
141 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, 141 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
142 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner, 142 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner,
143 scoped_ptr<BeginFrameSource> external_begin_frame_source) { 143 scoped_ptr<BeginFrameSource> external_begin_frame_source) {
144 task_runner_provider_ = 144 task_runner_provider_ =
145 TaskRunnerProvider::Create(main_task_runner, impl_task_runner); 145 TaskRunnerProvider::Create(main_task_runner, impl_task_runner);
146 scoped_ptr<ProxyMain> proxy_main = 146 scoped_ptr<ProxyMain> proxy_main =
147 ProxyMain::CreateThreaded(this, task_runner_provider_.get(), 147 ProxyMain::CreateThreaded(this, task_runner_provider_.get());
148 std::move(external_begin_frame_source)); 148 InitializeProxy(std::move(proxy_main),
149 InitializeProxy(std::move(proxy_main)); 149 std::move(external_begin_frame_source));
150 } 150 }
151 151
152 void LayerTreeHost::InitializeSingleThreaded( 152 void LayerTreeHost::InitializeSingleThreaded(
153 LayerTreeHostSingleThreadClient* single_thread_client, 153 LayerTreeHostSingleThreadClient* single_thread_client,
154 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, 154 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
155 scoped_ptr<BeginFrameSource> external_begin_frame_source) { 155 scoped_ptr<BeginFrameSource> external_begin_frame_source) {
156 task_runner_provider_ = TaskRunnerProvider::Create(main_task_runner, nullptr); 156 task_runner_provider_ = TaskRunnerProvider::Create(main_task_runner, nullptr);
157 InitializeProxy(SingleThreadProxy::Create( 157 InitializeProxy(SingleThreadProxy::Create(this, single_thread_client,
158 this, single_thread_client, task_runner_provider_.get(), 158 task_runner_provider_.get()),
159 std::move(external_begin_frame_source))); 159 std::move(external_begin_frame_source));
160 } 160 }
161 161
162 void LayerTreeHost::InitializeForTesting( 162 void LayerTreeHost::InitializeForTesting(
163 scoped_ptr<TaskRunnerProvider> task_runner_provider, 163 scoped_ptr<TaskRunnerProvider> task_runner_provider,
164 scoped_ptr<Proxy> proxy_for_testing) { 164 scoped_ptr<Proxy> proxy_for_testing,
165 scoped_ptr<BeginFrameSource> external_begin_frame_source) {
165 task_runner_provider_ = std::move(task_runner_provider); 166 task_runner_provider_ = std::move(task_runner_provider);
166 InitializeProxy(std::move(proxy_for_testing)); 167 InitializeProxy(std::move(proxy_for_testing),
168 std::move(external_begin_frame_source));
167 } 169 }
168 170
169 void LayerTreeHost::SetTaskRunnerProviderForTesting( 171 void LayerTreeHost::SetTaskRunnerProviderForTesting(
170 scoped_ptr<TaskRunnerProvider> task_runner_provider) { 172 scoped_ptr<TaskRunnerProvider> task_runner_provider) {
171 DCHECK(!task_runner_provider_); 173 DCHECK(!task_runner_provider_);
172 task_runner_provider_ = std::move(task_runner_provider); 174 task_runner_provider_ = std::move(task_runner_provider);
173 } 175 }
174 176
175 void LayerTreeHost::InitializeProxy(scoped_ptr<Proxy> proxy) { 177 void LayerTreeHost::InitializeProxy(
178 scoped_ptr<Proxy> proxy,
179 scoped_ptr<BeginFrameSource> external_begin_frame_source) {
176 TRACE_EVENT0("cc", "LayerTreeHost::InitializeForReal"); 180 TRACE_EVENT0("cc", "LayerTreeHost::InitializeForReal");
177 181
178 proxy_ = std::move(proxy); 182 proxy_ = std::move(proxy);
179 proxy_->Start(); 183 proxy_->Start(std::move(external_begin_frame_source));
180 if (settings_.accelerated_animation_enabled) { 184 if (settings_.accelerated_animation_enabled) {
181 if (animation_host_) 185 if (animation_host_)
182 animation_host_->SetSupportsScrollAnimations( 186 animation_host_->SetSupportsScrollAnimations(
183 proxy_->SupportsImplScrolling()); 187 proxy_->SupportsImplScrolling());
184 else 188 else
185 animation_registrar_->set_supports_scroll_animations( 189 animation_registrar_->set_supports_scroll_animations(
186 proxy_->SupportsImplScrolling()); 190 proxy_->SupportsImplScrolling());
187 } 191 }
188 } 192 }
189 193
(...skipping 1073 matching lines...) Expand 10 before | Expand all | Expand 10 after
1263 return compositor_mode_ == CompositorMode::SingleThreaded; 1267 return compositor_mode_ == CompositorMode::SingleThreaded;
1264 } 1268 }
1265 1269
1266 bool LayerTreeHost::IsThreaded() const { 1270 bool LayerTreeHost::IsThreaded() const {
1267 DCHECK(compositor_mode_ != CompositorMode::Threaded || 1271 DCHECK(compositor_mode_ != CompositorMode::Threaded ||
1268 task_runner_provider_->HasImplThread()); 1272 task_runner_provider_->HasImplThread());
1269 return compositor_mode_ == CompositorMode::Threaded; 1273 return compositor_mode_ == CompositorMode::Threaded;
1270 } 1274 }
1271 1275
1272 } // namespace cc 1276 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host.h ('k') | cc/trees/proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698