diff options
author | skyostil <skyostil@chromium.org> | 2014-09-09 03:12:07 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-09 10:13:42 +0000 |
commit | 457b0a1c94129337a08d0efcc3fd016205a981b4 (patch) | |
tree | 1758efc6b74efd121bf0af4766c94de55537cd7f /content/renderer/gpu | |
parent | 6b767135e631b94cd096c78f6622be28a4af277e (diff) | |
download | chromium_src-457b0a1c94129337a08d0efcc3fd016205a981b4.zip chromium_src-457b0a1c94129337a08d0efcc3fd016205a981b4.tar.gz chromium_src-457b0a1c94129337a08d0efcc3fd016205a981b4.tar.bz2 |
Forward input tasks to the Blink scheduler
Instead of posting input tasks directly to the main thread
message loop, forward them to the Blink scheduler so they
can be prioritized over other tasks.
BUG=391005
Review URL: https://codereview.chromium.org/363383002
Cr-Commit-Position: refs/heads/master@{#293914}
Diffstat (limited to 'content/renderer/gpu')
-rw-r--r-- | content/renderer/gpu/render_widget_compositor.cc | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc index a9001f3..d264aaa 100644 --- a/content/renderer/gpu/render_widget_compositor.cc +++ b/content/renderer/gpu/render_widget_compositor.cc @@ -522,6 +522,8 @@ bool RenderWidgetCompositor::SendMessageToMicroBenchmark( void RenderWidgetCompositor::Initialize(cc::LayerTreeSettings settings) { scoped_refptr<base::MessageLoopProxy> compositor_message_loop_proxy; + scoped_refptr<base::SingleThreadTaskRunner> + main_thread_compositor_task_runner(base::MessageLoopProxy::current()); RenderThreadImpl* render_thread = RenderThreadImpl::current(); cc::SharedBitmapManager* shared_bitmap_manager = NULL; // render_thread may be NULL in tests. @@ -529,21 +531,23 @@ void RenderWidgetCompositor::Initialize(cc::LayerTreeSettings settings) { compositor_message_loop_proxy = render_thread->compositor_message_loop_proxy(); shared_bitmap_manager = render_thread->shared_bitmap_manager(); + main_thread_compositor_task_runner = + render_thread->main_thread_compositor_task_runner(); } if (compositor_message_loop_proxy.get()) { - layer_tree_host_ = cc::LayerTreeHost::CreateThreaded( - this, - shared_bitmap_manager, - settings, - base::MessageLoopProxy::current(), - compositor_message_loop_proxy); + layer_tree_host_ = + cc::LayerTreeHost::CreateThreaded(this, + shared_bitmap_manager, + settings, + main_thread_compositor_task_runner, + compositor_message_loop_proxy); } else { layer_tree_host_ = cc::LayerTreeHost::CreateSingleThreaded( this, this, shared_bitmap_manager, settings, - base::MessageLoopProxy::current()); + main_thread_compositor_task_runner); } DCHECK(layer_tree_host_); } |