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

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

Issue 2317253007: Remove calls to IsRunningSequenceOnCurrentThread() from dom_storage_task_runner.cc (Closed)
Patch Set: CR michaeln #9 Created 4 years, 3 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
« no previous file with comments | « content/browser/dom_storage/dom_storage_task_runner.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/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/location.h" 9 #include "base/location.h"
10 #include "base/logging.h"
10 #include "base/tracked_objects.h" 11 #include "base/tracked_objects.h"
11 12
12 namespace content { 13 namespace content {
13 14
14 // DOMStorageTaskRunner
15
16 bool DOMStorageTaskRunner::RunsTasksOnCurrentThread() const {
17 return IsRunningOnSequence(PRIMARY_SEQUENCE);
18 }
19
20 // DOMStorageWorkerPoolTaskRunner 15 // DOMStorageWorkerPoolTaskRunner
21 16
22 DOMStorageWorkerPoolTaskRunner::DOMStorageWorkerPoolTaskRunner( 17 DOMStorageWorkerPoolTaskRunner::DOMStorageWorkerPoolTaskRunner(
23 base::SequencedWorkerPool* sequenced_worker_pool, 18 base::SequencedWorkerPool* sequenced_worker_pool,
24 base::SequencedWorkerPool::SequenceToken primary_sequence_token, 19 base::SequencedWorkerPool::SequenceToken primary_sequence_token,
25 base::SequencedWorkerPool::SequenceToken commit_sequence_token, 20 base::SequencedWorkerPool::SequenceToken commit_sequence_token,
26 base::SingleThreadTaskRunner* delayed_task_task_runner) 21 base::SingleThreadTaskRunner* delayed_task_task_runner)
27 : task_runner_(delayed_task_task_runner), 22 : task_runner_(delayed_task_task_runner),
28 sequenced_worker_pool_(sequenced_worker_pool), 23 sequenced_worker_pool_(sequenced_worker_pool),
29 primary_sequence_token_(primary_sequence_token), 24 primary_sequence_token_(primary_sequence_token),
30 commit_sequence_token_(commit_sequence_token) { 25 commit_sequence_token_(commit_sequence_token) {
26 primary_sequence_checker_.DetachFromSequence();
27 commit_sequence_checker_.DetachFromSequence();
31 } 28 }
32 29
33 DOMStorageWorkerPoolTaskRunner::~DOMStorageWorkerPoolTaskRunner() { 30 DOMStorageWorkerPoolTaskRunner::~DOMStorageWorkerPoolTaskRunner() {
34 } 31 }
35 32
33 bool DOMStorageWorkerPoolTaskRunner::RunsTasksOnCurrentThread() const {
34 // It is valid for an implementation to always return true.
35 return true;
36 }
37
36 bool DOMStorageWorkerPoolTaskRunner::PostDelayedTask( 38 bool DOMStorageWorkerPoolTaskRunner::PostDelayedTask(
37 const tracked_objects::Location& from_here, 39 const tracked_objects::Location& from_here,
38 const base::Closure& task, 40 const base::Closure& task,
39 base::TimeDelta delay) { 41 base::TimeDelta delay) {
40 // Note base::TaskRunner implements PostTask in terms of PostDelayedTask 42 // Note base::TaskRunner implements PostTask in terms of PostDelayedTask
41 // with a delay of zero, we detect that usage and avoid the unecessary 43 // with a delay of zero, we detect that usage and avoid the unecessary
42 // trip thru the message loop. 44 // trip thru the message loop.
43 if (delay.is_zero()) { 45 if (delay.is_zero()) {
44 return sequenced_worker_pool_->PostSequencedWorkerTaskWithShutdownBehavior( 46 return sequenced_worker_pool_->PostSequencedWorkerTaskWithShutdownBehavior(
45 primary_sequence_token_, from_here, task, 47 primary_sequence_token_, from_here, task,
46 base::SequencedWorkerPool::BLOCK_SHUTDOWN); 48 base::SequencedWorkerPool::BLOCK_SHUTDOWN);
47 } 49 }
48 // Post a task to call this->PostTask() after the delay. 50 // Post a task to call this->PostTask() after the delay.
49 return task_runner_->PostDelayedTask( 51 return task_runner_->PostDelayedTask(
50 FROM_HERE, 52 FROM_HERE,
51 base::Bind(base::IgnoreResult(&DOMStorageWorkerPoolTaskRunner::PostTask), 53 base::Bind(base::IgnoreResult(&DOMStorageWorkerPoolTaskRunner::PostTask),
52 this, from_here, task), 54 this, from_here, task),
53 delay); 55 delay);
54 } 56 }
55 57
56 bool DOMStorageWorkerPoolTaskRunner::PostShutdownBlockingTask( 58 bool DOMStorageWorkerPoolTaskRunner::PostShutdownBlockingTask(
57 const tracked_objects::Location& from_here, 59 const tracked_objects::Location& from_here,
58 SequenceID sequence_id, 60 SequenceID sequence_id,
59 const base::Closure& task) { 61 const base::Closure& task) {
60 return sequenced_worker_pool_->PostSequencedWorkerTaskWithShutdownBehavior( 62 return sequenced_worker_pool_->PostSequencedWorkerTaskWithShutdownBehavior(
61 IDtoToken(sequence_id), from_here, task, 63 IDtoToken(sequence_id), from_here, task,
62 base::SequencedWorkerPool::BLOCK_SHUTDOWN); 64 base::SequencedWorkerPool::BLOCK_SHUTDOWN);
63 } 65 }
64 66
65 bool DOMStorageWorkerPoolTaskRunner::IsRunningOnSequence( 67 void DOMStorageWorkerPoolTaskRunner::AssertIsRunningOnPrimarySequence() const {
66 SequenceID sequence_id) const { 68 DCHECK(primary_sequence_checker_.CalledOnValidSequence());
67 return sequenced_worker_pool_->IsRunningSequenceOnCurrentThread( 69 }
68 IDtoToken(sequence_id)); 70
71 void DOMStorageWorkerPoolTaskRunner::AssertIsRunningOnCommitSequence() const {
72 DCHECK(commit_sequence_checker_.CalledOnValidSequence());
69 } 73 }
70 74
71 scoped_refptr<base::SequencedTaskRunner> 75 scoped_refptr<base::SequencedTaskRunner>
72 DOMStorageWorkerPoolTaskRunner::GetSequencedTaskRunner(SequenceID sequence_id) { 76 DOMStorageWorkerPoolTaskRunner::GetSequencedTaskRunner(SequenceID sequence_id) {
73 return sequenced_worker_pool_->GetSequencedTaskRunner(IDtoToken(sequence_id)); 77 return sequenced_worker_pool_->GetSequencedTaskRunner(IDtoToken(sequence_id));
74 } 78 }
75 79
76 base::SequencedWorkerPool::SequenceToken 80 base::SequencedWorkerPool::SequenceToken
77 DOMStorageWorkerPoolTaskRunner::IDtoToken(SequenceID id) const { 81 DOMStorageWorkerPoolTaskRunner::IDtoToken(SequenceID id) const {
78 if (id == PRIMARY_SEQUENCE) 82 if (id == PRIMARY_SEQUENCE)
79 return primary_sequence_token_; 83 return primary_sequence_token_;
80 DCHECK_EQ(COMMIT_SEQUENCE, id); 84 DCHECK_EQ(COMMIT_SEQUENCE, id);
81 return commit_sequence_token_; 85 return commit_sequence_token_;
82 } 86 }
83 87
84 // MockDOMStorageTaskRunner 88 // MockDOMStorageTaskRunner
85 89
86 MockDOMStorageTaskRunner::MockDOMStorageTaskRunner( 90 MockDOMStorageTaskRunner::MockDOMStorageTaskRunner(
87 base::SingleThreadTaskRunner* task_runner) 91 base::SingleThreadTaskRunner* task_runner)
88 : task_runner_(task_runner) { 92 : task_runner_(task_runner) {
89 } 93 }
90 94
91 MockDOMStorageTaskRunner::~MockDOMStorageTaskRunner() { 95 MockDOMStorageTaskRunner::~MockDOMStorageTaskRunner() {
92 } 96 }
93 97
98 bool MockDOMStorageTaskRunner::RunsTasksOnCurrentThread() const {
99 return task_runner_->RunsTasksOnCurrentThread();
100 }
101
94 bool MockDOMStorageTaskRunner::PostDelayedTask( 102 bool MockDOMStorageTaskRunner::PostDelayedTask(
95 const tracked_objects::Location& from_here, 103 const tracked_objects::Location& from_here,
96 const base::Closure& task, 104 const base::Closure& task,
97 base::TimeDelta delay) { 105 base::TimeDelta delay) {
98 return task_runner_->PostTask(from_here, task); 106 return task_runner_->PostTask(from_here, task);
99 } 107 }
100 108
101 bool MockDOMStorageTaskRunner::PostShutdownBlockingTask( 109 bool MockDOMStorageTaskRunner::PostShutdownBlockingTask(
102 const tracked_objects::Location& from_here, 110 const tracked_objects::Location& from_here,
103 SequenceID sequence_id, 111 SequenceID sequence_id,
104 const base::Closure& task) { 112 const base::Closure& task) {
105 return task_runner_->PostTask(from_here, task); 113 return task_runner_->PostTask(from_here, task);
106 } 114 }
107 115
108 bool MockDOMStorageTaskRunner::IsRunningOnSequence(SequenceID) const { 116 void MockDOMStorageTaskRunner::AssertIsRunningOnPrimarySequence() const {
109 return task_runner_->RunsTasksOnCurrentThread(); 117 DCHECK(RunsTasksOnCurrentThread());
118 }
119
120 void MockDOMStorageTaskRunner::AssertIsRunningOnCommitSequence() const {
121 DCHECK(RunsTasksOnCurrentThread());
110 } 122 }
111 123
112 scoped_refptr<base::SequencedTaskRunner> 124 scoped_refptr<base::SequencedTaskRunner>
113 MockDOMStorageTaskRunner::GetSequencedTaskRunner(SequenceID sequence_id) { 125 MockDOMStorageTaskRunner::GetSequencedTaskRunner(SequenceID sequence_id) {
114 return task_runner_; 126 return task_runner_;
115 } 127 }
116 128
117 } // namespace content 129 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/dom_storage/dom_storage_task_runner.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698