diff options
Diffstat (limited to 'chromium/components/scheduler/child/web_task_runner_impl.cc')
-rw-r--r-- | chromium/components/scheduler/child/web_task_runner_impl.cc | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/chromium/components/scheduler/child/web_task_runner_impl.cc b/chromium/components/scheduler/child/web_task_runner_impl.cc index b4794a4c545..339917ba4a0 100644 --- a/chromium/components/scheduler/child/web_task_runner_impl.cc +++ b/chromium/components/scheduler/child/web_task_runner_impl.cc @@ -21,8 +21,10 @@ void WebTaskRunnerImpl::postTask(const blink::WebTraceLocation& web_location, blink::WebTaskRunner::Task* task) { tracked_objects::Location location(web_location.functionName(), web_location.fileName(), -1, nullptr); - task_runner_->PostTask(location, base::Bind(&blink::WebTaskRunner::Task::run, - base::Owned(task))); + task_runner_->PostTask( + location, + base::Bind(&WebTaskRunnerImpl::runTask, + base::Passed(scoped_ptr<blink::WebTaskRunner::Task>(task)))); } void WebTaskRunnerImpl::postDelayedTask( @@ -32,8 +34,15 @@ void WebTaskRunnerImpl::postDelayedTask( tracked_objects::Location location(web_location.functionName(), web_location.fileName(), -1, nullptr); task_runner_->PostDelayedTask( - location, base::Bind(&blink::WebTaskRunner::Task::run, base::Owned(task)), + location, + base::Bind(&WebTaskRunnerImpl::runTask, + base::Passed(scoped_ptr<blink::WebTaskRunner::Task>(task))), base::TimeDelta::FromMillisecondsD(delayMs)); } +void WebTaskRunnerImpl::runTask(scoped_ptr<blink::WebTaskRunner::Task> task) +{ + task->run(); +} + } // namespace scheduler |