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

Side by Side 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 <string> 5 #include <string>
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/metrics/field_trial.h"
9 #include "base/trace_event/trace_event.h" 10 #include "base/trace_event/trace_event.h"
10 #include "ui/base/material_design/material_design_controller.h" 11 #include "ui/base/material_design/material_design_controller.h"
11 #include "ui/base/ui_base_switches.h" 12 #include "ui/base/ui_base_switches.h"
12 13
13 #if defined(OS_CHROMEOS) 14 #if defined(OS_CHROMEOS)
14 #include "ui/base/touch/touch_device.h" 15 #include "ui/base/touch/touch_device.h"
15 #include "ui/events/devices/device_data_manager.h" 16 #include "ui/events/devices/device_data_manager.h"
16 17
17 #if defined(USE_OZONE) 18 #if defined(USE_OZONE)
18 #include <fcntl.h> 19 #include <fcntl.h>
19 20
20 #include "base/files/file_enumerator.h" 21 #include "base/files/file_enumerator.h"
21 #include "ui/events/ozone/evdev/event_device_info.h" 22 #include "ui/events/ozone/evdev/event_device_info.h"
22 #endif // defined(USE_OZONE) 23 #endif // defined(USE_OZONE)
23 24
24 #endif // defined(OS_CHROMEOS) 25 #endif // defined(OS_CHROMEOS)
25 26
26 namespace ui { 27 namespace ui {
27 28
29 // static
28 bool MaterialDesignController::is_mode_initialized_ = false; 30 bool MaterialDesignController::is_mode_initialized_ = false;
29 31 bool MaterialDesignController::windows_should_default_to_material_ = false;
30 MaterialDesignController::Mode MaterialDesignController::mode_ = 32 MaterialDesignController::Mode MaterialDesignController::mode_ =
31 MaterialDesignController::NON_MATERIAL; 33 MaterialDesignController::NON_MATERIAL;
32 34
33 bool MaterialDesignController::include_secondary_ui_ = false; 35 bool MaterialDesignController::include_secondary_ui_ = false;
34 36
35 // static 37 // static
36 void MaterialDesignController::Initialize() { 38 void MaterialDesignController::Initialize() {
37 TRACE_EVENT0("startup", "MaterialDesignController::InitializeMode"); 39 TRACE_EVENT0("startup", "MaterialDesignController::InitializeMode");
38 CHECK(!is_mode_initialized_); 40 CHECK(!is_mode_initialized_);
39 #if !defined(ENABLE_TOPCHROME_MD) 41 #if !defined(ENABLE_TOPCHROME_MD)
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 return GetMode() == MATERIAL_NORMAL || GetMode() == MATERIAL_HYBRID; 76 return GetMode() == MATERIAL_NORMAL || GetMode() == MATERIAL_HYBRID;
75 } 77 }
76 78
77 // static 79 // static
78 bool MaterialDesignController::IsSecondaryUiMaterial() { 80 bool MaterialDesignController::IsSecondaryUiMaterial() {
79 return IsModeMaterial() && include_secondary_ui_; 81 return IsModeMaterial() && include_secondary_ui_;
80 } 82 }
81 83
82 // static 84 // static
83 MaterialDesignController::Mode MaterialDesignController::DefaultMode() { 85 MaterialDesignController::Mode MaterialDesignController::DefaultMode() {
86 // The field trial value, if any, overrides the platform defaults below.
87 constexpr char kMaterialDesignModeFieldTrialName[] = "MaterialDesignMode";
88 constexpr char kNonMaterialGroupName[] = "NonMaterial";
89 constexpr char kMaterialNormalGroupName[] = "MaterialNormal";
90 constexpr char kMaterialHybridGroupName[] = "MaterialHybrid";
91 const std::string group =
92 base::FieldTrialList::FindFullName(kMaterialDesignModeFieldTrialName);
93 if (group == kNonMaterialGroupName)
94 return NON_MATERIAL;
95 if (group == kMaterialNormalGroupName)
96 return MATERIAL_NORMAL;
97 if (group == kMaterialHybridGroupName)
98 return MATERIAL_HYBRID;
99
100 // No recognized field trial group; fall back to per-platform defaults.
84 #if defined(OS_CHROMEOS) 101 #if defined(OS_CHROMEOS)
85 if (DeviceDataManager::HasInstance() && 102 if (DeviceDataManager::HasInstance() &&
86 DeviceDataManager::GetInstance()->device_lists_complete()) { 103 DeviceDataManager::GetInstance()->device_lists_complete()) {
87 return GetTouchScreensAvailability() == TouchScreensAvailability::ENABLED 104 return GetTouchScreensAvailability() == TouchScreensAvailability::ENABLED
88 ? MATERIAL_HYBRID 105 ? MATERIAL_HYBRID
89 : MATERIAL_NORMAL; 106 : MATERIAL_NORMAL;
90 } 107 }
91 108
92 #if defined(USE_OZONE) 109 #if defined(USE_OZONE)
93 base::FileEnumerator file_enum( 110 base::FileEnumerator file_enum(
94 base::FilePath(FILE_PATH_LITERAL("/dev/input")), false, 111 base::FilePath(FILE_PATH_LITERAL("/dev/input")), false,
95 base::FileEnumerator::FILES, FILE_PATH_LITERAL("event*[0-9]")); 112 base::FileEnumerator::FILES, FILE_PATH_LITERAL("event*[0-9]"));
96 for (base::FilePath path = file_enum.Next(); !path.empty(); 113 for (base::FilePath path = file_enum.Next(); !path.empty();
97 path = file_enum.Next()) { 114 path = file_enum.Next()) {
98 EventDeviceInfo devinfo; 115 EventDeviceInfo devinfo;
99 int fd = open(path.value().c_str(), O_RDWR | O_NONBLOCK | O_CLOEXEC); 116 int fd = open(path.value().c_str(), O_RDWR | O_NONBLOCK | O_CLOEXEC);
100 if (fd >= 0) { 117 if (fd >= 0) {
101 if (devinfo.Initialize(fd, path) && devinfo.HasTouchscreen()) { 118 if (devinfo.Initialize(fd, path) && devinfo.HasTouchscreen()) {
102 close(fd); 119 close(fd);
103 return MATERIAL_HYBRID; 120 return MATERIAL_HYBRID;
104 } 121 }
105 close(fd); 122 close(fd);
106 } 123 }
107 } 124 }
108 #endif // defined(USE_OZONE) 125 #endif // defined(USE_OZONE)
109 return MATERIAL_NORMAL; 126 return MATERIAL_NORMAL;
110 #elif defined(OS_LINUX) 127 #elif defined(OS_LINUX)
111 return MATERIAL_NORMAL; 128 return MATERIAL_NORMAL;
129 #elif defined(OS_WIN)
130 return windows_should_default_to_material_ ? MATERIAL_NORMAL : NON_MATERIAL;
112 #else 131 #else
113 return NON_MATERIAL; 132 return NON_MATERIAL;
114 #endif // defined(OS_CHROMEOS) 133 #endif // defined(OS_CHROMEOS)
115 } 134 }
116 135
117 // static 136 // static
137 void MaterialDesignController::SetWindowsShouldDefaultToMaterial(
138 bool default_to_material) {
139 windows_should_default_to_material_ = default_to_material;
140 }
141
142 // static
118 void MaterialDesignController::Uninitialize() { 143 void MaterialDesignController::Uninitialize() {
119 is_mode_initialized_ = false; 144 is_mode_initialized_ = false;
120 } 145 }
121 146
122 // static 147 // static
123 void MaterialDesignController::SetMode(MaterialDesignController::Mode mode) { 148 void MaterialDesignController::SetMode(MaterialDesignController::Mode mode) {
124 mode_ = mode; 149 mode_ = mode;
125 is_mode_initialized_ = true; 150 is_mode_initialized_ = true;
126 } 151 }
127 152
128 } // namespace ui 153 } // namespace ui
OLDNEW
« 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