summaryrefslogtreecommitdiffstats
path: root/content/renderer/gpu
diff options
context:
space:
mode:
authorskyostil <skyostil@chromium.org>2014-09-09 03:12:07 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-09 10:13:42 +0000
commit457b0a1c94129337a08d0efcc3fd016205a981b4 (patch)
tree1758efc6b74efd121bf0af4766c94de55537cd7f /content/renderer/gpu
parent6b767135e631b94cd096c78f6622be28a4af277e (diff)
downloadchromium_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.cc18
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_);
}