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..e50adb601c8506e95c8d82a2d7fad28544144806 |
--- /dev/null |
+++ b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics_mac.mm |
@@ -0,0 +1,34 @@ |
+// 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.h" |
+ |
+#include "base/mac/sdk_forward_declarations.h" |
+#include "base/metrics/histogram.h" |
+ |
+namespace { |
+ |
+// The possible values of the setting "Screens Have Separate Spaces". |
+enum SeparateSpaces { |
Ilya Sherman
2014/10/21 21:23:55
nit: "SeparateSpaces" is a pretty odd type name.
erikchen
2014/10/24 17:55:02
Used your suggestion. Thanks!
|
+ SCREENS_CANNOT_HAVE_SEPARATE_SPACES = 0, |
+ SCREENS_HAVE_SEPARATE_SPACES = 1, |
+ SCREENS_HAVE_SHARED_SPACES = 2, |
+ SEPARATE_SPACES_COUNT = 3 |
+}; |
+ |
+} // namespace |
+ |
+void ChromeBrowserMainExtraPartsMetrics::RecordMacMetrics() { |
+ int separate_spaces = SCREENS_CANNOT_HAVE_SEPARATE_SPACES; |
Ilya Sherman
2014/10/21 21:23:55
nit: Why is this an int, rather than a "SeparateSp
erikchen
2014/10/24 17:55:02
No good reason. Fixed.
|
+ |
+ if ([NSScreen respondsToSelector:@selector(screensHaveSeparateSpaces)]) { |
+ BOOL screens_have_separate_spaces = [NSScreen screensHaveSeparateSpaces]; |
+ separate_spaces = screens_have_separate_spaces |
+ ? SCREENS_HAVE_SEPARATE_SPACES |
+ : SCREENS_HAVE_SHARED_SPACES; |
+ } |
+ UMA_HISTOGRAM_ENUMERATION("OSX.Settings.ScreensHaveSeparateSpaces", |
+ separate_spaces, |
+ SEPARATE_SPACES_COUNT); |
+} |