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,46 @@ |
+// 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( |
+ base::SequencedWorkerPool* sequenced_worker_pool, |
+ base::MessageLoopProxy* delayed_task_loop) |
+ : sequenced_worker_pool_(sequenced_worker_pool), |
+ sequence_token_( |
+ sequenced_worker_pool->GetNamedSequenceToken("dom_storage_token")), |
+ delayed_task_loop_(delayed_task_loop) { |
+} |
+ |
+DomStorageTaskRunner::~DomStorageTaskRunner() { |
+} |
+ |
+void DomStorageTaskRunner::PostTask( |
+ const tracked_objects::Location& from_here, |
+ const base::Closure& task) { |
+ // TODO(michaeln): Not all tasks need to be run prior to shutdown, |
+ // maybe make better use of SHUTDOWN_BEHAVIOR stuff? |
+ sequenced_worker_pool_->PostSequencedWorkerTask( |
+ sequence_token_, from_here, task); |
+} |
+ |
+void DomStorageTaskRunner::PostDelayedTask( |
+ const tracked_objects::Location& from_here, |
+ const base::Closure& task, |
+ base::TimeDelta delay) { |
+ // Post a task to call this->PostTask() after the delay. |
+ delayed_task_loop_->PostDelayedTask( |
+ FROM_HERE, |
+ base::Bind(&DomStorageTaskRunner::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 |