1// Copyright (c) 2012 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. 4 5#include "base/basictypes.h" 6#include "base/compiler_specific.h" 7#include "base/single_thread_task_runner.h" 8 9namespace base { 10 11// Helper class for tests that need to provide an implementation of a 12// *TaskRunner class but don't actually care about tasks being run. 13 14class NullTaskRunner : public base::SingleThreadTaskRunner { 15 public: 16 NullTaskRunner(); 17 18 virtual bool PostDelayedTask(const tracked_objects::Location& from_here, 19 const base::Closure& task, 20 base::TimeDelta delay) OVERRIDE; 21 virtual bool PostNonNestableDelayedTask( 22 const tracked_objects::Location& from_here, 23 const base::Closure& task, 24 base::TimeDelta delay) OVERRIDE; 25 // Always returns true to avoid triggering DCHECKs. 26 virtual bool RunsTasksOnCurrentThread() const OVERRIDE; 27 28 protected: 29 virtual ~NullTaskRunner(); 30 31 DISALLOW_COPY_AND_ASSIGN(NullTaskRunner); 32}; 33 34} // namespace 35