diff options
Diffstat (limited to 'chrome/browser/metrics/gpu_metrics_provider.cc')
-rw-r--r-- | chrome/browser/metrics/gpu_metrics_provider.cc | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/chrome/browser/metrics/gpu_metrics_provider.cc b/chrome/browser/metrics/gpu_metrics_provider.cc deleted file mode 100644 index 34b8a39..0000000 --- a/chrome/browser/metrics/gpu_metrics_provider.cc +++ /dev/null @@ -1,108 +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/metrics/gpu_metrics_provider.h" - -#include "components/metrics/proto/system_profile.pb.h" -#include "content/public/browser/gpu_data_manager.h" -#include "gpu/config/gpu_info.h" -#include "ui/gfx/screen.h" - -#if defined(OS_WIN) - -#include <windows.h> - -namespace { - -struct ScreenDPIInformation { - double max_dpi_x; - double max_dpi_y; -}; - -// Called once for each connected monitor. -BOOL CALLBACK GetMonitorDPICallback(HMONITOR, HDC hdc, LPRECT, LPARAM dwData) { - const double kMillimetersPerInch = 25.4; - ScreenDPIInformation* screen_info = - reinterpret_cast<ScreenDPIInformation*>(dwData); - // Size of screen, in mm. - DWORD size_x = GetDeviceCaps(hdc, HORZSIZE); - DWORD size_y = GetDeviceCaps(hdc, VERTSIZE); - double dpi_x = (size_x > 0) ? - GetDeviceCaps(hdc, HORZRES) / (size_x / kMillimetersPerInch) : 0; - double dpi_y = (size_y > 0) ? - GetDeviceCaps(hdc, VERTRES) / (size_y / kMillimetersPerInch) : 0; - screen_info->max_dpi_x = std::max(dpi_x, screen_info->max_dpi_x); - screen_info->max_dpi_y = std::max(dpi_y, screen_info->max_dpi_y); - return TRUE; -} - -void WriteScreenDPIInformationProto( - metrics::SystemProfileProto::Hardware* hardware) { - HDC desktop_dc = GetDC(NULL); - if (desktop_dc) { - ScreenDPIInformation si = {0, 0}; - if (EnumDisplayMonitors(desktop_dc, NULL, GetMonitorDPICallback, - reinterpret_cast<LPARAM>(&si))) { - hardware->set_max_dpi_x(si.max_dpi_x); - hardware->set_max_dpi_y(si.max_dpi_y); - } - ReleaseDC(GetDesktopWindow(), desktop_dc); - } -} - -} // namespace - -#endif // defined(OS_WIN) - -GPUMetricsProvider::GPUMetricsProvider() { -} - -GPUMetricsProvider::~GPUMetricsProvider() { -} - -void GPUMetricsProvider::ProvideSystemProfileMetrics( - metrics::SystemProfileProto* system_profile_proto) { - metrics::SystemProfileProto::Hardware* hardware = - system_profile_proto->mutable_hardware(); - - const gpu::GPUInfo& gpu_info = - content::GpuDataManager::GetInstance()->GetGPUInfo(); - metrics::SystemProfileProto::Hardware::Graphics* gpu = - hardware->mutable_gpu(); - gpu->set_vendor_id(gpu_info.gpu.vendor_id); - gpu->set_device_id(gpu_info.gpu.device_id); - gpu->set_driver_version(gpu_info.driver_version); - gpu->set_driver_date(gpu_info.driver_date); - metrics::SystemProfileProto::Hardware::Graphics::PerformanceStatistics* - gpu_performance = gpu->mutable_performance_statistics(); - gpu_performance->set_graphics_score(gpu_info.performance_stats.graphics); - gpu_performance->set_gaming_score(gpu_info.performance_stats.gaming); - gpu_performance->set_overall_score(gpu_info.performance_stats.overall); - gpu->set_gl_vendor(gpu_info.gl_vendor); - gpu->set_gl_renderer(gpu_info.gl_renderer); - - const gfx::Size display_size = GetScreenSize(); - hardware->set_primary_screen_width(display_size.width()); - hardware->set_primary_screen_height(display_size.height()); - hardware->set_primary_screen_scale_factor(GetScreenDeviceScaleFactor()); - hardware->set_screen_count(GetScreenCount()); - -#if defined(OS_WIN) - WriteScreenDPIInformationProto(hardware); -#endif -} - -gfx::Size GPUMetricsProvider::GetScreenSize() const { - return gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().GetSizeInPixel(); -} - -float GPUMetricsProvider::GetScreenDeviceScaleFactor() const { - return gfx::Screen::GetNativeScreen()-> - GetPrimaryDisplay().device_scale_factor(); -} - -int GPUMetricsProvider::GetScreenCount() const { - // TODO(scottmg): NativeScreen maybe wrong. http://crbug.com/133312 - return gfx::Screen::GetNativeScreen()->GetNumDisplays(); -} |