1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chromecast/base/task_runner_impl.h"
8 #include "base/location.h"
9 #include "base/single_thread_task_runner.h"
10 #include "base/thread_task_runner_handle.h"
12 namespace chromecast
{
14 TaskRunnerImpl::TaskRunnerImpl()
15 : runner_(base::ThreadTaskRunnerHandle::Get()) {
16 DCHECK(runner_
.get());
19 TaskRunnerImpl::~TaskRunnerImpl() {}
21 bool TaskRunnerImpl::PostTask(Task
* task
, uint64_t delay_milliseconds
) {
23 if (delay_milliseconds
== 0 && runner_
->BelongsToCurrentThread()) {
29 // TODO(halliwell): FROM_HERE is misleading, we should consider a macro for
30 // vendor backends to send the callsite info.
31 return runner_
->PostDelayedTask(
32 FROM_HERE
, base::Bind(&Task::Run
, base::Owned(task
)),
33 base::TimeDelta::FromMilliseconds(delay_milliseconds
));
36 } // namespace chromecast