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

Side by Side Diff: net/ssl/default_channel_id_store.cc

Issue 356713005: Rename ServerBoundCert => ChannelID to reflect the current name (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 5 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 "net/ssl/default_server_bound_cert_store.h" 5 #include "net/ssl/default_channel_id_store.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "net/base/net_errors.h" 10 #include "net/base/net_errors.h"
11 11
12 namespace net { 12 namespace net {
13 13
14 // -------------------------------------------------------------------------- 14 // --------------------------------------------------------------------------
15 // Task 15 // Task
16 class DefaultServerBoundCertStore::Task { 16 class DefaultChannelIDStore::Task {
17 public: 17 public:
18 virtual ~Task(); 18 virtual ~Task();
19 19
20 // Runs the task and invokes the client callback on the thread that 20 // Runs the task and invokes the client callback on the thread that
21 // originally constructed the task. 21 // originally constructed the task.
22 virtual void Run(DefaultServerBoundCertStore* store) = 0; 22 virtual void Run(DefaultChannelIDStore* store) = 0;
23 23
24 protected: 24 protected:
25 void InvokeCallback(base::Closure callback) const; 25 void InvokeCallback(base::Closure callback) const;
26 }; 26 };
27 27
28 DefaultServerBoundCertStore::Task::~Task() { 28 DefaultChannelIDStore::Task::~Task() {
29 } 29 }
30 30
31 void DefaultServerBoundCertStore::Task::InvokeCallback( 31 void DefaultChannelIDStore::Task::InvokeCallback(
32 base::Closure callback) const { 32 base::Closure callback) const {
33 if (!callback.is_null()) 33 if (!callback.is_null())
34 callback.Run(); 34 callback.Run();
35 } 35 }
36 36
37 // -------------------------------------------------------------------------- 37 // --------------------------------------------------------------------------
38 // GetServerBoundCertTask 38 // GetChannelIDTask
39 class DefaultServerBoundCertStore::GetServerBoundCertTask 39 class DefaultChannelIDStore::GetChannelIDTask
40 : public DefaultServerBoundCertStore::Task { 40 : public DefaultChannelIDStore::Task {
41 public: 41 public:
42 GetServerBoundCertTask(const std::string& server_identifier, 42 GetChannelIDTask(const std::string& server_identifier,
43 const GetCertCallback& callback); 43 const GetCertCallback& callback);
wtc 2014/07/01 19:50:55 Fix the indentation.
Ryan Hamilton 2014/07/21 19:12:12 Done.
44 virtual ~GetServerBoundCertTask(); 44 virtual ~GetChannelIDTask();
45 virtual void Run(DefaultServerBoundCertStore* store) OVERRIDE; 45 virtual void Run(DefaultChannelIDStore* store) OVERRIDE;
46 46
47 private: 47 private:
48 std::string server_identifier_; 48 std::string server_identifier_;
49 GetCertCallback callback_; 49 GetCertCallback callback_;
50 }; 50 };
51 51
52 DefaultServerBoundCertStore::GetServerBoundCertTask::GetServerBoundCertTask( 52 DefaultChannelIDStore::GetChannelIDTask::GetChannelIDTask(
53 const std::string& server_identifier, 53 const std::string& server_identifier,
54 const GetCertCallback& callback) 54 const GetCertCallback& callback)
55 : server_identifier_(server_identifier), 55 : server_identifier_(server_identifier),
56 callback_(callback) { 56 callback_(callback) {
57 } 57 }
58 58
59 DefaultServerBoundCertStore::GetServerBoundCertTask::~GetServerBoundCertTask() { 59 DefaultChannelIDStore::GetChannelIDTask::~GetChannelIDTask() {
60 } 60 }
61 61
62 void DefaultServerBoundCertStore::GetServerBoundCertTask::Run( 62 void DefaultChannelIDStore::GetChannelIDTask::Run(
63 DefaultServerBoundCertStore* store) { 63 DefaultChannelIDStore* store) {
64 base::Time expiration_time; 64 base::Time expiration_time;
65 std::string private_key_result; 65 std::string private_key_result;
66 std::string cert_result; 66 std::string cert_result;
67 int err = store->GetServerBoundCert( 67 int err = store->GetChannelID(
68 server_identifier_, &expiration_time, &private_key_result, 68 server_identifier_, &expiration_time, &private_key_result,
69 &cert_result, GetCertCallback()); 69 &cert_result, GetCertCallback());
70 DCHECK(err != ERR_IO_PENDING); 70 DCHECK(err != ERR_IO_PENDING);
71 71
72 InvokeCallback(base::Bind(callback_, err, server_identifier_, 72 InvokeCallback(base::Bind(callback_, err, server_identifier_,
73 expiration_time, private_key_result, cert_result)); 73 expiration_time, private_key_result, cert_result));
74 } 74 }
75 75
76 // -------------------------------------------------------------------------- 76 // --------------------------------------------------------------------------
77 // SetServerBoundCertTask 77 // SetChannelIDTask
78 class DefaultServerBoundCertStore::SetServerBoundCertTask 78 class DefaultChannelIDStore::SetChannelIDTask
79 : public DefaultServerBoundCertStore::Task { 79 : public DefaultChannelIDStore::Task {
80 public: 80 public:
81 SetServerBoundCertTask(const std::string& server_identifier, 81 SetChannelIDTask(const std::string& server_identifier,
82 base::Time creation_time, 82 base::Time creation_time,
83 base::Time expiration_time, 83 base::Time expiration_time,
84 const std::string& private_key, 84 const std::string& private_key,
85 const std::string& cert); 85 const std::string& cert);
wtc 2014/07/01 19:50:55 Fix the indentation.
Ryan Hamilton 2014/07/21 19:12:12 Done.
86 virtual ~SetServerBoundCertTask(); 86 virtual ~SetChannelIDTask();
87 virtual void Run(DefaultServerBoundCertStore* store) OVERRIDE; 87 virtual void Run(DefaultChannelIDStore* store) OVERRIDE;
88 88
89 private: 89 private:
90 std::string server_identifier_; 90 std::string server_identifier_;
91 base::Time creation_time_; 91 base::Time creation_time_;
92 base::Time expiration_time_; 92 base::Time expiration_time_;
93 std::string private_key_; 93 std::string private_key_;
94 std::string cert_; 94 std::string cert_;
95 }; 95 };
96 96
97 DefaultServerBoundCertStore::SetServerBoundCertTask::SetServerBoundCertTask( 97 DefaultChannelIDStore::SetChannelIDTask::SetChannelIDTask(
98 const std::string& server_identifier, 98 const std::string& server_identifier,
99 base::Time creation_time, 99 base::Time creation_time,
100 base::Time expiration_time, 100 base::Time expiration_time,
101 const std::string& private_key, 101 const std::string& private_key,
102 const std::string& cert) 102 const std::string& cert)
103 : server_identifier_(server_identifier), 103 : server_identifier_(server_identifier),
104 creation_time_(creation_time), 104 creation_time_(creation_time),
105 expiration_time_(expiration_time), 105 expiration_time_(expiration_time),
106 private_key_(private_key), 106 private_key_(private_key),
107 cert_(cert) { 107 cert_(cert) {
108 } 108 }
109 109
110 DefaultServerBoundCertStore::SetServerBoundCertTask::~SetServerBoundCertTask() { 110 DefaultChannelIDStore::SetChannelIDTask::~SetChannelIDTask() {
111 } 111 }
112 112
113 void DefaultServerBoundCertStore::SetServerBoundCertTask::Run( 113 void DefaultChannelIDStore::SetChannelIDTask::Run(
114 DefaultServerBoundCertStore* store) { 114 DefaultChannelIDStore* store) {
115 store->SyncSetServerBoundCert(server_identifier_, creation_time_, 115 store->SyncSetChannelID(server_identifier_, creation_time_,
116 expiration_time_, private_key_, cert_); 116 expiration_time_, private_key_, cert_);
wtc 2014/07/01 19:50:55 Fix the indentation.
Ryan Hamilton 2014/07/21 19:12:12 Done.
117 } 117 }
118 118
119 // -------------------------------------------------------------------------- 119 // --------------------------------------------------------------------------
120 // DeleteServerBoundCertTask 120 // DeleteChannelIDTask
121 class DefaultServerBoundCertStore::DeleteServerBoundCertTask 121 class DefaultChannelIDStore::DeleteChannelIDTask
122 : public DefaultServerBoundCertStore::Task { 122 : public DefaultChannelIDStore::Task {
123 public: 123 public:
124 DeleteServerBoundCertTask(const std::string& server_identifier, 124 DeleteChannelIDTask(const std::string& server_identifier,
125 const base::Closure& callback); 125 const base::Closure& callback);
wtc 2014/07/01 19:50:55 Fix the indentation.
Ryan Hamilton 2014/07/21 19:12:11 Done.
126 virtual ~DeleteServerBoundCertTask(); 126 virtual ~DeleteChannelIDTask();
127 virtual void Run(DefaultServerBoundCertStore* store) OVERRIDE; 127 virtual void Run(DefaultChannelIDStore* store) OVERRIDE;
128 128
129 private: 129 private:
130 std::string server_identifier_; 130 std::string server_identifier_;
131 base::Closure callback_; 131 base::Closure callback_;
132 }; 132 };
133 133
134 DefaultServerBoundCertStore::DeleteServerBoundCertTask:: 134 DefaultChannelIDStore::DeleteChannelIDTask::
135 DeleteServerBoundCertTask( 135 DeleteChannelIDTask(
136 const std::string& server_identifier, 136 const std::string& server_identifier,
137 const base::Closure& callback) 137 const base::Closure& callback)
138 : server_identifier_(server_identifier), 138 : server_identifier_(server_identifier),
139 callback_(callback) { 139 callback_(callback) {
140 } 140 }
141 141
142 DefaultServerBoundCertStore::DeleteServerBoundCertTask:: 142 DefaultChannelIDStore::DeleteChannelIDTask::
143 ~DeleteServerBoundCertTask() { 143 ~DeleteChannelIDTask() {
144 } 144 }
145 145
146 void DefaultServerBoundCertStore::DeleteServerBoundCertTask::Run( 146 void DefaultChannelIDStore::DeleteChannelIDTask::Run(
147 DefaultServerBoundCertStore* store) { 147 DefaultChannelIDStore* store) {
148 store->SyncDeleteServerBoundCert(server_identifier_); 148 store->SyncDeleteChannelID(server_identifier_);
149 149
150 InvokeCallback(callback_); 150 InvokeCallback(callback_);
151 } 151 }
152 152
153 // -------------------------------------------------------------------------- 153 // --------------------------------------------------------------------------
154 // DeleteAllCreatedBetweenTask 154 // DeleteAllCreatedBetweenTask
155 class DefaultServerBoundCertStore::DeleteAllCreatedBetweenTask 155 class DefaultChannelIDStore::DeleteAllCreatedBetweenTask
156 : public DefaultServerBoundCertStore::Task { 156 : public DefaultChannelIDStore::Task {
157 public: 157 public:
158 DeleteAllCreatedBetweenTask(base::Time delete_begin, 158 DeleteAllCreatedBetweenTask(base::Time delete_begin,
159 base::Time delete_end, 159 base::Time delete_end,
160 const base::Closure& callback); 160 const base::Closure& callback);
161 virtual ~DeleteAllCreatedBetweenTask(); 161 virtual ~DeleteAllCreatedBetweenTask();
162 virtual void Run(DefaultServerBoundCertStore* store) OVERRIDE; 162 virtual void Run(DefaultChannelIDStore* store) OVERRIDE;
163 163
164 private: 164 private:
165 base::Time delete_begin_; 165 base::Time delete_begin_;
166 base::Time delete_end_; 166 base::Time delete_end_;
167 base::Closure callback_; 167 base::Closure callback_;
168 }; 168 };
169 169
170 DefaultServerBoundCertStore::DeleteAllCreatedBetweenTask:: 170 DefaultChannelIDStore::DeleteAllCreatedBetweenTask::
171 DeleteAllCreatedBetweenTask( 171 DeleteAllCreatedBetweenTask(
172 base::Time delete_begin, 172 base::Time delete_begin,
173 base::Time delete_end, 173 base::Time delete_end,
174 const base::Closure& callback) 174 const base::Closure& callback)
175 : delete_begin_(delete_begin), 175 : delete_begin_(delete_begin),
176 delete_end_(delete_end), 176 delete_end_(delete_end),
177 callback_(callback) { 177 callback_(callback) {
178 } 178 }
179 179
180 DefaultServerBoundCertStore::DeleteAllCreatedBetweenTask:: 180 DefaultChannelIDStore::DeleteAllCreatedBetweenTask::
181 ~DeleteAllCreatedBetweenTask() { 181 ~DeleteAllCreatedBetweenTask() {
182 } 182 }
183 183
184 void DefaultServerBoundCertStore::DeleteAllCreatedBetweenTask::Run( 184 void DefaultChannelIDStore::DeleteAllCreatedBetweenTask::Run(
185 DefaultServerBoundCertStore* store) { 185 DefaultChannelIDStore* store) {
186 store->SyncDeleteAllCreatedBetween(delete_begin_, delete_end_); 186 store->SyncDeleteAllCreatedBetween(delete_begin_, delete_end_);
187 187
188 InvokeCallback(callback_); 188 InvokeCallback(callback_);
189 } 189 }
190 190
191 // -------------------------------------------------------------------------- 191 // --------------------------------------------------------------------------
192 // GetAllServerBoundCertsTask 192 // GetAllChannelIDsTask
193 class DefaultServerBoundCertStore::GetAllServerBoundCertsTask 193 class DefaultChannelIDStore::GetAllChannelIDsTask
194 : public DefaultServerBoundCertStore::Task { 194 : public DefaultChannelIDStore::Task {
195 public: 195 public:
196 explicit GetAllServerBoundCertsTask(const GetCertListCallback& callback); 196 explicit GetAllChannelIDsTask(const GetCertListCallback& callback);
197 virtual ~GetAllServerBoundCertsTask(); 197 virtual ~GetAllChannelIDsTask();
198 virtual void Run(DefaultServerBoundCertStore* store) OVERRIDE; 198 virtual void Run(DefaultChannelIDStore* store) OVERRIDE;
199 199
200 private: 200 private:
201 std::string server_identifier_; 201 std::string server_identifier_;
202 GetCertListCallback callback_; 202 GetCertListCallback callback_;
203 }; 203 };
204 204
205 DefaultServerBoundCertStore::GetAllServerBoundCertsTask:: 205 DefaultChannelIDStore::GetAllChannelIDsTask::
206 GetAllServerBoundCertsTask(const GetCertListCallback& callback) 206 GetAllChannelIDsTask(const GetCertListCallback& callback)
207 : callback_(callback) { 207 : callback_(callback) {
208 } 208 }
209 209
210 DefaultServerBoundCertStore::GetAllServerBoundCertsTask:: 210 DefaultChannelIDStore::GetAllChannelIDsTask::
211 ~GetAllServerBoundCertsTask() { 211 ~GetAllChannelIDsTask() {
212 } 212 }
213 213
214 void DefaultServerBoundCertStore::GetAllServerBoundCertsTask::Run( 214 void DefaultChannelIDStore::GetAllChannelIDsTask::Run(
215 DefaultServerBoundCertStore* store) { 215 DefaultChannelIDStore* store) {
216 ServerBoundCertList cert_list; 216 ChannelIDList cert_list;
217 store->SyncGetAllServerBoundCerts(&cert_list); 217 store->SyncGetAllChannelIDs(&cert_list);
218 218
219 InvokeCallback(base::Bind(callback_, cert_list)); 219 InvokeCallback(base::Bind(callback_, cert_list));
220 } 220 }
221 221
222 // -------------------------------------------------------------------------- 222 // --------------------------------------------------------------------------
223 // DefaultServerBoundCertStore 223 // DefaultChannelIDStore
224 224
225 // static 225 // static
226 const size_t DefaultServerBoundCertStore::kMaxCerts = 3300; 226 const size_t DefaultChannelIDStore::kMaxCerts = 3300;
227 227
228 DefaultServerBoundCertStore::DefaultServerBoundCertStore( 228 DefaultChannelIDStore::DefaultChannelIDStore(
229 PersistentStore* store) 229 PersistentStore* store)
230 : initialized_(false), 230 : initialized_(false),
231 loaded_(false), 231 loaded_(false),
232 store_(store), 232 store_(store),
233 weak_ptr_factory_(this) {} 233 weak_ptr_factory_(this) {}
234 234
235 int DefaultServerBoundCertStore::GetServerBoundCert( 235 int DefaultChannelIDStore::GetChannelID(
236 const std::string& server_identifier, 236 const std::string& server_identifier,
237 base::Time* expiration_time, 237 base::Time* expiration_time,
238 std::string* private_key_result, 238 std::string* private_key_result,
239 std::string* cert_result, 239 std::string* cert_result,
240 const GetCertCallback& callback) { 240 const GetCertCallback& callback) {
241 DCHECK(CalledOnValidThread()); 241 DCHECK(CalledOnValidThread());
242 InitIfNecessary(); 242 InitIfNecessary();
243 243
244 if (!loaded_) { 244 if (!loaded_) {
245 EnqueueTask(scoped_ptr<Task>( 245 EnqueueTask(scoped_ptr<Task>(
246 new GetServerBoundCertTask(server_identifier, callback))); 246 new GetChannelIDTask(server_identifier, callback)));
247 return ERR_IO_PENDING; 247 return ERR_IO_PENDING;
248 } 248 }
249 249
250 ServerBoundCertMap::iterator it = server_bound_certs_.find(server_identifier); 250 ChannelIDMap::iterator it = channel_ids_.find(server_identifier);
251 251
252 if (it == server_bound_certs_.end()) 252 if (it == channel_ids_.end())
253 return ERR_FILE_NOT_FOUND; 253 return ERR_FILE_NOT_FOUND;
254 254
255 ServerBoundCert* cert = it->second; 255 ChannelID* cert = it->second;
wtc 2014/07/01 19:50:55 cert => channel_id
Ryan Hamilton 2014/07/21 19:12:12 Done.
256 *expiration_time = cert->expiration_time(); 256 *expiration_time = cert->expiration_time();
257 *private_key_result = cert->private_key(); 257 *private_key_result = cert->private_key();
258 *cert_result = cert->cert(); 258 *cert_result = cert->cert();
259 259
260 return OK; 260 return OK;
261 } 261 }
262 262
263 void DefaultServerBoundCertStore::SetServerBoundCert( 263 void DefaultChannelIDStore::SetChannelID(
264 const std::string& server_identifier, 264 const std::string& server_identifier,
265 base::Time creation_time, 265 base::Time creation_time,
266 base::Time expiration_time, 266 base::Time expiration_time,
267 const std::string& private_key, 267 const std::string& private_key,
268 const std::string& cert) { 268 const std::string& cert) {
269 RunOrEnqueueTask(scoped_ptr<Task>(new SetServerBoundCertTask( 269 RunOrEnqueueTask(scoped_ptr<Task>(new SetChannelIDTask(
270 server_identifier, creation_time, expiration_time, private_key, 270 server_identifier, creation_time, expiration_time, private_key,
271 cert))); 271 cert)));
272 } 272 }
273 273
274 void DefaultServerBoundCertStore::DeleteServerBoundCert( 274 void DefaultChannelIDStore::DeleteChannelID(
275 const std::string& server_identifier, 275 const std::string& server_identifier,
276 const base::Closure& callback) { 276 const base::Closure& callback) {
277 RunOrEnqueueTask(scoped_ptr<Task>( 277 RunOrEnqueueTask(scoped_ptr<Task>(
278 new DeleteServerBoundCertTask(server_identifier, callback))); 278 new DeleteChannelIDTask(server_identifier, callback)));
279 } 279 }
280 280
281 void DefaultServerBoundCertStore::DeleteAllCreatedBetween( 281 void DefaultChannelIDStore::DeleteAllCreatedBetween(
282 base::Time delete_begin, 282 base::Time delete_begin,
283 base::Time delete_end, 283 base::Time delete_end,
284 const base::Closure& callback) { 284 const base::Closure& callback) {
285 RunOrEnqueueTask(scoped_ptr<Task>( 285 RunOrEnqueueTask(scoped_ptr<Task>(
286 new DeleteAllCreatedBetweenTask(delete_begin, delete_end, callback))); 286 new DeleteAllCreatedBetweenTask(delete_begin, delete_end, callback)));
287 } 287 }
288 288
289 void DefaultServerBoundCertStore::DeleteAll( 289 void DefaultChannelIDStore::DeleteAll(
290 const base::Closure& callback) { 290 const base::Closure& callback) {
291 DeleteAllCreatedBetween(base::Time(), base::Time(), callback); 291 DeleteAllCreatedBetween(base::Time(), base::Time(), callback);
292 } 292 }
293 293
294 void DefaultServerBoundCertStore::GetAllServerBoundCerts( 294 void DefaultChannelIDStore::GetAllChannelIDs(
295 const GetCertListCallback& callback) { 295 const GetCertListCallback& callback) {
296 RunOrEnqueueTask(scoped_ptr<Task>(new GetAllServerBoundCertsTask(callback))); 296 RunOrEnqueueTask(scoped_ptr<Task>(new GetAllChannelIDsTask(callback)));
297 } 297 }
298 298
299 int DefaultServerBoundCertStore::GetCertCount() { 299 int DefaultChannelIDStore::GetCertCount() {
300 DCHECK(CalledOnValidThread()); 300 DCHECK(CalledOnValidThread());
301 301
302 return server_bound_certs_.size(); 302 return channel_ids_.size();
303 } 303 }
304 304
305 void DefaultServerBoundCertStore::SetForceKeepSessionState() { 305 void DefaultChannelIDStore::SetForceKeepSessionState() {
306 DCHECK(CalledOnValidThread()); 306 DCHECK(CalledOnValidThread());
307 InitIfNecessary(); 307 InitIfNecessary();
308 308
309 if (store_.get()) 309 if (store_.get())
310 store_->SetForceKeepSessionState(); 310 store_->SetForceKeepSessionState();
311 } 311 }
312 312
313 DefaultServerBoundCertStore::~DefaultServerBoundCertStore() { 313 DefaultChannelIDStore::~DefaultChannelIDStore() {
314 DeleteAllInMemory(); 314 DeleteAllInMemory();
315 } 315 }
316 316
317 void DefaultServerBoundCertStore::DeleteAllInMemory() { 317 void DefaultChannelIDStore::DeleteAllInMemory() {
318 DCHECK(CalledOnValidThread()); 318 DCHECK(CalledOnValidThread());
319 319
320 for (ServerBoundCertMap::iterator it = server_bound_certs_.begin(); 320 for (ChannelIDMap::iterator it = channel_ids_.begin();
321 it != server_bound_certs_.end(); ++it) { 321 it != channel_ids_.end(); ++it) {
322 delete it->second; 322 delete it->second;
323 } 323 }
324 server_bound_certs_.clear(); 324 channel_ids_.clear();
325 } 325 }
326 326
327 void DefaultServerBoundCertStore::InitStore() { 327 void DefaultChannelIDStore::InitStore() {
328 DCHECK(CalledOnValidThread()); 328 DCHECK(CalledOnValidThread());
329 DCHECK(store_.get()) << "Store must exist to initialize"; 329 DCHECK(store_.get()) << "Store must exist to initialize";
330 DCHECK(!loaded_); 330 DCHECK(!loaded_);
331 331
332 store_->Load(base::Bind(&DefaultServerBoundCertStore::OnLoaded, 332 store_->Load(base::Bind(&DefaultChannelIDStore::OnLoaded,
333 weak_ptr_factory_.GetWeakPtr())); 333 weak_ptr_factory_.GetWeakPtr()));
334 } 334 }
335 335
336 void DefaultServerBoundCertStore::OnLoaded( 336 void DefaultChannelIDStore::OnLoaded(
337 scoped_ptr<ScopedVector<ServerBoundCert> > certs) { 337 scoped_ptr<ScopedVector<ChannelID> > certs) {
wtc 2014/07/01 19:50:55 certs => channel_ids
Ryan Hamilton 2014/07/21 19:12:11 Done.
338 DCHECK(CalledOnValidThread()); 338 DCHECK(CalledOnValidThread());
339 339
340 for (std::vector<ServerBoundCert*>::const_iterator it = certs->begin(); 340 for (std::vector<ChannelID*>::const_iterator it = certs->begin();
341 it != certs->end(); ++it) { 341 it != certs->end(); ++it) {
342 DCHECK(server_bound_certs_.find((*it)->server_identifier()) == 342 DCHECK(channel_ids_.find((*it)->server_identifier()) ==
343 server_bound_certs_.end()); 343 channel_ids_.end());
344 server_bound_certs_[(*it)->server_identifier()] = *it; 344 channel_ids_[(*it)->server_identifier()] = *it;
345 } 345 }
346 certs->weak_clear(); 346 certs->weak_clear();
347 347
348 loaded_ = true; 348 loaded_ = true;
349 349
350 base::TimeDelta wait_time; 350 base::TimeDelta wait_time;
351 if (!waiting_tasks_.empty()) 351 if (!waiting_tasks_.empty())
352 wait_time = base::TimeTicks::Now() - waiting_tasks_start_time_; 352 wait_time = base::TimeTicks::Now() - waiting_tasks_start_time_;
353 DVLOG(1) << "Task delay " << wait_time.InMilliseconds(); 353 DVLOG(1) << "Task delay " << wait_time.InMilliseconds();
354 UMA_HISTOGRAM_CUSTOM_TIMES("DomainBoundCerts.TaskMaxWaitTime", 354 UMA_HISTOGRAM_CUSTOM_TIMES("DomainBoundCerts.TaskMaxWaitTime",
355 wait_time, 355 wait_time,
356 base::TimeDelta::FromMilliseconds(1), 356 base::TimeDelta::FromMilliseconds(1),
357 base::TimeDelta::FromMinutes(1), 357 base::TimeDelta::FromMinutes(1),
358 50); 358 50);
359 UMA_HISTOGRAM_COUNTS_100("DomainBoundCerts.TaskWaitCount", 359 UMA_HISTOGRAM_COUNTS_100("DomainBoundCerts.TaskWaitCount",
360 waiting_tasks_.size()); 360 waiting_tasks_.size());
361 361
362 362
363 for (ScopedVector<Task>::iterator i = waiting_tasks_.begin(); 363 for (ScopedVector<Task>::iterator i = waiting_tasks_.begin();
364 i != waiting_tasks_.end(); ++i) 364 i != waiting_tasks_.end(); ++i)
365 (*i)->Run(this); 365 (*i)->Run(this);
366 waiting_tasks_.clear(); 366 waiting_tasks_.clear();
367 } 367 }
368 368
369 void DefaultServerBoundCertStore::SyncSetServerBoundCert( 369 void DefaultChannelIDStore::SyncSetChannelID(
370 const std::string& server_identifier, 370 const std::string& server_identifier,
371 base::Time creation_time, 371 base::Time creation_time,
372 base::Time expiration_time, 372 base::Time expiration_time,
373 const std::string& private_key, 373 const std::string& private_key,
374 const std::string& cert) { 374 const std::string& cert) {
375 DCHECK(CalledOnValidThread()); 375 DCHECK(CalledOnValidThread());
376 DCHECK(loaded_); 376 DCHECK(loaded_);
377 377
378 InternalDeleteServerBoundCert(server_identifier); 378 InternalDeleteChannelID(server_identifier);
379 InternalInsertServerBoundCert( 379 InternalInsertChannelID(
380 server_identifier, 380 server_identifier,
381 new ServerBoundCert( 381 new ChannelID(
382 server_identifier, creation_time, expiration_time, private_key, 382 server_identifier, creation_time, expiration_time, private_key,
383 cert)); 383 cert));
384 } 384 }
385 385
386 void DefaultServerBoundCertStore::SyncDeleteServerBoundCert( 386 void DefaultChannelIDStore::SyncDeleteChannelID(
387 const std::string& server_identifier) { 387 const std::string& server_identifier) {
388 DCHECK(CalledOnValidThread()); 388 DCHECK(CalledOnValidThread());
389 DCHECK(loaded_); 389 DCHECK(loaded_);
390 InternalDeleteServerBoundCert(server_identifier); 390 InternalDeleteChannelID(server_identifier);
391 } 391 }
392 392
393 void DefaultServerBoundCertStore::SyncDeleteAllCreatedBetween( 393 void DefaultChannelIDStore::SyncDeleteAllCreatedBetween(
394 base::Time delete_begin, 394 base::Time delete_begin,
395 base::Time delete_end) { 395 base::Time delete_end) {
396 DCHECK(CalledOnValidThread()); 396 DCHECK(CalledOnValidThread());
397 DCHECK(loaded_); 397 DCHECK(loaded_);
398 for (ServerBoundCertMap::iterator it = server_bound_certs_.begin(); 398 for (ChannelIDMap::iterator it = channel_ids_.begin();
399 it != server_bound_certs_.end();) { 399 it != channel_ids_.end();) {
400 ServerBoundCertMap::iterator cur = it; 400 ChannelIDMap::iterator cur = it;
401 ++it; 401 ++it;
402 ServerBoundCert* cert = cur->second; 402 ChannelID* cert = cur->second;
wtc 2014/07/01 19:50:55 cert => channel_id
Ryan Hamilton 2014/07/21 19:12:11 Done.
403 if ((delete_begin.is_null() || cert->creation_time() >= delete_begin) && 403 if ((delete_begin.is_null() || cert->creation_time() >= delete_begin) &&
404 (delete_end.is_null() || cert->creation_time() < delete_end)) { 404 (delete_end.is_null() || cert->creation_time() < delete_end)) {
405 if (store_.get()) 405 if (store_.get())
406 store_->DeleteServerBoundCert(*cert); 406 store_->DeleteChannelID(*cert);
407 delete cert; 407 delete cert;
408 server_bound_certs_.erase(cur); 408 channel_ids_.erase(cur);
409 } 409 }
410 } 410 }
411 } 411 }
412 412
413 void DefaultServerBoundCertStore::SyncGetAllServerBoundCerts( 413 void DefaultChannelIDStore::SyncGetAllChannelIDs(
414 ServerBoundCertList* cert_list) { 414 ChannelIDList* cert_list) {
wtc 2014/07/01 19:50:55 cert_list => channel_id_list
Ryan Hamilton 2014/07/21 19:12:12 Done.
415 DCHECK(CalledOnValidThread()); 415 DCHECK(CalledOnValidThread());
416 DCHECK(loaded_); 416 DCHECK(loaded_);
417 for (ServerBoundCertMap::iterator it = server_bound_certs_.begin(); 417 for (ChannelIDMap::iterator it = channel_ids_.begin();
418 it != server_bound_certs_.end(); ++it) 418 it != channel_ids_.end(); ++it)
419 cert_list->push_back(*it->second); 419 cert_list->push_back(*it->second);
420 } 420 }
421 421
422 void DefaultServerBoundCertStore::EnqueueTask(scoped_ptr<Task> task) { 422 void DefaultChannelIDStore::EnqueueTask(scoped_ptr<Task> task) {
423 DCHECK(CalledOnValidThread()); 423 DCHECK(CalledOnValidThread());
424 DCHECK(!loaded_); 424 DCHECK(!loaded_);
425 if (waiting_tasks_.empty()) 425 if (waiting_tasks_.empty())
426 waiting_tasks_start_time_ = base::TimeTicks::Now(); 426 waiting_tasks_start_time_ = base::TimeTicks::Now();
427 waiting_tasks_.push_back(task.release()); 427 waiting_tasks_.push_back(task.release());
428 } 428 }
429 429
430 void DefaultServerBoundCertStore::RunOrEnqueueTask(scoped_ptr<Task> task) { 430 void DefaultChannelIDStore::RunOrEnqueueTask(scoped_ptr<Task> task) {
431 DCHECK(CalledOnValidThread()); 431 DCHECK(CalledOnValidThread());
432 InitIfNecessary(); 432 InitIfNecessary();
433 433
434 if (!loaded_) { 434 if (!loaded_) {
435 EnqueueTask(task.Pass()); 435 EnqueueTask(task.Pass());
436 return; 436 return;
437 } 437 }
438 438
439 task->Run(this); 439 task->Run(this);
440 } 440 }
441 441
442 void DefaultServerBoundCertStore::InternalDeleteServerBoundCert( 442 void DefaultChannelIDStore::InternalDeleteChannelID(
443 const std::string& server_identifier) { 443 const std::string& server_identifier) {
444 DCHECK(CalledOnValidThread()); 444 DCHECK(CalledOnValidThread());
445 DCHECK(loaded_); 445 DCHECK(loaded_);
446 446
447 ServerBoundCertMap::iterator it = server_bound_certs_.find(server_identifier); 447 ChannelIDMap::iterator it = channel_ids_.find(server_identifier);
448 if (it == server_bound_certs_.end()) 448 if (it == channel_ids_.end())
449 return; // There is nothing to delete. 449 return; // There is nothing to delete.
450 450
451 ServerBoundCert* cert = it->second; 451 ChannelID* cert = it->second;
wtc 2014/07/01 19:50:55 cert => channel_id
Ryan Hamilton 2014/07/21 19:12:11 Done.
452 if (store_.get()) 452 if (store_.get())
453 store_->DeleteServerBoundCert(*cert); 453 store_->DeleteChannelID(*cert);
454 server_bound_certs_.erase(it); 454 channel_ids_.erase(it);
455 delete cert; 455 delete cert;
456 } 456 }
457 457
458 void DefaultServerBoundCertStore::InternalInsertServerBoundCert( 458 void DefaultChannelIDStore::InternalInsertChannelID(
459 const std::string& server_identifier, 459 const std::string& server_identifier,
460 ServerBoundCert* cert) { 460 ChannelID* cert) {
wtc 2014/07/01 19:50:55 cert => channel_id
Ryan Hamilton 2014/07/21 19:12:12 Done.
461 DCHECK(CalledOnValidThread()); 461 DCHECK(CalledOnValidThread());
462 DCHECK(loaded_); 462 DCHECK(loaded_);
463 463
464 if (store_.get()) 464 if (store_.get())
465 store_->AddServerBoundCert(*cert); 465 store_->AddChannelID(*cert);
466 server_bound_certs_[server_identifier] = cert; 466 channel_ids_[server_identifier] = cert;
467 } 467 }
468 468
469 DefaultServerBoundCertStore::PersistentStore::PersistentStore() {} 469 DefaultChannelIDStore::PersistentStore::PersistentStore() {}
470 470
471 DefaultServerBoundCertStore::PersistentStore::~PersistentStore() {} 471 DefaultChannelIDStore::PersistentStore::~PersistentStore() {}
472 472
473 } // namespace net 473 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698