Index: content/renderer/scheduler/web_scheduler_impl.cc |
diff --git a/content/renderer/scheduler/web_scheduler_impl.cc b/content/renderer/scheduler/web_scheduler_impl.cc |
index c0a340795b7e219933bafc318f1327f8cf59ad89..1ca8a302698478b6257dbfed7dcf45cac9d67fe8 100644 |
--- a/content/renderer/scheduler/web_scheduler_impl.cc |
+++ b/content/renderer/scheduler/web_scheduler_impl.cc |
@@ -28,6 +28,10 @@ void WebSchedulerImpl::runIdleTask( |
task->run((deadline - base::TimeTicks()).InSecondsF()); |
} |
+void WebSchedulerImpl::runTask(scoped_ptr<blink::WebThread::Task> task) { |
+ task->run(); |
+} |
+ |
void WebSchedulerImpl::postIdleTask(const blink::WebTraceLocation& web_location, |
blink::WebScheduler::IdleTask* task) { |
scoped_ptr<blink::WebScheduler::IdleTask> scoped_task(task); |
@@ -38,6 +42,16 @@ void WebSchedulerImpl::postIdleTask(const blink::WebTraceLocation& web_location, |
base::Bind(&WebSchedulerImpl::runIdleTask, base::Passed(&scoped_task))); |
} |
+void WebSchedulerImpl::postLoadingTask( |
+ const blink::WebTraceLocation& web_location, blink::WebThread::Task* task) { |
+ scoped_ptr<blink::WebThread::Task> scoped_task(task); |
+ tracked_objects::Location location(web_location.functionName(), |
+ web_location.fileName(), -1, nullptr); |
+ renderer_scheduler_->LoadingTaskRunner()->PostTask( |
+ location, |
+ base::Bind(&WebSchedulerImpl::runTask, base::Passed(&scoped_task))); |
+} |
+ |
void WebSchedulerImpl::shutdown() { |
return renderer_scheduler_->Shutdown(); |
} |