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

Side by Side Diff: chrome/browser/internal_auth.cc

Issue 8491043: Allow linker initialization of lazy instance (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: willchan comments + rebase Created 9 years, 1 month 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
« no previous file with comments | « chrome/browser/external_tab_container_win.cc ('k') | chrome/browser/plugin_prefs.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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "chrome/browser/internal_auth.h" 5 #include "chrome/browser/internal_auth.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <deque> 8 #include <deque>
9 9
10 #include "base/base64.h" 10 #include "base/base64.h"
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 int64 dark_tick_; 318 int64 dark_tick_;
319 319
320 DISALLOW_COPY_AND_ASSIGN(InternalAuthVerificationService); 320 DISALLOW_COPY_AND_ASSIGN(InternalAuthVerificationService);
321 }; 321 };
322 322
323 } // namespace browser 323 } // namespace browser
324 324
325 namespace { 325 namespace {
326 326
327 static base::LazyInstance<browser::InternalAuthVerificationService> 327 static base::LazyInstance<browser::InternalAuthVerificationService>
328 g_verification_service(base::LINKER_INITIALIZED); 328 g_verification_service = LAZY_INSTANCE_INITIALIZER;
329 static base::LazyInstance<base::Lock, 329 static base::LazyInstance<base::Lock,
330 base::LeakyLazyInstanceTraits<base::Lock> > 330 base::LeakyLazyInstanceTraits<base::Lock> >
331 g_verification_service_lock(base::LINKER_INITIALIZED); 331 g_verification_service_lock = LAZY_INSTANCE_INITIALIZER;
332 332
333 } // namespace 333 } // namespace
334 334
335 namespace browser { 335 namespace browser {
336 336
337 class InternalAuthGenerationService : public base::ThreadChecker { 337 class InternalAuthGenerationService : public base::ThreadChecker {
338 public: 338 public:
339 InternalAuthGenerationService() : key_regeneration_tick_(0) { 339 InternalAuthGenerationService() : key_regeneration_tick_(0) {
340 GenerateNewKey(); 340 GenerateNewKey();
341 } 341 }
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 std::deque<int64> used_ticks_; 426 std::deque<int64> used_ticks_;
427 427
428 DISALLOW_COPY_AND_ASSIGN(InternalAuthGenerationService); 428 DISALLOW_COPY_AND_ASSIGN(InternalAuthGenerationService);
429 }; 429 };
430 430
431 } // namespace browser 431 } // namespace browser
432 432
433 namespace { 433 namespace {
434 434
435 static base::LazyInstance<browser::InternalAuthGenerationService> 435 static base::LazyInstance<browser::InternalAuthGenerationService>
436 g_generation_service(base::LINKER_INITIALIZED); 436 g_generation_service = LAZY_INSTANCE_INITIALIZER;
437 437
438 } // namespace 438 } // namespace
439 439
440 namespace browser { 440 namespace browser {
441 441
442 // static 442 // static
443 bool InternalAuthVerification::VerifyPassport( 443 bool InternalAuthVerification::VerifyPassport(
444 const std::string& passport, 444 const std::string& passport,
445 const std::string& domain, 445 const std::string& domain,
446 const VarValueMap& var_value_map) { 446 const VarValueMap& var_value_map) {
(...skipping 24 matching lines...) Expand all
471 const std::string& domain, const VarValueMap& var_value_map) { 471 const std::string& domain, const VarValueMap& var_value_map) {
472 return g_generation_service.Get().GeneratePassport(domain, var_value_map, 0); 472 return g_generation_service.Get().GeneratePassport(domain, var_value_map, 0);
473 } 473 }
474 474
475 // static 475 // static
476 void InternalAuthGeneration::GenerateNewKey() { 476 void InternalAuthGeneration::GenerateNewKey() {
477 g_generation_service.Get().GenerateNewKey(); 477 g_generation_service.Get().GenerateNewKey();
478 } 478 }
479 479
480 } // namespace browser 480 } // namespace browser
OLDNEW
« no previous file with comments | « chrome/browser/external_tab_container_win.cc ('k') | chrome/browser/plugin_prefs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698