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

Side by Side Diff: extensions/browser/api/system_memory/memory_info_provider.cc

Issue 2733283002: Require explicit selection of traits for LazyInstance (Closed)
Patch Set: l10n again Created 3 years, 9 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
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 "extensions/browser/api/system_memory/memory_info_provider.h" 5 #include "extensions/browser/api/system_memory/memory_info_provider.h"
6 6
7 #include "base/sys_info.h" 7 #include "base/sys_info.h"
8 8
9 namespace extensions { 9 namespace extensions {
10 10
11 using api::system_memory::MemoryInfo; 11 using api::system_memory::MemoryInfo;
12 12
13 // Static member intialization. 13 // Static member intialization.
14 base::LazyInstance<scoped_refptr<MemoryInfoProvider> > 14 base::LazyInstance<scoped_refptr<MemoryInfoProvider>>::DestructorAtExit
15 MemoryInfoProvider::provider_ = LAZY_INSTANCE_INITIALIZER; 15 MemoryInfoProvider::provider_ = LAZY_INSTANCE_INITIALIZER;
16 16
17 MemoryInfoProvider::MemoryInfoProvider() { 17 MemoryInfoProvider::MemoryInfoProvider() {
18 } 18 }
19 19
20 MemoryInfoProvider::~MemoryInfoProvider() { 20 MemoryInfoProvider::~MemoryInfoProvider() {
21 } 21 }
22 22
23 void MemoryInfoProvider::InitializeForTesting( 23 void MemoryInfoProvider::InitializeForTesting(
24 scoped_refptr<MemoryInfoProvider> provider) { 24 scoped_refptr<MemoryInfoProvider> provider) {
25 DCHECK(provider.get() != NULL); 25 DCHECK(provider.get() != NULL);
26 provider_.Get() = provider; 26 provider_.Get() = provider;
27 } 27 }
28 28
29 bool MemoryInfoProvider::QueryInfo() { 29 bool MemoryInfoProvider::QueryInfo() {
30 info_.capacity = static_cast<double>(base::SysInfo::AmountOfPhysicalMemory()); 30 info_.capacity = static_cast<double>(base::SysInfo::AmountOfPhysicalMemory());
31 info_.available_capacity = 31 info_.available_capacity =
32 static_cast<double>(base::SysInfo::AmountOfAvailablePhysicalMemory()); 32 static_cast<double>(base::SysInfo::AmountOfAvailablePhysicalMemory());
33 return true; 33 return true;
34 } 34 }
35 35
36 // static 36 // static
37 MemoryInfoProvider* MemoryInfoProvider::Get() { 37 MemoryInfoProvider* MemoryInfoProvider::Get() {
38 if (provider_.Get().get() == NULL) 38 if (provider_.Get().get() == NULL)
39 provider_.Get() = new MemoryInfoProvider(); 39 provider_.Get() = new MemoryInfoProvider();
40 return provider_.Get().get(); 40 return provider_.Get().get();
41 } 41 }
42 42
43 } // namespace extensions 43 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698