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

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

Issue 2267263002: cc: Delete all the RendererCapabilities. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@remove-prepare-mailbox-param
Patch Set: renderer-caps: rebase Created 4 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
« no previous file with comments | « cc/trees/single_thread_proxy.h ('k') | cc/trees/threaded_channel.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/single_thread_proxy.h" 5 #include "cc/trees/single_thread_proxy.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "base/profiler/scoped_tracker.h" 9 #include "base/profiler/scoped_tracker.h"
10 #include "base/trace_event/trace_event.h" 10 #include "base/trace_event/trace_event.h"
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 145
146 if (scheduler_on_impl_thread_) 146 if (scheduler_on_impl_thread_)
147 scheduler_on_impl_thread_->DidLoseOutputSurface(); 147 scheduler_on_impl_thread_->DidLoseOutputSurface();
148 return layer_tree_host_impl_->ReleaseOutputSurface(); 148 return layer_tree_host_impl_->ReleaseOutputSurface();
149 } 149 }
150 150
151 void SingleThreadProxy::SetOutputSurface(OutputSurface* output_surface) { 151 void SingleThreadProxy::SetOutputSurface(OutputSurface* output_surface) {
152 DCHECK(task_runner_provider_->IsMainThread()); 152 DCHECK(task_runner_provider_->IsMainThread());
153 DCHECK(layer_tree_host_->output_surface_lost()); 153 DCHECK(layer_tree_host_->output_surface_lost());
154 DCHECK(output_surface_creation_requested_); 154 DCHECK(output_surface_creation_requested_);
155 renderer_capabilities_for_main_thread_ = RendererCapabilities();
156 155
157 bool success; 156 bool success;
158 { 157 {
159 DebugScopedSetMainThreadBlocked main_thread_blocked(task_runner_provider_); 158 DebugScopedSetMainThreadBlocked main_thread_blocked(task_runner_provider_);
160 DebugScopedSetImplThread impl(task_runner_provider_); 159 DebugScopedSetImplThread impl(task_runner_provider_);
161 success = layer_tree_host_impl_->InitializeRenderer(output_surface); 160 success = layer_tree_host_impl_->InitializeRenderer(output_surface);
162 } 161 }
163 162
164 if (success) { 163 if (success) {
165 layer_tree_host_->DidInitializeOutputSurface(); 164 layer_tree_host_->DidInitializeOutputSurface();
166 if (scheduler_on_impl_thread_) 165 if (scheduler_on_impl_thread_)
167 scheduler_on_impl_thread_->DidCreateAndInitializeOutputSurface(); 166 scheduler_on_impl_thread_->DidCreateAndInitializeOutputSurface();
168 else if (!inside_synchronous_composite_) 167 else if (!inside_synchronous_composite_)
169 SetNeedsCommit(); 168 SetNeedsCommit();
170 output_surface_creation_requested_ = false; 169 output_surface_creation_requested_ = false;
171 } else { 170 } else {
172 // DidFailToInitializeOutputSurface is treated as a RequestNewOutputSurface, 171 // DidFailToInitializeOutputSurface is treated as a RequestNewOutputSurface,
173 // and so output_surface_creation_requested remains true. 172 // and so output_surface_creation_requested remains true.
174 layer_tree_host_->DidFailToInitializeOutputSurface(); 173 layer_tree_host_->DidFailToInitializeOutputSurface();
175 } 174 }
176 } 175 }
177 176
178 const RendererCapabilities& SingleThreadProxy::GetRendererCapabilities() const {
179 DCHECK(task_runner_provider_->IsMainThread());
180 DCHECK(!layer_tree_host_->output_surface_lost());
181 return renderer_capabilities_for_main_thread_;
182 }
183
184 void SingleThreadProxy::SetNeedsAnimate() { 177 void SingleThreadProxy::SetNeedsAnimate() {
185 TRACE_EVENT0("cc", "SingleThreadProxy::SetNeedsAnimate"); 178 TRACE_EVENT0("cc", "SingleThreadProxy::SetNeedsAnimate");
186 DCHECK(task_runner_provider_->IsMainThread()); 179 DCHECK(task_runner_provider_->IsMainThread());
187 client_->RequestScheduleAnimation(); 180 client_->RequestScheduleAnimation();
188 if (animate_requested_) 181 if (animate_requested_)
189 return; 182 return;
190 animate_requested_ = true; 183 animate_requested_ = true;
191 DebugScopedSetImplThread impl(task_runner_provider_); 184 DebugScopedSetImplThread impl(task_runner_provider_);
192 if (scheduler_on_impl_thread_) 185 if (scheduler_on_impl_thread_)
193 scheduler_on_impl_thread_->SetNeedsBeginMainFrame(); 186 scheduler_on_impl_thread_->SetNeedsBeginMainFrame();
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 void SingleThreadProxy::DidPrepareTiles() { 443 void SingleThreadProxy::DidPrepareTiles() {
451 DCHECK(task_runner_provider_->IsImplThread()); 444 DCHECK(task_runner_provider_->IsImplThread());
452 if (scheduler_on_impl_thread_) 445 if (scheduler_on_impl_thread_)
453 scheduler_on_impl_thread_->DidPrepareTiles(); 446 scheduler_on_impl_thread_->DidPrepareTiles();
454 } 447 }
455 448
456 void SingleThreadProxy::DidCompletePageScaleAnimationOnImplThread() { 449 void SingleThreadProxy::DidCompletePageScaleAnimationOnImplThread() {
457 layer_tree_host_->DidCompletePageScaleAnimation(); 450 layer_tree_host_->DidCompletePageScaleAnimation();
458 } 451 }
459 452
460 void SingleThreadProxy::UpdateRendererCapabilitiesOnImplThread() {
461 DCHECK(task_runner_provider_->IsImplThread());
462 renderer_capabilities_for_main_thread_ =
463 layer_tree_host_impl_->GetRendererCapabilities().MainThreadCapabilities();
464 }
465
466 void SingleThreadProxy::DidLoseOutputSurfaceOnImplThread() { 453 void SingleThreadProxy::DidLoseOutputSurfaceOnImplThread() {
467 TRACE_EVENT0("cc", "SingleThreadProxy::DidLoseOutputSurfaceOnImplThread"); 454 TRACE_EVENT0("cc", "SingleThreadProxy::DidLoseOutputSurfaceOnImplThread");
468 { 455 {
469 DebugScopedSetMainThread main(task_runner_provider_); 456 DebugScopedSetMainThread main(task_runner_provider_);
470 // This must happen before we notify the scheduler as it may try to recreate 457 // This must happen before we notify the scheduler as it may try to recreate
471 // the output surface if already in BEGIN_IMPL_FRAME_STATE_IDLE. 458 // the output surface if already in BEGIN_IMPL_FRAME_STATE_IDLE.
472 layer_tree_host_->DidLoseOutputSurface(); 459 layer_tree_host_->DidLoseOutputSurface();
473 } 460 }
474 client_->DidAbortSwapBuffers(); 461 client_->DidAbortSwapBuffers();
475 if (scheduler_on_impl_thread_) 462 if (scheduler_on_impl_thread_)
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after
876 void SingleThreadProxy::DidFinishImplFrame() { 863 void SingleThreadProxy::DidFinishImplFrame() {
877 layer_tree_host_impl_->DidFinishImplFrame(); 864 layer_tree_host_impl_->DidFinishImplFrame();
878 #if DCHECK_IS_ON() 865 #if DCHECK_IS_ON()
879 DCHECK(inside_impl_frame_) 866 DCHECK(inside_impl_frame_)
880 << "DidFinishImplFrame called while not inside an impl frame!"; 867 << "DidFinishImplFrame called while not inside an impl frame!";
881 inside_impl_frame_ = false; 868 inside_impl_frame_ = false;
882 #endif 869 #endif
883 } 870 }
884 871
885 } // namespace cc 872 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/single_thread_proxy.h ('k') | cc/trees/threaded_channel.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698