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

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

Issue 2095523002: Make //crypto factories return std::unique_ptr<>s (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: I'm blind Created 4 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
« no previous file with comments | « net/ssl/channel_id_store.cc ('k') | net/ssl/default_channel_id_store_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_channel_id_store.h" 5 #include "net/ssl/default_channel_id_store.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 new GetChannelIDTask(server_identifier, callback))); 235 new GetChannelIDTask(server_identifier, callback)));
236 return ERR_IO_PENDING; 236 return ERR_IO_PENDING;
237 } 237 }
238 238
239 ChannelIDMap::iterator it = channel_ids_.find(server_identifier); 239 ChannelIDMap::iterator it = channel_ids_.find(server_identifier);
240 240
241 if (it == channel_ids_.end()) 241 if (it == channel_ids_.end())
242 return ERR_FILE_NOT_FOUND; 242 return ERR_FILE_NOT_FOUND;
243 243
244 ChannelID* channel_id = it->second; 244 ChannelID* channel_id = it->second;
245 key_result->reset(channel_id->key()->Copy()); 245 *key_result = channel_id->key()->Copy();
246 246
247 return OK; 247 return OK;
248 } 248 }
249 249
250 void DefaultChannelIDStore::SetChannelID( 250 void DefaultChannelIDStore::SetChannelID(
251 std::unique_ptr<ChannelID> channel_id) { 251 std::unique_ptr<ChannelID> channel_id) {
252 auto task = new SetChannelIDTask(std::move(channel_id)); 252 auto task = new SetChannelIDTask(std::move(channel_id));
253 RunOrEnqueueTask(std::unique_ptr<Task>(task)); 253 RunOrEnqueueTask(std::unique_ptr<Task>(task));
254 } 254 }
255 255
(...skipping 27 matching lines...) Expand all
283 int DefaultChannelIDStore::GetChannelIDCount() { 283 int DefaultChannelIDStore::GetChannelIDCount() {
284 DCHECK(CalledOnValidThread()); 284 DCHECK(CalledOnValidThread());
285 285
286 return channel_ids_.size(); 286 return channel_ids_.size();
287 } 287 }
288 288
289 void DefaultChannelIDStore::SetForceKeepSessionState() { 289 void DefaultChannelIDStore::SetForceKeepSessionState() {
290 DCHECK(CalledOnValidThread()); 290 DCHECK(CalledOnValidThread());
291 InitIfNecessary(); 291 InitIfNecessary();
292 292
293 if (store_.get()) 293 if (store_)
294 store_->SetForceKeepSessionState(); 294 store_->SetForceKeepSessionState();
295 } 295 }
296 296
297 DefaultChannelIDStore::~DefaultChannelIDStore() { 297 DefaultChannelIDStore::~DefaultChannelIDStore() {
298 DeleteAllInMemory(); 298 DeleteAllInMemory();
299 } 299 }
300 300
301 void DefaultChannelIDStore::DeleteAllInMemory() { 301 void DefaultChannelIDStore::DeleteAllInMemory() {
302 DCHECK(CalledOnValidThread()); 302 DCHECK(CalledOnValidThread());
303 303
304 for (ChannelIDMap::iterator it = channel_ids_.begin(); 304 for (ChannelIDMap::iterator it = channel_ids_.begin();
305 it != channel_ids_.end(); ++it) { 305 it != channel_ids_.end(); ++it) {
306 delete it->second; 306 delete it->second;
307 } 307 }
308 channel_ids_.clear(); 308 channel_ids_.clear();
309 } 309 }
310 310
311 void DefaultChannelIDStore::InitStore() { 311 void DefaultChannelIDStore::InitStore() {
312 DCHECK(CalledOnValidThread()); 312 DCHECK(CalledOnValidThread());
313 DCHECK(store_.get()) << "Store must exist to initialize"; 313 DCHECK(store_) << "Store must exist to initialize";
314 DCHECK(!loaded_); 314 DCHECK(!loaded_);
315 315
316 store_->Load(base::Bind(&DefaultChannelIDStore::OnLoaded, 316 store_->Load(base::Bind(&DefaultChannelIDStore::OnLoaded,
317 weak_ptr_factory_.GetWeakPtr())); 317 weak_ptr_factory_.GetWeakPtr()));
318 } 318 }
319 319
320 void DefaultChannelIDStore::OnLoaded( 320 void DefaultChannelIDStore::OnLoaded(
321 std::unique_ptr<std::vector<std::unique_ptr<ChannelID>>> channel_ids) { 321 std::unique_ptr<std::vector<std::unique_ptr<ChannelID>>> channel_ids) {
322 DCHECK(CalledOnValidThread()); 322 DCHECK(CalledOnValidThread());
323 for (std::vector<std::unique_ptr<ChannelID>>::iterator it = 323 for (std::vector<std::unique_ptr<ChannelID>>::iterator it =
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 for (ChannelIDMap::iterator it = channel_ids_.begin(); 374 for (ChannelIDMap::iterator it = channel_ids_.begin();
375 it != channel_ids_.end();) { 375 it != channel_ids_.end();) {
376 ChannelIDMap::iterator cur = it; 376 ChannelIDMap::iterator cur = it;
377 ++it; 377 ++it;
378 ChannelID* channel_id = cur->second; 378 ChannelID* channel_id = cur->second;
379 379
380 if ((delete_begin.is_null() || 380 if ((delete_begin.is_null() ||
381 channel_id->creation_time() >= delete_begin) && 381 channel_id->creation_time() >= delete_begin) &&
382 (delete_end.is_null() || channel_id->creation_time() < delete_end) && 382 (delete_end.is_null() || channel_id->creation_time() < delete_end) &&
383 domain_predicate.Run(channel_id->server_identifier())) { 383 domain_predicate.Run(channel_id->server_identifier())) {
384 if (store_.get()) 384 if (store_)
385 store_->DeleteChannelID(*channel_id); 385 store_->DeleteChannelID(*channel_id);
386 delete channel_id; 386 delete channel_id;
387 channel_ids_.erase(cur); 387 channel_ids_.erase(cur);
388 } 388 }
389 } 389 }
390 } 390 }
391 391
392 void DefaultChannelIDStore::SyncGetAllChannelIDs( 392 void DefaultChannelIDStore::SyncGetAllChannelIDs(
393 ChannelIDList* channel_id_list) { 393 ChannelIDList* channel_id_list) {
394 DCHECK(CalledOnValidThread()); 394 DCHECK(CalledOnValidThread());
(...skipping 26 matching lines...) Expand all
421 void DefaultChannelIDStore::InternalDeleteChannelID( 421 void DefaultChannelIDStore::InternalDeleteChannelID(
422 const std::string& server_identifier) { 422 const std::string& server_identifier) {
423 DCHECK(CalledOnValidThread()); 423 DCHECK(CalledOnValidThread());
424 DCHECK(loaded_); 424 DCHECK(loaded_);
425 425
426 ChannelIDMap::iterator it = channel_ids_.find(server_identifier); 426 ChannelIDMap::iterator it = channel_ids_.find(server_identifier);
427 if (it == channel_ids_.end()) 427 if (it == channel_ids_.end())
428 return; // There is nothing to delete. 428 return; // There is nothing to delete.
429 429
430 ChannelID* channel_id = it->second; 430 ChannelID* channel_id = it->second;
431 if (store_.get()) 431 if (store_)
432 store_->DeleteChannelID(*channel_id); 432 store_->DeleteChannelID(*channel_id);
433 channel_ids_.erase(it); 433 channel_ids_.erase(it);
434 delete channel_id; 434 delete channel_id;
435 } 435 }
436 436
437 void DefaultChannelIDStore::InternalInsertChannelID( 437 void DefaultChannelIDStore::InternalInsertChannelID(
438 std::unique_ptr<ChannelID> channel_id) { 438 std::unique_ptr<ChannelID> channel_id) {
439 DCHECK(CalledOnValidThread()); 439 DCHECK(CalledOnValidThread());
440 DCHECK(loaded_); 440 DCHECK(loaded_);
441 441
442 if (store_.get()) 442 if (store_)
443 store_->AddChannelID(*(channel_id.get())); 443 store_->AddChannelID(*channel_id);
444 const std::string& server_identifier = channel_id->server_identifier(); 444 const std::string& server_identifier = channel_id->server_identifier();
445 channel_ids_[server_identifier] = channel_id.release(); 445 channel_ids_[server_identifier] = channel_id.release();
446 } 446 }
447 447
448 bool DefaultChannelIDStore::IsEphemeral() { 448 bool DefaultChannelIDStore::IsEphemeral() {
449 return store_.get() == nullptr; 449 return !store_;
450 } 450 }
451 451
452 DefaultChannelIDStore::PersistentStore::PersistentStore() {} 452 DefaultChannelIDStore::PersistentStore::PersistentStore() {}
453 453
454 DefaultChannelIDStore::PersistentStore::~PersistentStore() {} 454 DefaultChannelIDStore::PersistentStore::~PersistentStore() {}
455 455
456 } // namespace net 456 } // namespace net
OLDNEW
« no previous file with comments | « net/ssl/channel_id_store.cc ('k') | net/ssl/default_channel_id_store_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698