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

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

Issue 164386: Merge 23081 - With the recent NNTP changes, we change the way themes work th... (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/dom_ui/dom_ui_theme_source.cc » ('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:r23081
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 26 matching lines...) Expand all
37 const char* BrowserThemeProvider::kColorFrameIncognitoInactive = 37 const char* BrowserThemeProvider::kColorFrameIncognitoInactive =
38 "frame_incognito_inactive"; 38 "frame_incognito_inactive";
39 const char* BrowserThemeProvider::kColorToolbar = "toolbar"; 39 const char* BrowserThemeProvider::kColorToolbar = "toolbar";
40 const char* BrowserThemeProvider::kColorTabText = "tab_text"; 40 const char* BrowserThemeProvider::kColorTabText = "tab_text";
41 const char* BrowserThemeProvider::kColorBackgroundTabText = 41 const char* BrowserThemeProvider::kColorBackgroundTabText =
42 "tab_background_text"; 42 "tab_background_text";
43 const char* BrowserThemeProvider::kColorBookmarkText = "bookmark_text"; 43 const char* BrowserThemeProvider::kColorBookmarkText = "bookmark_text";
44 const char* BrowserThemeProvider::kColorNTPBackground = "ntp_background"; 44 const char* BrowserThemeProvider::kColorNTPBackground = "ntp_background";
45 const char* BrowserThemeProvider::kColorNTPText = "ntp_text"; 45 const char* BrowserThemeProvider::kColorNTPText = "ntp_text";
46 const char* BrowserThemeProvider::kColorNTPLink = "ntp_link"; 46 const char* BrowserThemeProvider::kColorNTPLink = "ntp_link";
47 const char* BrowserThemeProvider::kColorNTPHeader = "ntp_header";
47 const char* BrowserThemeProvider::kColorNTPSection = "ntp_section"; 48 const char* BrowserThemeProvider::kColorNTPSection = "ntp_section";
48 const char* BrowserThemeProvider::kColorNTPSectionText = "ntp_section_text"; 49 const char* BrowserThemeProvider::kColorNTPSectionText = "ntp_section_text";
49 const char* BrowserThemeProvider::kColorNTPSectionLink = "ntp_section_link"; 50 const char* BrowserThemeProvider::kColorNTPSectionLink = "ntp_section_link";
50 const char* BrowserThemeProvider::kColorControlBackground = 51 const char* BrowserThemeProvider::kColorControlBackground =
51 "control_background"; 52 "control_background";
52 const char* BrowserThemeProvider::kColorButtonBackground = "button_background"; 53 const char* BrowserThemeProvider::kColorButtonBackground = "button_background";
53 54
54 // Strings used by themes to identify tints to apply to different parts of 55 // Strings used by themes to identify tints to apply to different parts of
55 // our UI. The frame tints apply to the frame color and produce the 56 // our UI. The frame tints apply to the frame color and produce the
56 // COLOR_FRAME* colors. 57 // COLOR_FRAME* colors.
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 const SkColor BrowserThemeProvider::kDefaultColorBackgroundTabText = 99 const SkColor BrowserThemeProvider::kDefaultColorBackgroundTabText =
99 SkColorSetRGB(64, 64, 64); 100 SkColorSetRGB(64, 64, 64);
100 const SkColor BrowserThemeProvider::kDefaultColorBookmarkText = 101 const SkColor BrowserThemeProvider::kDefaultColorBookmarkText =
101 SkColorSetRGB(18, 50, 114); 102 SkColorSetRGB(18, 50, 114);
102 const SkColor BrowserThemeProvider::kDefaultColorNTPBackground = 103 const SkColor BrowserThemeProvider::kDefaultColorNTPBackground =
103 SkColorSetRGB(255, 255, 255); 104 SkColorSetRGB(255, 255, 255);
104 const SkColor BrowserThemeProvider::kDefaultColorNTPText = 105 const SkColor BrowserThemeProvider::kDefaultColorNTPText =
105 SkColorSetRGB(0, 0, 0); 106 SkColorSetRGB(0, 0, 0);
106 const SkColor BrowserThemeProvider::kDefaultColorNTPLink = 107 const SkColor BrowserThemeProvider::kDefaultColorNTPLink =
107 SkColorSetRGB(0, 0, 0); 108 SkColorSetRGB(0, 0, 0);
109 const SkColor BrowserThemeProvider::kDefaultColorNTPHeader =
110 SkColorSetRGB(75, 140, 220);
108 const SkColor BrowserThemeProvider::kDefaultColorNTPSection = 111 const SkColor BrowserThemeProvider::kDefaultColorNTPSection =
109 SkColorSetRGB(75, 140, 220); 112 SkColorSetRGB(229, 239, 254);
110 const SkColor BrowserThemeProvider::kDefaultColorNTPSectionText = 113 const SkColor BrowserThemeProvider::kDefaultColorNTPSectionText =
111 SkColorSetRGB(255, 255, 255); 114 SkColorSetRGB(0, 0, 0);
112 const SkColor BrowserThemeProvider::kDefaultColorNTPSectionLink = 115 const SkColor BrowserThemeProvider::kDefaultColorNTPSectionLink =
113 SkColorSetRGB(127, 148, 173); 116 SkColorSetRGB(16, 50, 105);
114 const SkColor BrowserThemeProvider::kDefaultColorControlBackground = NULL; 117 const SkColor BrowserThemeProvider::kDefaultColorControlBackground = NULL;
115 const SkColor BrowserThemeProvider::kDefaultColorButtonBackground = NULL; 118 const SkColor BrowserThemeProvider::kDefaultColorButtonBackground = NULL;
116 119
117 // Default tints. 120 // Default tints.
118 const skia::HSL BrowserThemeProvider::kDefaultTintButtons = { -1, -1, -1 }; 121 const skia::HSL BrowserThemeProvider::kDefaultTintButtons = { -1, -1, -1 };
119 const skia::HSL BrowserThemeProvider::kDefaultTintFrame = { -1, -1, -1 }; 122 const skia::HSL BrowserThemeProvider::kDefaultTintFrame = { -1, -1, -1 };
120 const skia::HSL BrowserThemeProvider::kDefaultTintFrameInactive = 123 const skia::HSL BrowserThemeProvider::kDefaultTintFrameInactive =
121 { -1, -1, 0.75f }; 124 { -1, -1, 0.75f };
122 const skia::HSL BrowserThemeProvider::kDefaultTintFrameIncognito = 125 const skia::HSL BrowserThemeProvider::kDefaultTintFrameIncognito =
123 { -1, 0.2f, 0.35f }; 126 { -1, 0.2f, 0.35f };
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 case COLOR_BACKGROUND_TAB_TEXT: 278 case COLOR_BACKGROUND_TAB_TEXT:
276 return kColorBackgroundTabText; 279 return kColorBackgroundTabText;
277 case COLOR_BOOKMARK_TEXT: 280 case COLOR_BOOKMARK_TEXT:
278 return kColorBookmarkText; 281 return kColorBookmarkText;
279 case COLOR_NTP_BACKGROUND: 282 case COLOR_NTP_BACKGROUND:
280 return kColorNTPBackground; 283 return kColorNTPBackground;
281 case COLOR_NTP_TEXT: 284 case COLOR_NTP_TEXT:
282 return kColorNTPText; 285 return kColorNTPText;
283 case COLOR_NTP_LINK: 286 case COLOR_NTP_LINK:
284 return kColorNTPLink; 287 return kColorNTPLink;
288 case COLOR_NTP_HEADER:
289 return kColorNTPHeader;
285 case COLOR_NTP_SECTION: 290 case COLOR_NTP_SECTION:
286 return kColorNTPSection; 291 return kColorNTPSection;
287 case COLOR_NTP_SECTION_TEXT: 292 case COLOR_NTP_SECTION_TEXT:
288 return kColorNTPSectionText; 293 return kColorNTPSectionText;
289 case COLOR_NTP_SECTION_LINK: 294 case COLOR_NTP_SECTION_LINK:
290 return kColorNTPSectionLink; 295 return kColorNTPSectionLink;
291 case COLOR_CONTROL_BACKGROUND: 296 case COLOR_CONTROL_BACKGROUND:
292 return kColorControlBackground; 297 return kColorControlBackground;
293 case COLOR_BUTTON_BACKGROUND: 298 case COLOR_BUTTON_BACKGROUND:
294 return kColorButtonBackground; 299 return kColorButtonBackground;
(...skipping 20 matching lines...) Expand all
315 case COLOR_BACKGROUND_TAB_TEXT: 320 case COLOR_BACKGROUND_TAB_TEXT:
316 return kDefaultColorBackgroundTabText; 321 return kDefaultColorBackgroundTabText;
317 case COLOR_BOOKMARK_TEXT: 322 case COLOR_BOOKMARK_TEXT:
318 return kDefaultColorBookmarkText; 323 return kDefaultColorBookmarkText;
319 case COLOR_NTP_BACKGROUND: 324 case COLOR_NTP_BACKGROUND:
320 return kDefaultColorNTPBackground; 325 return kDefaultColorNTPBackground;
321 case COLOR_NTP_TEXT: 326 case COLOR_NTP_TEXT:
322 return kDefaultColorNTPText; 327 return kDefaultColorNTPText;
323 case COLOR_NTP_LINK: 328 case COLOR_NTP_LINK:
324 return kDefaultColorNTPLink; 329 return kDefaultColorNTPLink;
330 case COLOR_NTP_HEADER:
331 return kDefaultColorNTPHeader;
325 case COLOR_NTP_SECTION: 332 case COLOR_NTP_SECTION:
326 return kDefaultColorNTPSection; 333 return kDefaultColorNTPSection;
327 case COLOR_NTP_SECTION_TEXT: 334 case COLOR_NTP_SECTION_TEXT:
328 return kDefaultColorNTPSectionText; 335 return kDefaultColorNTPSectionText;
329 case COLOR_NTP_SECTION_LINK: 336 case COLOR_NTP_SECTION_LINK:
330 return kDefaultColorNTPSectionLink; 337 return kDefaultColorNTPSectionLink;
331 case COLOR_CONTROL_BACKGROUND: 338 case COLOR_CONTROL_BACKGROUND:
332 return kDefaultColorControlBackground; 339 return kDefaultColorControlBackground;
333 case COLOR_BUTTON_BACKGROUND: 340 case COLOR_BUTTON_BACKGROUND:
334 return kDefaultColorButtonBackground; 341 return kDefaultColorButtonBackground;
335 default: 342 default:
336 // Return a debugging red color. 343 // Return a debugging red color.
337 return 0xffff0000; 344 return 0xffff0000;
338 } 345 }
339 } 346 }
340 347
341 SkColor BrowserThemeProvider::GetColor(int id) { 348 SkColor BrowserThemeProvider::GetColor(int id) {
342 DCHECK(CalledOnValidThread()); 349 DCHECK(CalledOnValidThread());
343 350
351 // Special-case NTP header - if the color isn't provided, we fall back to
352 // the section color.
353 if (id == COLOR_NTP_HEADER) {
354 if (colors_.find(kColorNTPHeader) != colors_.end())
355 return colors_[kColorNTPHeader];
356 else if (colors_.find(kColorNTPSection) != colors_.end())
357 return colors_[kColorNTPSection];
358 return GetDefaultColor(id);
359 }
360
344 // TODO(glen): Figure out if we need to tint these. http://crbug.com/11578 361 // TODO(glen): Figure out if we need to tint these. http://crbug.com/11578
345 ColorMap::iterator color_iter = colors_.find(GetColorKey(id)); 362 ColorMap::iterator color_iter = colors_.find(GetColorKey(id));
346 if (color_iter != colors_.end()) 363 if (color_iter != colors_.end())
347 return color_iter->second; 364 return color_iter->second;
348 else 365 else
349 return GetDefaultColor(id); 366 return GetDefaultColor(id);
350 } 367 }
351 368
352 bool BrowserThemeProvider::GetDisplayProperty(int id, int* result) { 369 bool BrowserThemeProvider::GetDisplayProperty(int id, int* result) {
353 switch (id) { 370 switch (id) {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 ClearCaches(); 436 ClearCaches();
420 437
421 DCHECK(extension); 438 DCHECK(extension);
422 DCHECK(extension->IsTheme()); 439 DCHECK(extension->IsTheme());
423 SetImageData(extension->GetThemeImages(), 440 SetImageData(extension->GetThemeImages(),
424 extension->path()); 441 extension->path());
425 SetColorData(extension->GetThemeColors()); 442 SetColorData(extension->GetThemeColors());
426 SetTintData(extension->GetThemeTints()); 443 SetTintData(extension->GetThemeTints());
427 SetDisplayPropertyData(extension->GetThemeDisplayProperties()); 444 SetDisplayPropertyData(extension->GetThemeDisplayProperties());
428 raw_data_.clear(); 445 raw_data_.clear();
429 GenerateFrameColors();
430 GenerateFrameImages();
431 GenerateTabImages();
432 446
433 SaveImageData(extension->GetThemeImages()); 447 SaveImageData(extension->GetThemeImages());
434 SaveColorData(); 448 SaveColorData();
435 SaveTintData(); 449 SaveTintData();
436 SaveDisplayPropertyData(); 450 SaveDisplayPropertyData();
437 SaveThemeID(extension->id()); 451 SaveThemeID(extension->id());
438 452
453 GenerateFrameColors();
454 GenerateFrameImages();
455 GenerateTabImages();
456
439 NotifyThemeChanged(); 457 NotifyThemeChanged();
440 UserMetrics::RecordAction(L"Themes_Installed", profile_); 458 UserMetrics::RecordAction(L"Themes_Installed", profile_);
441 } 459 }
442 460
443 void BrowserThemeProvider::UseDefaultTheme() { 461 void BrowserThemeProvider::UseDefaultTheme() {
444 ClearAllThemeData(); 462 ClearAllThemeData();
445 NotifyThemeChanged(); 463 NotifyThemeChanged();
446 UserMetrics::RecordAction(L"Themes_Reset", profile_); 464 UserMetrics::RecordAction(L"Themes_Reset", profile_);
447 } 465 }
448 466
(...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after
1020 delete i->second; 1038 delete i->second;
1021 } 1039 }
1022 image_cache_.clear(); 1040 image_cache_.clear();
1023 } 1041 }
1024 1042
1025 #if defined(TOOLKIT_VIEWS) 1043 #if defined(TOOLKIT_VIEWS)
1026 void BrowserThemeProvider::FreePlatformCaches() { 1044 void BrowserThemeProvider::FreePlatformCaches() {
1027 // Views (Skia) has no platform image cache to clear. 1045 // Views (Skia) has no platform image cache to clear.
1028 } 1046 }
1029 #endif 1047 #endif
OLDNEW
« no previous file with comments | « chrome/browser/browser_theme_provider.h ('k') | chrome/browser/dom_ui/dom_ui_theme_source.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698