chromium/chrome/browser/safe_browsing/incident_reporting/delayed_callback_runner.h

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_SAFE_BROWSING_INCIDENT_REPORTING_DELAYED_CALLBACK_RUNNER_H_
#define CHROME_BROWSER_SAFE_BROWSING_INCIDENT_REPORTING_DELAYED_CALLBACK_RUNNER_H_

#include "base/containers/queue.h"
#include "base/functional/callback_forward.h"
#include "base/memory/ref_counted.h"
#include "base/task/task_runner.h"
#include "base/time/time.h"
#include "base/timer/timer.h"

namespace safe_browsing {

// Runs callbacks on a given task runner, waiting a certain amount of time
// between each. The delay also applies to running the first callback (i.e.,
// the first callback will be run some time after Start() is invoked). Callbacks
// are deleted after they are run. Start() is idempotent: calling it while the
// runner is doing its job has no effect.
// Lives on the UI thread.
class DelayedCallbackRunner {};

}  // namespace safe_browsing

#endif  // CHROME_BROWSER_SAFE_BROWSING_INCIDENT_REPORTING_DELAYED_CALLBACK_RUNNER_H_