Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Side by Side Diff: content/browser/dom_storage/dom_storage_task_runner.cc

Issue 22297005: Move webkit/{browser,common}/dom_storage into content/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "webkit/browser/dom_storage/dom_storage_task_runner.h" 5 #include "content/browser/dom_storage/dom_storage_task_runner.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/message_loop/message_loop_proxy.h" 9 #include "base/message_loop/message_loop_proxy.h"
10 #include "base/tracked_objects.h" 10 #include "base/tracked_objects.h"
11 11
12 namespace dom_storage { 12 namespace content {
13 13
14 // DomStorageTaskRunner 14 // DOMStorageTaskRunner
15 15
16 bool DomStorageTaskRunner::RunsTasksOnCurrentThread() const { 16 bool DOMStorageTaskRunner::RunsTasksOnCurrentThread() const {
17 return IsRunningOnSequence(PRIMARY_SEQUENCE); 17 return IsRunningOnSequence(PRIMARY_SEQUENCE);
18 } 18 }
19 19
20 // DomStorageWorkerPoolTaskRunner 20 // DOMStorageWorkerPoolTaskRunner
21 21
22 DomStorageWorkerPoolTaskRunner::DomStorageWorkerPoolTaskRunner( 22 DOMStorageWorkerPoolTaskRunner::DOMStorageWorkerPoolTaskRunner(
23 base::SequencedWorkerPool* sequenced_worker_pool, 23 base::SequencedWorkerPool* sequenced_worker_pool,
24 base::SequencedWorkerPool::SequenceToken primary_sequence_token, 24 base::SequencedWorkerPool::SequenceToken primary_sequence_token,
25 base::SequencedWorkerPool::SequenceToken commit_sequence_token, 25 base::SequencedWorkerPool::SequenceToken commit_sequence_token,
26 base::MessageLoopProxy* delayed_task_loop) 26 base::MessageLoopProxy* delayed_task_loop)
27 : message_loop_(delayed_task_loop), 27 : message_loop_(delayed_task_loop),
28 sequenced_worker_pool_(sequenced_worker_pool), 28 sequenced_worker_pool_(sequenced_worker_pool),
29 primary_sequence_token_(primary_sequence_token), 29 primary_sequence_token_(primary_sequence_token),
30 commit_sequence_token_(commit_sequence_token) { 30 commit_sequence_token_(commit_sequence_token) {
31 } 31 }
32 32
33 DomStorageWorkerPoolTaskRunner::~DomStorageWorkerPoolTaskRunner() { 33 DOMStorageWorkerPoolTaskRunner::~DOMStorageWorkerPoolTaskRunner() {
34 } 34 }
35 35
36 bool DomStorageWorkerPoolTaskRunner::PostDelayedTask( 36 bool DOMStorageWorkerPoolTaskRunner::PostDelayedTask(
37 const tracked_objects::Location& from_here, 37 const tracked_objects::Location& from_here,
38 const base::Closure& task, 38 const base::Closure& task,
39 base::TimeDelta delay) { 39 base::TimeDelta delay) {
40 // Note base::TaskRunner implements PostTask in terms of PostDelayedTask 40 // Note base::TaskRunner implements PostTask in terms of PostDelayedTask
41 // with a delay of zero, we detect that usage and avoid the unecessary 41 // with a delay of zero, we detect that usage and avoid the unecessary
42 // trip thru the message loop. 42 // trip thru the message loop.
43 if (delay == base::TimeDelta()) { 43 if (delay == base::TimeDelta()) {
44 return sequenced_worker_pool_->PostSequencedWorkerTaskWithShutdownBehavior( 44 return sequenced_worker_pool_->PostSequencedWorkerTaskWithShutdownBehavior(
45 primary_sequence_token_, from_here, task, 45 primary_sequence_token_, from_here, task,
46 base::SequencedWorkerPool::BLOCK_SHUTDOWN); 46 base::SequencedWorkerPool::BLOCK_SHUTDOWN);
47 } 47 }
48 // Post a task to call this->PostTask() after the delay. 48 // Post a task to call this->PostTask() after the delay.
49 return message_loop_->PostDelayedTask( 49 return message_loop_->PostDelayedTask(
50 FROM_HERE, 50 FROM_HERE,
51 base::Bind(base::IgnoreResult(&DomStorageWorkerPoolTaskRunner::PostTask), 51 base::Bind(base::IgnoreResult(&DOMStorageWorkerPoolTaskRunner::PostTask),
52 this, from_here, task), 52 this, from_here, task),
53 delay); 53 delay);
54 } 54 }
55 55
56 bool DomStorageWorkerPoolTaskRunner::PostShutdownBlockingTask( 56 bool DOMStorageWorkerPoolTaskRunner::PostShutdownBlockingTask(
57 const tracked_objects::Location& from_here, 57 const tracked_objects::Location& from_here,
58 SequenceID sequence_id, 58 SequenceID sequence_id,
59 const base::Closure& task) { 59 const base::Closure& task) {
60 return sequenced_worker_pool_->PostSequencedWorkerTaskWithShutdownBehavior( 60 return sequenced_worker_pool_->PostSequencedWorkerTaskWithShutdownBehavior(
61 IDtoToken(sequence_id), from_here, task, 61 IDtoToken(sequence_id), from_here, task,
62 base::SequencedWorkerPool::BLOCK_SHUTDOWN); 62 base::SequencedWorkerPool::BLOCK_SHUTDOWN);
63 } 63 }
64 64
65 bool DomStorageWorkerPoolTaskRunner::IsRunningOnSequence( 65 bool DOMStorageWorkerPoolTaskRunner::IsRunningOnSequence(
66 SequenceID sequence_id) const { 66 SequenceID sequence_id) const {
67 return sequenced_worker_pool_->IsRunningSequenceOnCurrentThread( 67 return sequenced_worker_pool_->IsRunningSequenceOnCurrentThread(
68 IDtoToken(sequence_id)); 68 IDtoToken(sequence_id));
69 } 69 }
70 70
71 base::SequencedWorkerPool::SequenceToken 71 base::SequencedWorkerPool::SequenceToken
72 DomStorageWorkerPoolTaskRunner::IDtoToken(SequenceID id) const { 72 DOMStorageWorkerPoolTaskRunner::IDtoToken(SequenceID id) const {
73 if (id == PRIMARY_SEQUENCE) 73 if (id == PRIMARY_SEQUENCE)
74 return primary_sequence_token_; 74 return primary_sequence_token_;
75 DCHECK_EQ(COMMIT_SEQUENCE, id); 75 DCHECK_EQ(COMMIT_SEQUENCE, id);
76 return commit_sequence_token_; 76 return commit_sequence_token_;
77 } 77 }
78 78
79 // MockDomStorageTaskRunner 79 // MockDOMStorageTaskRunner
80 80
81 MockDomStorageTaskRunner::MockDomStorageTaskRunner( 81 MockDOMStorageTaskRunner::MockDOMStorageTaskRunner(
82 base::MessageLoopProxy* message_loop) 82 base::MessageLoopProxy* message_loop)
83 : message_loop_(message_loop) { 83 : message_loop_(message_loop) {
84 } 84 }
85 85
86 MockDomStorageTaskRunner::~MockDomStorageTaskRunner() { 86 MockDOMStorageTaskRunner::~MockDOMStorageTaskRunner() {
87 } 87 }
88 88
89 bool MockDomStorageTaskRunner::PostDelayedTask( 89 bool MockDOMStorageTaskRunner::PostDelayedTask(
90 const tracked_objects::Location& from_here, 90 const tracked_objects::Location& from_here,
91 const base::Closure& task, 91 const base::Closure& task,
92 base::TimeDelta delay) { 92 base::TimeDelta delay) {
93 return message_loop_->PostTask(from_here, task); 93 return message_loop_->PostTask(from_here, task);
94 } 94 }
95 95
96 bool MockDomStorageTaskRunner::PostShutdownBlockingTask( 96 bool MockDOMStorageTaskRunner::PostShutdownBlockingTask(
97 const tracked_objects::Location& from_here, 97 const tracked_objects::Location& from_here,
98 SequenceID sequence_id, 98 SequenceID sequence_id,
99 const base::Closure& task) { 99 const base::Closure& task) {
100 return message_loop_->PostTask(from_here, task); 100 return message_loop_->PostTask(from_here, task);
101 } 101 }
102 102
103 bool MockDomStorageTaskRunner::IsRunningOnSequence(SequenceID) const { 103 bool MockDOMStorageTaskRunner::IsRunningOnSequence(SequenceID) const {
104 return message_loop_->RunsTasksOnCurrentThread(); 104 return message_loop_->RunsTasksOnCurrentThread();
105 } 105 }
106 106
107 } // namespace dom_storage 107 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/dom_storage/dom_storage_task_runner.h ('k') | content/browser/dom_storage/local_storage_database_adapter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698