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

Side by Side Diff: content/renderer/gpu/render_widget_compositor.cc

Issue 363383002: Forward input tasks to the Blink scheduler (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Unbreak single threaded mode. Created 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "content/renderer/gpu/render_widget_compositor.h" 5 #include "content/renderer/gpu/render_widget_compositor.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <string> 8 #include <string>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 } 515 }
516 516
517 bool RenderWidgetCompositor::SendMessageToMicroBenchmark( 517 bool RenderWidgetCompositor::SendMessageToMicroBenchmark(
518 int id, 518 int id,
519 scoped_ptr<base::Value> value) { 519 scoped_ptr<base::Value> value) {
520 return layer_tree_host_->SendMessageToMicroBenchmark(id, value.Pass()); 520 return layer_tree_host_->SendMessageToMicroBenchmark(id, value.Pass());
521 } 521 }
522 522
523 void RenderWidgetCompositor::Initialize(cc::LayerTreeSettings settings) { 523 void RenderWidgetCompositor::Initialize(cc::LayerTreeSettings settings) {
524 scoped_refptr<base::MessageLoopProxy> compositor_message_loop_proxy; 524 scoped_refptr<base::MessageLoopProxy> compositor_message_loop_proxy;
525 scoped_refptr<base::SingleThreadTaskRunner>
526 main_thread_compositor_task_runner(base::MessageLoopProxy::current());
525 RenderThreadImpl* render_thread = RenderThreadImpl::current(); 527 RenderThreadImpl* render_thread = RenderThreadImpl::current();
526 cc::SharedBitmapManager* shared_bitmap_manager = NULL; 528 cc::SharedBitmapManager* shared_bitmap_manager = NULL;
527 // render_thread may be NULL in tests. 529 // render_thread may be NULL in tests.
528 if (render_thread) { 530 if (render_thread) {
529 compositor_message_loop_proxy = 531 compositor_message_loop_proxy =
530 render_thread->compositor_message_loop_proxy(); 532 render_thread->compositor_message_loop_proxy();
531 shared_bitmap_manager = render_thread->shared_bitmap_manager(); 533 shared_bitmap_manager = render_thread->shared_bitmap_manager();
534 main_thread_compositor_task_runner =
535 render_thread->MainThreadCompositorTaskRunner();
532 } 536 }
533 if (compositor_message_loop_proxy.get()) { 537 if (compositor_message_loop_proxy.get()) {
534 layer_tree_host_ = cc::LayerTreeHost::CreateThreaded( 538 layer_tree_host_ =
535 this, 539 cc::LayerTreeHost::CreateThreaded(this,
536 shared_bitmap_manager, 540 shared_bitmap_manager,
537 settings, 541 settings,
538 base::MessageLoopProxy::current(), 542 main_thread_compositor_task_runner,
539 compositor_message_loop_proxy); 543 compositor_message_loop_proxy);
540 } else { 544 } else {
541 layer_tree_host_ = cc::LayerTreeHost::CreateSingleThreaded( 545 layer_tree_host_ = cc::LayerTreeHost::CreateSingleThreaded(
542 this, 546 this,
543 this, 547 this,
544 shared_bitmap_manager, 548 shared_bitmap_manager,
545 settings, 549 settings,
546 base::MessageLoopProxy::current()); 550 main_thread_compositor_task_runner);
547 } 551 }
548 DCHECK(layer_tree_host_); 552 DCHECK(layer_tree_host_);
549 } 553 }
550 554
551 void RenderWidgetCompositor::setSurfaceReady() { 555 void RenderWidgetCompositor::setSurfaceReady() {
552 layer_tree_host_->SetLayerTreeHostClientReady(); 556 layer_tree_host_->SetLayerTreeHostClientReady();
553 } 557 }
554 558
555 void RenderWidgetCompositor::setRootLayer(const blink::WebLayer& layer) { 559 void RenderWidgetCompositor::setRootLayer(const blink::WebLayer& layer) {
556 layer_tree_host_->SetRootLayer( 560 layer_tree_host_->SetRootLayer(
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
817 widget_->OnSwapBuffersAborted(); 821 widget_->OnSwapBuffersAborted();
818 } 822 }
819 823
820 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { 824 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() {
821 cc::ContextProvider* provider = 825 cc::ContextProvider* provider =
822 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); 826 RenderThreadImpl::current()->SharedMainThreadContextProvider().get();
823 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); 827 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM();
824 } 828 }
825 829
826 } // namespace content 830 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/renderer/input/input_event_filter.h » ('j') | content/renderer/render_thread_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698