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 |