Index: chrome/browser/extensions/api/system_cpu/cpu_info_provider_win.cc |
diff --git a/chrome/browser/extensions/api/system_cpu/cpu_info_provider_win.cc b/chrome/browser/extensions/api/system_cpu/cpu_info_provider_win.cc |
deleted file mode 100644 |
index 54e4301dbf0b8bd6a5c5da9b4b496a6c65f39864..0000000000000000000000000000000000000000 |
--- a/chrome/browser/extensions/api/system_cpu/cpu_info_provider_win.cc |
+++ /dev/null |
@@ -1,73 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/extensions/api/system_cpu/cpu_info_provider.h" |
- |
-#include <windows.h> |
-#include <winternl.h> |
- |
-#include "base/sys_info.h" |
- |
-namespace extensions { |
- |
-namespace { |
- |
-const wchar_t kNtdll[] = L"ntdll.dll"; |
-const char kNtQuerySystemInformationName[] = "NtQuerySystemInformation"; |
- |
-// See MSDN about NtQuerySystemInformation definition. |
-typedef DWORD (WINAPI *NtQuerySystemInformationPF)(DWORD system_info_class, |
- PVOID system_info, |
- ULONG system_info_length, |
- PULONG return_length); |
- |
-} // namespace |
- |
-bool CpuInfoProvider::QueryCpuTimePerProcessor( |
- std::vector<linked_ptr<api::system_cpu::ProcessorInfo> >* infos) { |
- DCHECK(infos); |
- |
- HMODULE ntdll = GetModuleHandle(kNtdll); |
- CHECK(ntdll != NULL); |
- NtQuerySystemInformationPF NtQuerySystemInformation = |
- reinterpret_cast<NtQuerySystemInformationPF>( |
- ::GetProcAddress(ntdll, kNtQuerySystemInformationName)); |
- |
- CHECK(NtQuerySystemInformation != NULL); |
- |
- int num_of_processors = base::SysInfo::NumberOfProcessors(); |
- scoped_ptr<SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION[]> processor_info( |
- new SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION[num_of_processors]); |
- |
- ULONG returned_bytes = 0, bytes = |
- sizeof(SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION) * num_of_processors; |
- if (!NT_SUCCESS(NtQuerySystemInformation( |
- SystemProcessorPerformanceInformation, |
- processor_info.get(), bytes, &returned_bytes))) |
- return false; |
- |
- int returned_num_of_processors = |
- returned_bytes / sizeof(SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION); |
- |
- if (returned_num_of_processors != num_of_processors) |
- return false; |
- |
- DCHECK_EQ(num_of_processors, static_cast<int>(infos->size())); |
- for (int i = 0; i < returned_num_of_processors; ++i) { |
- double kernel = static_cast<double>(processor_info[i].KernelTime.QuadPart), |
- user = static_cast<double>(processor_info[i].UserTime.QuadPart), |
- idle = static_cast<double>(processor_info[i].IdleTime.QuadPart); |
- |
- // KernelTime needs to be fixed-up, because it includes both idle time and |
- // real kernel time. |
- infos->at(i)->usage.kernel = kernel - idle; |
- infos->at(i)->usage.user = user; |
- infos->at(i)->usage.idle = idle; |
- infos->at(i)->usage.total = kernel + user; |
- } |
- |
- return true; |
-} |
- |
-} // namespace extensions |