| Index: content/renderer/render_thread_impl.cc
|
| diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
| index 0291a86cfbc8b94d9ade4a3367ad520b552a1da0..2298b4017005769a6d9c38239684045ffaabe21f 100644
|
| --- a/content/renderer/render_thread_impl.cc
|
| +++ b/content/renderer/render_thread_impl.cc
|
| @@ -432,30 +432,43 @@ RenderThreadImpl* RenderThreadImpl::current() {
|
|
|
| // When we run plugins in process, we actually run them on the render thread,
|
| // which means that we need to make the render thread pump UI events.
|
| -RenderThreadImpl::RenderThreadImpl()
|
| - : ChildThreadImpl(Options::Builder()
|
| - .InBrowserProcess(true)
|
| - .UseMojoChannel(ShouldUseMojoChannel())
|
| - .Build()) {
|
| +RenderThreadImpl::RenderThreadImpl(
|
| + scoped_ptr<RendererScheduler> renderer_scheduler)
|
| + : ChildThreadImpl(
|
| + Options::Builder()
|
| + .InBrowserProcess(true)
|
| + .UseMojoChannel(ShouldUseMojoChannel())
|
| + .WithTaskRunner(renderer_scheduler->DefaultTaskRunner())
|
| + .Build()),
|
| + renderer_scheduler_(renderer_scheduler.Pass()) {
|
| Init();
|
| }
|
|
|
| -RenderThreadImpl::RenderThreadImpl(const std::string& channel_name)
|
| - : ChildThreadImpl(Options::Builder()
|
| - .InBrowserProcess(true)
|
| - .UseMojoChannel(ShouldUseMojoChannel())
|
| - .WithChannelName(channel_name)
|
| - .Build()) {
|
| +RenderThreadImpl::RenderThreadImpl(
|
| + const std::string& channel_name,
|
| + scoped_ptr<RendererScheduler> renderer_scheduler)
|
| + : ChildThreadImpl(
|
| + Options::Builder()
|
| + .InBrowserProcess(true)
|
| + .UseMojoChannel(ShouldUseMojoChannel())
|
| + .WithChannelName(channel_name)
|
| + .WithTaskRunner(renderer_scheduler->DefaultTaskRunner())
|
| + .Build()),
|
| + renderer_scheduler_(renderer_scheduler.Pass()) {
|
| Init();
|
| }
|
|
|
| RenderThreadImpl::RenderThreadImpl(
|
| - scoped_ptr<base::MessageLoop> main_message_loop)
|
| - : ChildThreadImpl(Options::Builder()
|
| - // TODO(skyostil): This should be set to false.
|
| - .InBrowserProcess(true)
|
| - .UseMojoChannel(ShouldUseMojoChannel())
|
| - .Build()),
|
| + scoped_ptr<base::MessageLoop> main_message_loop,
|
| + scoped_ptr<RendererScheduler> renderer_scheduler)
|
| + : ChildThreadImpl(
|
| + Options::Builder()
|
| + // TODO(skyostil): This should be set to false.
|
| + .InBrowserProcess(true)
|
| + .UseMojoChannel(ShouldUseMojoChannel())
|
| + .WithTaskRunner(renderer_scheduler->DefaultTaskRunner())
|
| + .Build()),
|
| + renderer_scheduler_(renderer_scheduler.Pass()),
|
| main_message_loop_(main_message_loop.Pass()) {
|
| Init();
|
| }
|
| @@ -492,7 +505,6 @@ void RenderThreadImpl::Init() {
|
| dom_storage_dispatcher_.reset(new DomStorageDispatcher());
|
| main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher(
|
| thread_safe_sender()));
|
| - renderer_scheduler_ = RendererScheduler::Create();
|
| channel()->SetListenerTaskRunner(renderer_scheduler_->DefaultTaskRunner());
|
| embedded_worker_dispatcher_.reset(new EmbeddedWorkerDispatcher());
|
|
|
|
|