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

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

Issue 2810813004: Hide fullscreen rotation jank (Closed)
Patch Set: Show a black frame during fullscreen transitions to hide jank Created 3 years, 7 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/proxy_main.h" 5 #include "cc/trees/proxy_main.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 frame_sink_bound_weak_factory_.GetWeakPtr())); 301 frame_sink_bound_weak_factory_.GetWeakPtr()));
302 } 302 }
303 303
304 void ProxyMain::SetVisible(bool visible) { 304 void ProxyMain::SetVisible(bool visible) {
305 TRACE_EVENT1("cc", "ProxyMain::SetVisible", "visible", visible); 305 TRACE_EVENT1("cc", "ProxyMain::SetVisible", "visible", visible);
306 ImplThreadTaskRunner()->PostTask( 306 ImplThreadTaskRunner()->PostTask(
307 FROM_HERE, base::BindOnce(&ProxyImpl::SetVisibleOnImpl, 307 FROM_HERE, base::BindOnce(&ProxyImpl::SetVisibleOnImpl,
308 base::Unretained(proxy_impl_.get()), visible)); 308 base::Unretained(proxy_impl_.get()), visible));
309 } 309 }
310 310
311 void ProxyMain::SetIsFullscreen(bool is_fullscreen) {
312 TRACE_EVENT1("cc", "ProxyMain::SetIsFullscreen", "is_fullscreen",
313 is_fullscreen);
314 ImplThreadTaskRunner()->PostTask(
315 FROM_HERE,
316 base::BindOnce(&ProxyImpl::SetIsFullscreenOnImpl,
317 base::Unretained(proxy_impl_.get()), is_fullscreen));
318 }
319
311 void ProxyMain::SetNeedsAnimate() { 320 void ProxyMain::SetNeedsAnimate() {
312 DCHECK(IsMainThread()); 321 DCHECK(IsMainThread());
313 if (SendCommitRequestToImplThreadIfNeeded(ANIMATE_PIPELINE_STAGE)) { 322 if (SendCommitRequestToImplThreadIfNeeded(ANIMATE_PIPELINE_STAGE)) {
314 TRACE_EVENT_INSTANT0("cc", "ProxyMain::SetNeedsAnimate", 323 TRACE_EVENT_INSTANT0("cc", "ProxyMain::SetNeedsAnimate",
315 TRACE_EVENT_SCOPE_THREAD); 324 TRACE_EVENT_SCOPE_THREAD);
316 } 325 }
317 } 326 }
318 327
319 void ProxyMain::SetNeedsUpdateLayers() { 328 void ProxyMain::SetNeedsUpdateLayers() {
320 DCHECK(IsMainThread()); 329 DCHECK(IsMainThread());
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 527
519 bool ProxyMain::IsImplThread() const { 528 bool ProxyMain::IsImplThread() const {
520 return task_runner_provider_->IsImplThread(); 529 return task_runner_provider_->IsImplThread();
521 } 530 }
522 531
523 base::SingleThreadTaskRunner* ProxyMain::ImplThreadTaskRunner() { 532 base::SingleThreadTaskRunner* ProxyMain::ImplThreadTaskRunner() {
524 return task_runner_provider_->ImplThreadTaskRunner(); 533 return task_runner_provider_->ImplThreadTaskRunner();
525 } 534 }
526 535
527 } // namespace cc 536 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698