Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/metrics/chrome_browser_main_extra_parts_metrics.h" | 5 #include "chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 47 | 47 |
| 48 #if defined(USE_OZONE) || defined(USE_X11) | 48 #if defined(USE_OZONE) || defined(USE_X11) |
| 49 #include "ui/events/devices/input_device_event_observer.h" | 49 #include "ui/events/devices/input_device_event_observer.h" |
| 50 #include "ui/events/devices/input_device_manager.h" | 50 #include "ui/events/devices/input_device_manager.h" |
| 51 #endif // defined(USE_OZONE) || defined(USE_X11) | 51 #endif // defined(USE_OZONE) || defined(USE_X11) |
| 52 | 52 |
| 53 #if defined(OS_WIN) | 53 #if defined(OS_WIN) |
| 54 #include "base/win/windows_version.h" | 54 #include "base/win/windows_version.h" |
| 55 #include "chrome/browser/shell_integration_win.h" | 55 #include "chrome/browser/shell_integration_win.h" |
| 56 #include "chrome/installer/util/google_update_settings.h" | 56 #include "chrome/installer/util/google_update_settings.h" |
| 57 #include "ui/display/win/dpi.h" | |
| 57 #endif // defined(OS_WIN) | 58 #endif // defined(OS_WIN) |
| 58 | 59 |
| 59 namespace { | 60 namespace { |
| 60 | 61 |
| 61 enum UMALinuxGlibcVersion { | 62 enum UMALinuxGlibcVersion { |
| 62 UMA_LINUX_GLIBC_NOT_PARSEABLE, | 63 UMA_LINUX_GLIBC_NOT_PARSEABLE, |
| 63 UMA_LINUX_GLIBC_UNKNOWN, | 64 UMA_LINUX_GLIBC_UNKNOWN, |
| 64 UMA_LINUX_GLIBC_2_11, | 65 UMA_LINUX_GLIBC_2_11, |
| 65 // To log newer versions, just update tools/metrics/histograms/histograms.xml. | 66 // To log newer versions, just update tools/metrics/histograms/histograms.xml. |
| 66 }; | 67 }; |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 264 state = UMA_TOUCH_EVENTS_DISABLED; | 265 state = UMA_TOUCH_EVENTS_DISABLED; |
| 265 } else { | 266 } else { |
| 266 NOTREACHED(); | 267 NOTREACHED(); |
| 267 return; | 268 return; |
| 268 } | 269 } |
| 269 | 270 |
| 270 UMA_HISTOGRAM_ENUMERATION("Touchscreen.TouchEventsEnabled", state, | 271 UMA_HISTOGRAM_ENUMERATION("Touchscreen.TouchEventsEnabled", state, |
| 271 UMA_TOUCH_EVENTS_STATE_COUNT); | 272 UMA_TOUCH_EVENTS_STATE_COUNT); |
| 272 } | 273 } |
| 273 | 274 |
| 275 #if defined(OS_WIN) | |
| 276 void RecordDeviceScale() { | |
| 277 // Clamp the reported value so that if it's wildly out-of-band we won't send | |
| 278 // it to the backend. | |
| 279 const int scale = std::min( | |
| 280 std::max(std::floor(display::win::GetUnforcedDeviceScaleFactor() * 100), | |
| 281 0.f), | |
| 282 1000.f); | |
|
Ilya Sherman
2016/07/16 00:43:10
nit: I think you want 0 and 1000 instead of 0.f an
Bret
2016/07/16 01:22:35
std::floor returns a float and std::min/max requir
| |
| 283 UMA_HISTOGRAM_SPARSE_SLOWLY("UI.DeviceScale", scale); | |
| 284 } | |
| 285 #endif | |
|
Ilya Sherman
2016/07/16 00:43:10
Could you please find a different location for rec
Bret
2016/07/16 01:22:35
Done. Moved into dpi.cc initialization.
| |
| 286 | |
| 274 #if defined(USE_OZONE) || defined(USE_X11) | 287 #if defined(USE_OZONE) || defined(USE_X11) |
| 275 | 288 |
| 276 // Asynchronously records the touch event state when the ui::DeviceDataManager | 289 // Asynchronously records the touch event state when the ui::DeviceDataManager |
| 277 // completes a device scan. | 290 // completes a device scan. |
| 278 class AsynchronousTouchEventStateRecorder | 291 class AsynchronousTouchEventStateRecorder |
| 279 : public ui::InputDeviceEventObserver { | 292 : public ui::InputDeviceEventObserver { |
| 280 public: | 293 public: |
| 281 AsynchronousTouchEventStateRecorder(); | 294 AsynchronousTouchEventStateRecorder(); |
| 282 ~AsynchronousTouchEventStateRecorder() override; | 295 ~AsynchronousTouchEventStateRecorder() override; |
| 283 | 296 |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 349 #if defined(OS_MACOSX) | 362 #if defined(OS_MACOSX) |
| 350 RecordMacMetrics(); | 363 RecordMacMetrics(); |
| 351 #endif // defined(OS_MACOSX) | 364 #endif // defined(OS_MACOSX) |
| 352 | 365 |
| 353 constexpr base::TimeDelta kStartupMetricsGatheringDelay = | 366 constexpr base::TimeDelta kStartupMetricsGatheringDelay = |
| 354 base::TimeDelta::FromSeconds(45); | 367 base::TimeDelta::FromSeconds(45); |
| 355 content::BrowserThread::GetBlockingPool()->PostDelayedTask( | 368 content::BrowserThread::GetBlockingPool()->PostDelayedTask( |
| 356 FROM_HERE, base::Bind(&RecordStartupMetricsOnBlockingPool), | 369 FROM_HERE, base::Bind(&RecordStartupMetricsOnBlockingPool), |
| 357 kStartupMetricsGatheringDelay); | 370 kStartupMetricsGatheringDelay); |
| 358 #if defined(OS_WIN) | 371 #if defined(OS_WIN) |
| 372 RecordDeviceScale(); | |
| 359 content::BrowserThread::PostDelayedTask( | 373 content::BrowserThread::PostDelayedTask( |
| 360 content::BrowserThread::IO, FROM_HERE, | 374 content::BrowserThread::IO, FROM_HERE, |
| 361 base::Bind(&shell_integration::win::RecordIsPinnedToTaskbarHistogram), | 375 base::Bind(&shell_integration::win::RecordIsPinnedToTaskbarHistogram), |
| 362 kStartupMetricsGatheringDelay); | 376 kStartupMetricsGatheringDelay); |
| 363 #endif // defined(OS_WIN) | 377 #endif // defined(OS_WIN) |
| 364 | 378 |
| 365 display_count_ = display::Screen::GetScreen()->GetNumDisplays(); | 379 display_count_ = display::Screen::GetScreen()->GetNumDisplays(); |
| 366 UMA_HISTOGRAM_COUNTS_100("Hardware.Display.Count.OnStartup", display_count_); | 380 UMA_HISTOGRAM_COUNTS_100("Hardware.Display.Count.OnStartup", display_count_); |
| 367 display::Screen::GetScreen()->AddObserver(this); | 381 display::Screen::GetScreen()->AddObserver(this); |
| 368 is_screen_observer_ = true; | 382 is_screen_observer_ = true; |
| (...skipping 25 matching lines...) Expand all Loading... | |
| 394 } | 408 } |
| 395 } | 409 } |
| 396 | 410 |
| 397 namespace chrome { | 411 namespace chrome { |
| 398 | 412 |
| 399 void AddMetricsExtraParts(ChromeBrowserMainParts* main_parts) { | 413 void AddMetricsExtraParts(ChromeBrowserMainParts* main_parts) { |
| 400 main_parts->AddParts(new ChromeBrowserMainExtraPartsMetrics()); | 414 main_parts->AddParts(new ChromeBrowserMainExtraPartsMetrics()); |
| 401 } | 415 } |
| 402 | 416 |
| 403 } // namespace chrome | 417 } // namespace chrome |
| OLD | NEW |