Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(351)

Unified Diff: ui/base/material_design/material_design_controller.cc

Issue 1955773002: Enable MD by default on Windows for Canary/Dev and local builds. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/base/material_design/material_design_controller.cc
diff --git a/ui/base/material_design/material_design_controller.cc b/ui/base/material_design/material_design_controller.cc
index ddf60ed546e94909ac1ae96fa91d61358b2273b7..3e0388ec84952a1feb2b9c8fd48b142e84d2bf94 100644
--- a/ui/base/material_design/material_design_controller.cc
+++ b/ui/base/material_design/material_design_controller.cc
@@ -6,6 +6,7 @@
#include "base/command_line.h"
#include "base/logging.h"
+#include "base/metrics/field_trial.h"
#include "base/trace_event/trace_event.h"
#include "ui/base/material_design/material_design_controller.h"
#include "ui/base/ui_base_switches.h"
@@ -25,8 +26,9 @@
namespace ui {
+// static
bool MaterialDesignController::is_mode_initialized_ = false;
-
+bool MaterialDesignController::windows_should_default_to_material_ = false;
MaterialDesignController::Mode MaterialDesignController::mode_ =
MaterialDesignController::NON_MATERIAL;
@@ -81,6 +83,21 @@ bool MaterialDesignController::IsSecondaryUiMaterial() {
// static
MaterialDesignController::Mode MaterialDesignController::DefaultMode() {
+ // The field trial value, if any, overrides the platform defaults below.
+ constexpr char kMaterialDesignModeFieldTrialName[] = "MaterialDesignMode";
+ constexpr char kNonMaterialGroupName[] = "NonMaterial";
+ constexpr char kMaterialNormalGroupName[] = "MaterialNormal";
+ constexpr char kMaterialHybridGroupName[] = "MaterialHybrid";
+ const std::string group =
+ base::FieldTrialList::FindFullName(kMaterialDesignModeFieldTrialName);
+ if (group == kNonMaterialGroupName)
+ return NON_MATERIAL;
+ if (group == kMaterialNormalGroupName)
+ return MATERIAL_NORMAL;
+ if (group == kMaterialHybridGroupName)
+ return MATERIAL_HYBRID;
+
+ // No recognized field trial group; fall back to per-platform defaults.
#if defined(OS_CHROMEOS)
if (DeviceDataManager::HasInstance() &&
DeviceDataManager::GetInstance()->device_lists_complete()) {
@@ -109,12 +126,20 @@ MaterialDesignController::Mode MaterialDesignController::DefaultMode() {
return MATERIAL_NORMAL;
#elif defined(OS_LINUX)
return MATERIAL_NORMAL;
+#elif defined(OS_WIN)
+ return windows_should_default_to_material_ ? MATERIAL_NORMAL : NON_MATERIAL;
#else
return NON_MATERIAL;
#endif // defined(OS_CHROMEOS)
}
// static
+void MaterialDesignController::SetWindowsShouldDefaultToMaterial(
+ bool default_to_material) {
+ windows_should_default_to_material_ = default_to_material;
+}
+
+// static
void MaterialDesignController::Uninitialize() {
is_mode_initialized_ = false;
}
« chrome/browser/chrome_browser_main.cc ('K') | « ui/base/material_design/material_design_controller.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698