Index: content/browser/dom_storage/dom_storage_task_runner.h |
diff --git a/content/browser/dom_storage/dom_storage_task_runner.h b/content/browser/dom_storage/dom_storage_task_runner.h |
index 1bdc3bc0941a3b8908b4124bd15683c3645d0e94..67f400fa632813eeb15827a922e1c9441ef281c3 100644 |
--- a/content/browser/dom_storage/dom_storage_task_runner.h |
+++ b/content/browser/dom_storage/dom_storage_task_runner.h |
@@ -8,15 +8,9 @@ |
#include "base/memory/ref_counted.h" |
#include "base/sequence_checker.h" |
#include "base/sequenced_task_runner.h" |
-#include "base/single_thread_task_runner.h" |
-#include "base/threading/sequenced_worker_pool.h" |
#include "base/time/time.h" |
#include "content/common/content_export.h" |
-namespace base { |
-class SingleThreadTaskRunner; |
-} |
- |
namespace content { |
// DOMStorage uses two task sequences (primary vs commit) to avoid |
@@ -58,17 +52,15 @@ class CONTENT_EXPORT DOMStorageTaskRunner |
~DOMStorageTaskRunner() override {} |
}; |
-// A derived class used in chromium that utilizes a SequenceWorkerPool |
-// under dom_storage specific SequenceTokens. The |delayed_task_loop| |
-// is used to delay scheduling on the worker pool. |
+// A DOMStorageTaskRunner which manages a primary and a commit sequence. |
class CONTENT_EXPORT DOMStorageWorkerPoolTaskRunner : |
public DOMStorageTaskRunner { |
public: |
+ // |primary_sequence| and |commit_sequence| should have |
+ // TaskShutdownBehaviour::BLOCK_SHUTDOWN semantics. |
DOMStorageWorkerPoolTaskRunner( |
- base::SequencedWorkerPool* sequenced_worker_pool, |
- base::SequencedWorkerPool::SequenceToken primary_sequence_token, |
- base::SequencedWorkerPool::SequenceToken commit_sequence_token, |
- base::SingleThreadTaskRunner* delayed_task_task_runner); |
+ scoped_refptr<base::SequencedTaskRunner> primary_sequence, |
+ scoped_refptr<base::SequencedTaskRunner> commit_sequence); |
bool RunsTasksOnCurrentThread() const override; |
@@ -90,26 +82,22 @@ class CONTENT_EXPORT DOMStorageWorkerPoolTaskRunner : |
~DOMStorageWorkerPoolTaskRunner() override; |
private: |
+ scoped_refptr<base::SequencedTaskRunner> primary_sequence_; |
+ scoped_refptr<base::SequencedTaskRunner> commit_sequence_; |
- base::SequencedWorkerPool::SequenceToken IDtoToken(SequenceID id) const; |
- |
- const scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
- const scoped_refptr<base::SequencedWorkerPool> sequenced_worker_pool_; |
- base::SequencedWorkerPool::SequenceToken primary_sequence_token_; |
- base::SequenceChecker primary_sequence_checker_; |
- base::SequencedWorkerPool::SequenceToken commit_sequence_token_; |
- base::SequenceChecker commit_sequence_checker_; |
+ DISALLOW_COPY_AND_ASSIGN(DOMStorageWorkerPoolTaskRunner); |
}; |
// A derived class used in unit tests that ignores all delays so |
// we don't block in unit tests waiting for timeouts to expire. |
// There is no distinction between [non]-shutdown-blocking or |
// the primary sequence vs the commit sequence in the mock, |
-// all tasks are scheduled on |message_loop| with zero delay. |
+// all tasks are scheduled on |task_runner| with zero delay. |
class CONTENT_EXPORT MockDOMStorageTaskRunner : |
public DOMStorageTaskRunner { |
public: |
- explicit MockDOMStorageTaskRunner(base::SingleThreadTaskRunner* task_runner); |
+ explicit MockDOMStorageTaskRunner( |
+ scoped_refptr<base::SequencedTaskRunner> task_runner); |
bool RunsTasksOnCurrentThread() const override; |
@@ -131,7 +119,9 @@ class CONTENT_EXPORT MockDOMStorageTaskRunner : |
~MockDOMStorageTaskRunner() override; |
private: |
- const scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
+ const scoped_refptr<base::SequencedTaskRunner> task_runner_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MockDOMStorageTaskRunner); |
}; |
} // namespace content |