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

Side by Side Diff: chrome/browser/browser_theme_provider.cc

Issue 165375: Merge 23023 - Allow theming of colors for the Mac.... (Closed) Base URL: svn://chrome-svn/chrome/branches/195/src/
Patch Set: Created 11 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/browser_theme_provider.h ('k') | chrome/browser/browser_theme_provider_mac.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Modified: svn:mergeinfo
Merged /trunk/src/chrome/browser/browser_theme_provider.cc:r23023
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/browser_theme_provider.h" 5 #include "chrome/browser/browser_theme_provider.h"
6 6
7 #include "base/gfx/png_decoder.h" 7 #include "base/gfx/png_decoder.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/browser_list.h" 10 #include "chrome/browser/browser_list.h"
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 251
252 // We loaded successfully. Cache the bitmap. 252 // We loaded successfully. Cache the bitmap.
253 image_cache_[id] = result.get(); 253 image_cache_[id] = result.get();
254 return result.release(); 254 return result.release();
255 } else { 255 } else {
256 NOTREACHED() << "Failed to load a requested image"; 256 NOTREACHED() << "Failed to load a requested image";
257 return NULL; 257 return NULL;
258 } 258 }
259 } 259 }
260 260
261 const std::string BrowserThemeProvider::GetColorKey(int id) {
262 switch (id) {
263 case COLOR_FRAME:
264 return kColorFrame;
265 case COLOR_FRAME_INACTIVE:
266 return kColorFrameInactive;
267 case COLOR_FRAME_INCOGNITO:
268 return kColorFrameIncognito;
269 case COLOR_FRAME_INCOGNITO_INACTIVE:
270 return kColorFrameIncognitoInactive;
271 case COLOR_TOOLBAR:
272 return kColorToolbar;
273 case COLOR_TAB_TEXT:
274 return kColorTabText;
275 case COLOR_BACKGROUND_TAB_TEXT:
276 return kColorBackgroundTabText;
277 case COLOR_BOOKMARK_TEXT:
278 return kColorBookmarkText;
279 case COLOR_NTP_BACKGROUND:
280 return kColorNTPBackground;
281 case COLOR_NTP_TEXT:
282 return kColorNTPText;
283 case COLOR_NTP_LINK:
284 return kColorNTPLink;
285 case COLOR_NTP_SECTION:
286 return kColorNTPSection;
287 case COLOR_NTP_SECTION_TEXT:
288 return kColorNTPSectionText;
289 case COLOR_NTP_SECTION_LINK:
290 return kColorNTPSectionLink;
291 case COLOR_CONTROL_BACKGROUND:
292 return kColorControlBackground;
293 case COLOR_BUTTON_BACKGROUND:
294 return kColorButtonBackground;
295 default:
296 NOTREACHED() << "Unknown color requested";
297 return "";
298 }
299 }
300
301 SkColor BrowserThemeProvider::GetDefaultColor(int id) {
302 switch (id) {
303 case COLOR_FRAME:
304 return kDefaultColorFrame;
305 case COLOR_FRAME_INACTIVE:
306 return kDefaultColorFrameInactive;
307 case COLOR_FRAME_INCOGNITO:
308 return kDefaultColorFrameIncognito;
309 case COLOR_FRAME_INCOGNITO_INACTIVE:
310 return kDefaultColorFrameIncognitoInactive;
311 case COLOR_TOOLBAR:
312 return kDefaultColorToolbar;
313 case COLOR_TAB_TEXT:
314 return kDefaultColorTabText;
315 case COLOR_BACKGROUND_TAB_TEXT:
316 return kDefaultColorBackgroundTabText;
317 case COLOR_BOOKMARK_TEXT:
318 return kDefaultColorBookmarkText;
319 case COLOR_NTP_BACKGROUND:
320 return kDefaultColorNTPBackground;
321 case COLOR_NTP_TEXT:
322 return kDefaultColorNTPText;
323 case COLOR_NTP_LINK:
324 return kDefaultColorNTPLink;
325 case COLOR_NTP_SECTION:
326 return kDefaultColorNTPSection;
327 case COLOR_NTP_SECTION_TEXT:
328 return kDefaultColorNTPSectionText;
329 case COLOR_NTP_SECTION_LINK:
330 return kDefaultColorNTPSectionLink;
331 case COLOR_CONTROL_BACKGROUND:
332 return kDefaultColorControlBackground;
333 case COLOR_BUTTON_BACKGROUND:
334 return kDefaultColorButtonBackground;
335 default:
336 // Return a debugging red color.
337 return 0xffff0000;
338 }
339 }
340
261 SkColor BrowserThemeProvider::GetColor(int id) { 341 SkColor BrowserThemeProvider::GetColor(int id) {
262 DCHECK(CalledOnValidThread()); 342 DCHECK(CalledOnValidThread());
263 343
264 // TODO(glen): Figure out if we need to tint these. http://crbug.com/11578 344 // TODO(glen): Figure out if we need to tint these. http://crbug.com/11578
265 switch (id) { 345 ColorMap::iterator color_iter = colors_.find(GetColorKey(id));
266 case COLOR_FRAME: 346 if (color_iter != colors_.end())
267 return FindColor(kColorFrame, kDefaultColorFrame); 347 return color_iter->second;
268 case COLOR_FRAME_INACTIVE: 348 else
269 return FindColor(kColorFrameInactive, kDefaultColorFrameInactive); 349 return GetDefaultColor(id);
270 case COLOR_FRAME_INCOGNITO:
271 return FindColor(kColorFrameIncognito, kDefaultColorFrameIncognito);
272 case COLOR_FRAME_INCOGNITO_INACTIVE:
273 return FindColor(kColorFrameIncognitoInactive,
274 kDefaultColorFrameIncognitoInactive);
275 case COLOR_TOOLBAR:
276 return FindColor(kColorToolbar, kDefaultColorToolbar);
277 case COLOR_TAB_TEXT:
278 return FindColor(kColorTabText, kDefaultColorTabText);
279 case COLOR_BACKGROUND_TAB_TEXT:
280 return FindColor(kColorBackgroundTabText, kDefaultColorBackgroundTabText);
281 case COLOR_BOOKMARK_TEXT:
282 return FindColor(kColorBookmarkText, kDefaultColorBookmarkText);
283 case COLOR_NTP_BACKGROUND:
284 return (colors_.find(kColorNTPBackground) != colors_.end()) ?
285 colors_[kColorNTPBackground] :
286 kDefaultColorNTPBackground;
287 case COLOR_NTP_TEXT:
288 return FindColor(kColorNTPText, kDefaultColorNTPText);
289 case COLOR_NTP_LINK:
290 return FindColor(kColorNTPLink, kDefaultColorNTPLink);
291 case COLOR_NTP_SECTION:
292 return FindColor(kColorNTPSection, kDefaultColorNTPSection);
293 case COLOR_NTP_SECTION_TEXT:
294 return FindColor(kColorNTPSectionText, kDefaultColorNTPSectionText);
295 case COLOR_NTP_SECTION_LINK:
296 return FindColor(kColorNTPSectionLink, kDefaultColorNTPSectionLink);
297 case COLOR_CONTROL_BACKGROUND:
298 return FindColor(kColorControlBackground, kDefaultColorControlBackground);
299 case COLOR_BUTTON_BACKGROUND:
300 return FindColor(kColorButtonBackground, kDefaultColorButtonBackground);
301 default:
302 NOTREACHED() << "Unknown color requested";
303 }
304
305 // Return a debugging red color.
306 return 0xffff0000;
307 } 350 }
308 351
309 bool BrowserThemeProvider::GetDisplayProperty(int id, int* result) { 352 bool BrowserThemeProvider::GetDisplayProperty(int id, int* result) {
310 switch (id) { 353 switch (id) {
311 case NTP_BACKGROUND_ALIGNMENT: 354 case NTP_BACKGROUND_ALIGNMENT:
312 if (display_properties_.find(kDisplayPropertyNTPAlignment) != 355 if (display_properties_.find(kDisplayPropertyNTPAlignment) !=
313 display_properties_.end()) { 356 display_properties_.end()) {
314 *result = display_properties_[kDisplayPropertyNTPAlignment]; 357 *result = display_properties_[kDisplayPropertyNTPAlignment];
315 } else { 358 } else {
316 *result = kDefaultDisplayPropertyNTPAlignment; 359 *result = kDefaultDisplayPropertyNTPAlignment;
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 SetTintData(prefs->GetMutableDictionary(prefs::kCurrentThemeTints)); 1006 SetTintData(prefs->GetMutableDictionary(prefs::kCurrentThemeTints));
964 SetDisplayPropertyData( 1007 SetDisplayPropertyData(
965 prefs->GetMutableDictionary(prefs::kCurrentThemeDisplayProperties)); 1008 prefs->GetMutableDictionary(prefs::kCurrentThemeDisplayProperties));
966 GenerateFrameColors(); 1009 GenerateFrameColors();
967 GenerateFrameImages(); 1010 GenerateFrameImages();
968 GenerateTabImages(); 1011 GenerateTabImages();
969 UserMetrics::RecordAction(L"Themes_loaded", profile_); 1012 UserMetrics::RecordAction(L"Themes_loaded", profile_);
970 } 1013 }
971 } 1014 }
972 1015
973 SkColor BrowserThemeProvider::FindColor(const char* id,
974 SkColor default_color) {
975 return (colors_.find(id) != colors_.end()) ? colors_[id] : default_color;
976 }
977
978 void BrowserThemeProvider::ClearCaches() { 1016 void BrowserThemeProvider::ClearCaches() {
979 FreePlatformCaches(); 1017 FreePlatformCaches();
980 for (ImageCache::iterator i = image_cache_.begin(); 1018 for (ImageCache::iterator i = image_cache_.begin();
981 i != image_cache_.end(); i++) { 1019 i != image_cache_.end(); i++) {
982 delete i->second; 1020 delete i->second;
983 } 1021 }
984 image_cache_.clear(); 1022 image_cache_.clear();
985 } 1023 }
986 1024
987 #if defined(TOOLKIT_VIEWS) 1025 #if defined(TOOLKIT_VIEWS)
988 void BrowserThemeProvider::FreePlatformCaches() { 1026 void BrowserThemeProvider::FreePlatformCaches() {
989 // Views (Skia) has no platform image cache to clear. 1027 // Views (Skia) has no platform image cache to clear.
990 } 1028 }
991 #endif 1029 #endif
OLDNEW
« no previous file with comments | « chrome/browser/browser_theme_provider.h ('k') | chrome/browser/browser_theme_provider_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698