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

Side by Side Diff: chrome/browser/themes/theme_properties.cc

Issue 1164333002: ToolbarView MaterialDesign in ThemeProvider (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "chrome/browser/themes/theme_properties.h" 5 #include "chrome/browser/themes/theme_properties.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/strings/string_split.h" 8 #include "base/strings/string_split.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "chrome/browser/themes/browser_theme_pack.h" 10 #include "chrome/browser/themes/browser_theme_pack.h"
11 #include "grit/theme_resources.h" 11 #include "grit/theme_resources.h"
12 #include "ui/base/resource/material_design/material_design_controller.h"
12 #include "ui/resources/grit/ui_resources.h" 13 #include "ui/resources/grit/ui_resources.h"
13 14
14 namespace { 15 namespace {
15 16
16 // ---------------------------------------------------------------------------- 17 // ----------------------------------------------------------------------------
17 // Defaults for properties which are stored in the browser theme pack. If you 18 // Defaults for properties which are stored in the browser theme pack. If you
18 // change these defaults, you must increment the version number in 19 // change these defaults, you must increment the version number in
19 // browser_theme_pack.h 20 // browser_theme_pack.h
20 21
21 // Default colors. 22 // Default colors.
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 #if defined(OS_MACOSX) 90 #if defined(OS_MACOSX)
90 const SkColor kDefaultColorToolbarButtonStroke = SkColorSetARGB(75, 81, 81, 81); 91 const SkColor kDefaultColorToolbarButtonStroke = SkColorSetARGB(75, 81, 81, 81);
91 const SkColor kDefaultColorToolbarButtonStrokeInactive = 92 const SkColor kDefaultColorToolbarButtonStrokeInactive =
92 SkColorSetARGB(75, 99, 99, 99); 93 SkColorSetARGB(75, 99, 99, 99);
93 const SkColor kDefaultColorToolbarBezel = SkColorSetRGB(204, 204, 204); 94 const SkColor kDefaultColorToolbarBezel = SkColorSetRGB(204, 204, 204);
94 const SkColor kDefaultColorToolbarStroke = SkColorSetRGB(103, 103, 103); 95 const SkColor kDefaultColorToolbarStroke = SkColorSetRGB(103, 103, 103);
95 const SkColor kDefaultColorToolbarStrokeInactive = SkColorSetRGB(163, 163, 163); 96 const SkColor kDefaultColorToolbarStrokeInactive = SkColorSetRGB(163, 163, 163);
96 #endif 97 #endif
97 98
98 // ---------------------------------------------------------------------------- 99 // ----------------------------------------------------------------------------
100 // Defaults for layout properties, which are not stored in the browser theme
Peter Kasting 2015/07/03 20:13:08 Nit: No comma
jonross 2015/07/06 18:36:20 Done.
101 // pack.
102
103 // The edge graphics have some built-in spacing/shadowing, so we have to adjust
104 // our spacing to make it match.
105 const int kToolbarViewLeftEdgeSpacing = 3;
106 const int kToolbarViewRightEdgeSpacing = 2;
107
108 // Ash doesn't use a rounded content area and its top edge has an extra shadow.
109 const int kToolbarViewContentShadowHeightAsh = 2;
110
111 // Non-ash uses a rounded content area with no shadow in the assets.
112 const int kToolbarViewContentShadowHeight = 0;
113
114 #if defined(ENABLE_TOPCHROME_MD)
115 const int kToolbarViewLeftEdgeSpacingMD = 4;
Peter Kasting 2015/07/03 20:13:08 This file can be simpler and easier to maintain.
jonross 2015/07/06 18:36:20 Great idea! I've switched this around to use the
116 const int kToolbarViewLeftEdgeSpacingMDHybrid = 8;
117
118 const int kToolbarViewRightEdgeSpacingMD = 4;
119 const int kToolbarViewRightEdgeSpacingMDHybrid = 8;
120
121 const int kToolbarViewContentShadowHeightAshMD = 0;
122 const int kToolbarViewContentShadowHeightAshMDHybrid = 0;
123
124 const int kToolbarViewContentShadowHeightMD = 0;
125 const int kToolbarViewContentShadowHeightMDHybrid = 0;
126 #endif
127
128 // ----------------------------------------------------------------------------
99 129
100 // Strings used in alignment properties. 130 // Strings used in alignment properties.
101 const char kAlignmentCenter[] = "center"; 131 const char kAlignmentCenter[] = "center";
102 const char kAlignmentTop[] = "top"; 132 const char kAlignmentTop[] = "top";
103 const char kAlignmentBottom[] = "bottom"; 133 const char kAlignmentBottom[] = "bottom";
104 const char kAlignmentLeft[] = "left"; 134 const char kAlignmentLeft[] = "left";
105 const char kAlignmentRight[] = "right"; 135 const char kAlignmentRight[] = "right";
106 136
107 // Strings used in background tiling repetition properties. 137 // Strings used in background tiling repetition properties.
108 const char kTilingNoRepeat[] = "no-repeat"; 138 const char kTilingNoRepeat[] = "no-repeat";
(...skipping 19 matching lines...) Expand all
128 IDR_BROWSER_ACTIONS_OVERFLOW_P, 158 IDR_BROWSER_ACTIONS_OVERFLOW_P,
129 IDR_TOOLS, IDR_TOOLS_H, IDR_TOOLS_P, 159 IDR_TOOLS, IDR_TOOLS_H, IDR_TOOLS_P,
130 IDR_MENU_DROPARROW, 160 IDR_MENU_DROPARROW,
131 IDR_TOOLBAR_BEZEL_HOVER, IDR_TOOLBAR_BEZEL_PRESSED, IDR_TOOLS_BAR, 161 IDR_TOOLBAR_BEZEL_HOVER, IDR_TOOLBAR_BEZEL_PRESSED, IDR_TOOLS_BAR,
132 }; 162 };
133 163
134 SkColor TintForUnderline(SkColor input) { 164 SkColor TintForUnderline(SkColor input) {
135 return SkColorSetA(input, SkColorGetA(input) / 3); 165 return SkColorSetA(input, SkColorGetA(input) / 3);
136 } 166 }
137 167
168 int GetDefaultDisplayPropertyInternal(int id) {
Peter Kasting 2015/07/03 20:13:08 I'm not sure why the word "internal" is used here
jonross 2015/07/06 18:36:20 These methods have been removed.
169 switch (id) {
170 case ThemeProperties::NTP_BACKGROUND_ALIGNMENT:
171 return kDefaultDisplayPropertyNTPAlignment;
172 case ThemeProperties::NTP_BACKGROUND_TILING:
173 return kDefaultDisplayPropertyNTPTiling;
174 case ThemeProperties::NTP_LOGO_ALTERNATE:
175 return kDefaultDisplayPropertyNTPAlternateLogo;
176 case ThemeProperties::PROPERTY_TOOLBAR_VIEW_LEFT_EDGE_SPACING:
177 return kToolbarViewLeftEdgeSpacing;
178 case ThemeProperties::PROPERTY_TOOLBAR_VIEW_RIGHT_EDGE_SPACING:
179 return kToolbarViewRightEdgeSpacing;
180 case ThemeProperties::PROPERTY_TOOLBAR_VIEW_CONTENT_SHADOW_HEIGHT_ASH:
181 return kToolbarViewContentShadowHeightAsh;
182 case ThemeProperties::PROPERTY_TOOLBAR_VIEW_CONTENT_SHADOW_HEIGHT:
183 return kToolbarViewContentShadowHeight;
184 }
185
186 return -1;
187 }
188
189 #if defined(ENABLE_TOPCHROME_MD)
190 int GetMaterialDefaultDisplayProperty(int id) {
191 switch (id) {
192 case ThemeProperties::PROPERTY_TOOLBAR_VIEW_LEFT_EDGE_SPACING:
193 return kToolbarViewLeftEdgeSpacingMD;
194 case ThemeProperties::PROPERTY_TOOLBAR_VIEW_RIGHT_EDGE_SPACING:
195 return kToolbarViewRightEdgeSpacingMD;
196 case ThemeProperties::PROPERTY_TOOLBAR_VIEW_CONTENT_SHADOW_HEIGHT_ASH:
197 return kToolbarViewContentShadowHeightAshMD;
198 case ThemeProperties::PROPERTY_TOOLBAR_VIEW_CONTENT_SHADOW_HEIGHT:
199 return kToolbarViewContentShadowHeightMD;
200 default:
201 return GetDefaultDisplayPropertyInternal(id);
202 }
203
204 return -1;
205 }
206
207 int GetMaterialHybridDefaultDisplayProperty(int id) {
208 switch (id) {
209 case ThemeProperties::PROPERTY_TOOLBAR_VIEW_LEFT_EDGE_SPACING:
210 return kToolbarViewLeftEdgeSpacingMDHybrid;
211 case ThemeProperties::PROPERTY_TOOLBAR_VIEW_RIGHT_EDGE_SPACING:
212 return kToolbarViewRightEdgeSpacingMDHybrid;
213 case ThemeProperties::PROPERTY_TOOLBAR_VIEW_CONTENT_SHADOW_HEIGHT_ASH:
214 return kToolbarViewContentShadowHeightAshMDHybrid;
215 case ThemeProperties::PROPERTY_TOOLBAR_VIEW_CONTENT_SHADOW_HEIGHT:
216 return kToolbarViewContentShadowHeightMDHybrid;
217 default:
218 return GetMaterialDefaultDisplayProperty(id);
219 }
220 return -1;
221 }
222 #endif
223
138 } // namespace 224 } // namespace
139 225
140 // static 226 // static
141 int ThemeProperties::StringToAlignment(const std::string& alignment) { 227 int ThemeProperties::StringToAlignment(const std::string& alignment) {
142 std::vector<std::string> split; 228 std::vector<std::string> split;
143 base::SplitStringAlongWhitespace(alignment, &split); 229 base::SplitStringAlongWhitespace(alignment, &split);
144 230
145 int alignment_mask = 0; 231 int alignment_mask = 0;
146 for (std::vector<std::string>::iterator component(split.begin()); 232 for (std::vector<std::string>::iterator component(split.begin());
147 component != split.end(); ++component) { 233 component != split.end(); ++component) {
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 return kDefaultColorToolbarStrokeInactive; 378 return kDefaultColorToolbarStrokeInactive;
293 #endif 379 #endif
294 default: 380 default:
295 // Return a debugging red color. 381 // Return a debugging red color.
296 return SK_ColorRED; 382 return SK_ColorRED;
297 } 383 }
298 } 384 }
299 385
300 // static 386 // static
301 int ThemeProperties::GetDefaultDisplayProperty(int id) { 387 int ThemeProperties::GetDefaultDisplayProperty(int id) {
302 switch (id) { 388 #if defined(ENABLE_TOPCHROME_MD)
303 case NTP_BACKGROUND_ALIGNMENT: 389 switch (ui::MaterialDesignController::GetMode()) {
304 return kDefaultDisplayPropertyNTPAlignment; 390 case (ui::MaterialDesignController::Mode::MATERIAL):
305 case NTP_BACKGROUND_TILING: 391 return GetMaterialDefaultDisplayProperty(id);
306 return kDefaultDisplayPropertyNTPTiling; 392 case (ui::MaterialDesignController::Mode::MATERIAL_HYBRID):
307 case NTP_LOGO_ALTERNATE: 393 return GetMaterialHybridDefaultDisplayProperty(id);
308 return kDefaultDisplayPropertyNTPAlternateLogo; 394 case (ui::MaterialDesignController::Mode::NON_MATERIAL):
395 return GetDefaultDisplayPropertyInternal(id);
309 } 396 }
310 397 #endif
311 return -1; 398 return GetDefaultDisplayPropertyInternal(id);
312 } 399 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698