summaryrefslogtreecommitdiff
path: root/chromium/components/scheduler/child/web_task_runner_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/scheduler/child/web_task_runner_impl.cc')
-rw-r--r--chromium/components/scheduler/child/web_task_runner_impl.cc15
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