OLD | NEW |
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 "chrome/browser/extensions/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 core_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> > |
15 MemoryInfoProvider::provider_ = LAZY_INSTANCE_INITIALIZER; | 15 MemoryInfoProvider::provider_ = LAZY_INSTANCE_INITIALIZER; |
16 | 16 |
17 MemoryInfoProvider::MemoryInfoProvider() {} | 17 MemoryInfoProvider::MemoryInfoProvider() { |
| 18 } |
18 | 19 |
19 MemoryInfoProvider::~MemoryInfoProvider() {} | 20 MemoryInfoProvider::~MemoryInfoProvider() { |
20 | |
21 const MemoryInfo& MemoryInfoProvider::memory_info() const { | |
22 return info_; | |
23 } | 21 } |
24 | 22 |
25 void MemoryInfoProvider::InitializeForTesting( | 23 void MemoryInfoProvider::InitializeForTesting( |
26 scoped_refptr<MemoryInfoProvider> provider) { | 24 scoped_refptr<MemoryInfoProvider> provider) { |
27 DCHECK(provider.get() != NULL); | 25 DCHECK(provider.get() != NULL); |
28 provider_.Get() = provider; | 26 provider_.Get() = provider; |
29 } | 27 } |
30 | 28 |
31 bool MemoryInfoProvider::QueryInfo() { | 29 bool MemoryInfoProvider::QueryInfo() { |
32 info_.capacity = static_cast<double>(base::SysInfo::AmountOfPhysicalMemory()); | 30 info_.capacity = static_cast<double>(base::SysInfo::AmountOfPhysicalMemory()); |
33 info_.available_capacity = | 31 info_.available_capacity = |
34 static_cast<double>(base::SysInfo::AmountOfAvailablePhysicalMemory()); | 32 static_cast<double>(base::SysInfo::AmountOfAvailablePhysicalMemory()); |
35 return true; | 33 return true; |
36 } | 34 } |
37 | 35 |
38 // static | 36 // static |
39 MemoryInfoProvider* MemoryInfoProvider::Get() { | 37 MemoryInfoProvider* MemoryInfoProvider::Get() { |
40 if (provider_.Get().get() == NULL) | 38 if (provider_.Get().get() == NULL) |
41 provider_.Get() = new MemoryInfoProvider(); | 39 provider_.Get() = new MemoryInfoProvider(); |
42 return provider_.Get().get(); | 40 return provider_.Get().get(); |
43 } | 41 } |
44 | 42 |
45 } // namespace extensions | 43 } // namespace extensions |
OLD | NEW |