Add flag to list all modes of external displays

This CL adds a flag that enables listing all display
modes in the display settings for external displays,
which can be very useful for debugging and development
purposes.

BUG=927848
TEST=Added tests, tested on device with 4k display

Change-Id: I748f2c2b645071723b94a37f759528b6437558aa
Reviewed-on: https://chromium-review.googlesource.com/c/1465682
Commit-Queue: Ahmed Fakhry <[email protected]>
Reviewed-by: Steven Bennetts <[email protected]>
Reviewed-by: Dominick Ng <[email protected]>
Reviewed-by: Gabriel Charette <[email protected]>
Reviewed-by: Elly Fong-Jones <[email protected]>
Reviewed-by: Mitsuru Oshima <[email protected]>
Cr-Commit-Position: refs/heads/master@{#634875}
diff --git a/ui/display/display_features.cc b/ui/display/display_features.cc
new file mode 100644
index 0000000..b902dba
--- /dev/null
+++ b/ui/display/display_features.cc
@@ -0,0 +1,32 @@
+// Copyright 2019 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 "ui/display/display_features.h"
+
+namespace display {
+namespace features {
+
+const base::Feature kHighDynamicRange{"HighDynamicRange",
+                                      base::FEATURE_ENABLED_BY_DEFAULT};
+
+#if defined(OS_CHROMEOS)
+// Enables using the monitor's provided color space information when
+// rendering.
+// TODO(mcasas): remove this flag http://crbug.com/771345.
+const base::Feature kUseMonitorColorSpace{"UseMonitorColorSpace",
+                                          base::FEATURE_ENABLED_BY_DEFAULT};
+#endif  // OS_CHROMEOS
+
+// This features allows listing all display modes of external displays in the
+// display settings and setting any one of them exactly as requested, which can
+// be very useful for debugging and development purposes.
+const base::Feature kListAllDisplayModes = {"ListAllDisplayModes",
+                                            base::FEATURE_DISABLED_BY_DEFAULT};
+
+bool IsListAllDisplayModesEnabled() {
+  return base::FeatureList::IsEnabled(kListAllDisplayModes);
+}
+
+}  // namespace features
+}  // namespace display