| Index: chrome/browser/metrics/chrome_browser_main_extra_parts_metrics_mac.mm
|
| diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics_mac.mm b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics_mac.mm
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b0cef69ec7d710066798588f916efa8446272b5e
|
| --- /dev/null
|
| +++ b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics_mac.mm
|
| @@ -0,0 +1,53 @@
|
| +// 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/chrome_browser_main_extra_parts_metrics_mac.h"
|
| +
|
| +#include "base/metrics/histogram.h"
|
| +#include "ui/gfx/screen.h"
|
| +
|
| +namespace {
|
| +
|
| +// The maximum number of screens to record in UMA.
|
| +int kMaxDisplays = 10;
|
| +
|
| +} // namespace
|
| +
|
| +ChromeBrowserMainExtraPartsMetricsMac::ChromeBrowserMainExtraPartsMetricsMac() {
|
| + displayCount_ = gfx::Screen::GetNativeScreen()->GetNumDisplays();
|
| + UMA_HISTOGRAM_ENUMERATION("OSX.DisplayCount.StartUp",
|
| + std::min(kMaxDisplays, displayCount_),
|
| + kMaxDisplays + 1);
|
| + gfx::Screen::GetNativeScreen()->AddObserver(this);
|
| +}
|
| +
|
| +ChromeBrowserMainExtraPartsMetricsMac::
|
| + ~ChromeBrowserMainExtraPartsMetricsMac() {
|
| + gfx::Screen::GetNativeScreen()->RemoveObserver(this);
|
| +}
|
| +
|
| +void ChromeBrowserMainExtraPartsMetricsMac::OnDisplayAdded(
|
| + const gfx::Display& new_display) {
|
| + EmitDisplaysChangedMetric();
|
| +}
|
| +
|
| +void ChromeBrowserMainExtraPartsMetricsMac::OnDisplayRemoved(
|
| + const gfx::Display& old_display) {
|
| + EmitDisplaysChangedMetric();
|
| +}
|
| +
|
| +void ChromeBrowserMainExtraPartsMetricsMac::OnDisplayMetricsChanged(
|
| + const gfx::Display& display,
|
| + uint32_t changed_metrics) {
|
| +}
|
| +
|
| +void ChromeBrowserMainExtraPartsMetricsMac::EmitDisplaysChangedMetric() {
|
| + int displayCount = gfx::Screen::GetNativeScreen()->GetNumDisplays();
|
| + if (displayCount != displayCount_) {
|
| + displayCount_ = displayCount;
|
| + UMA_HISTOGRAM_ENUMERATION("OSX.DisplayCount.Changed",
|
| + std::min(kMaxDisplays, displayCount_),
|
| + kMaxDisplays + 1);
|
| + }
|
| +}
|
|
|