| Index: webkit/dom_storage/dom_storage_task_runner.cc
|
| ===================================================================
|
| --- webkit/dom_storage/dom_storage_task_runner.cc (revision 0)
|
| +++ webkit/dom_storage/dom_storage_task_runner.cc (revision 0)
|
| @@ -0,0 +1,71 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "webkit/dom_storage/dom_storage_task_runner.h"
|
| +
|
| +#include "base/bind.h"
|
| +#include "base/bind_helpers.h"
|
| +#include "base/message_loop_proxy.h"
|
| +
|
| +namespace dom_storage {
|
| +
|
| +// DomStorageTaskRunner
|
| +
|
| +DomStorageTaskRunner::DomStorageTaskRunner(
|
| + base::MessageLoopProxy* message_loop)
|
| + : message_loop_(message_loop) {
|
| +}
|
| +
|
| +DomStorageTaskRunner::~DomStorageTaskRunner() {
|
| +}
|
| +
|
| +void DomStorageTaskRunner::PostTask(
|
| + const tracked_objects::Location& from_here,
|
| + const base::Closure& task) {
|
| + message_loop_->PostTask(from_here, task);
|
| +}
|
| +
|
| +void DomStorageTaskRunner::PostDelayedTask(
|
| + const tracked_objects::Location& from_here,
|
| + const base::Closure& task,
|
| + base::TimeDelta delay) {
|
| + message_loop_->PostDelayedTask(from_here, task, delay.InMilliseconds());
|
| +}
|
| +
|
| +// DomStorageWorkerPoolTaskRunner
|
| +
|
| +DomStorageWorkerPoolTaskRunner::DomStorageWorkerPoolTaskRunner(
|
| + base::SequencedWorkerPool* sequenced_worker_pool,
|
| + base::MessageLoopProxy* delayed_task_loop)
|
| + : DomStorageTaskRunner(delayed_task_loop),
|
| + sequenced_worker_pool_(sequenced_worker_pool),
|
| + sequence_token_(
|
| + sequenced_worker_pool->GetNamedSequenceToken("dom_storage_token")) {
|
| +}
|
| +
|
| +DomStorageWorkerPoolTaskRunner::~DomStorageWorkerPoolTaskRunner() {
|
| +}
|
| +
|
| +void DomStorageWorkerPoolTaskRunner::PostTask(
|
| + const tracked_objects::Location& from_here,
|
| + const base::Closure& task) {
|
| + // TODO(michaeln): Do all tasks need to be run prior to shutdown?
|
| + // Maybe make better use of the SHUTDOWN_BEHAVIOR.
|
| + sequenced_worker_pool_->PostSequencedWorkerTask(
|
| + sequence_token_, from_here, task);
|
| +}
|
| +
|
| +void DomStorageWorkerPoolTaskRunner::PostDelayedTask(
|
| + const tracked_objects::Location& from_here,
|
| + const base::Closure& task,
|
| + base::TimeDelta delay) {
|
| + // Post a task to call this->PostTask() after the delay.
|
| + message_loop_->PostDelayedTask(
|
| + FROM_HERE,
|
| + base::Bind(&DomStorageWorkerPoolTaskRunner::PostTask, this,
|
| + from_here, task),
|
| + delay.InMilliseconds());
|
| +}
|
| +
|
| +} // namespace dom_storage
|
|
|
| Property changes on: webkit\dom_storage\dom_storage_task_runner.cc
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|