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

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

Issue 3340005: Make NTP look good with themes. (Closed)
Patch Set: Created 10 years, 3 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/browser_theme_provider.h" 5 #include "chrome/browser/themes/browser_theme_provider.h"
6 6
7 #include "app/resource_bundle.h" 7 #include "app/resource_bundle.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/browser/extensions/extensions_service.h" 10 #include "chrome/browser/extensions/extensions_service.h"
(...skipping 25 matching lines...) Expand all
36 36
37 // Saved default values. 37 // Saved default values.
38 const char* BrowserThemeProvider::kDefaultThemeID = ""; 38 const char* BrowserThemeProvider::kDefaultThemeID = "";
39 39
40 namespace { 40 namespace {
41 41
42 SkColor TintForUnderline(SkColor input) { 42 SkColor TintForUnderline(SkColor input) {
43 return SkColorSetA(input, SkColorGetA(input) / 3); 43 return SkColorSetA(input, SkColorGetA(input) / 3);
44 } 44 }
45 45
46 SkColor IncreaseLightness(SkColor color, double percent) {
47 color_utils::HSL result;
48 color_utils::SkColorToHSL(color, &result);
49 result.l += (1 - result.l) * percent;
50 return color_utils::HSLToSkColor(result, SkColorGetA(color));
51 }
52
46 // Default colors. 53 // Default colors.
47 const SkColor kDefaultColorFrame = SkColorSetRGB(66, 116, 201); 54 const SkColor kDefaultColorFrame = SkColorSetRGB(66, 116, 201);
48 const SkColor kDefaultColorFrameInactive = SkColorSetRGB(161, 182, 228); 55 const SkColor kDefaultColorFrameInactive = SkColorSetRGB(161, 182, 228);
49 const SkColor kDefaultColorFrameIncognito = SkColorSetRGB(83, 106, 139); 56 const SkColor kDefaultColorFrameIncognito = SkColorSetRGB(83, 106, 139);
50 const SkColor kDefaultColorFrameIncognitoInactive = 57 const SkColor kDefaultColorFrameIncognitoInactive =
51 SkColorSetRGB(126, 139, 156); 58 SkColorSetRGB(126, 139, 156);
52 #if defined(OS_MACOSX) 59 #if defined(OS_MACOSX)
53 const SkColor kDefaultColorToolbar = SkColorSetRGB(230, 230, 230); 60 const SkColor kDefaultColorToolbar = SkColorSetRGB(230, 230, 230);
54 #else 61 #else
55 const SkColor kDefaultColorToolbar = SkColorSetRGB(223, 223, 223); 62 const SkColor kDefaultColorToolbar = SkColorSetRGB(223, 223, 223);
(...skipping 16 matching lines...) Expand all
72 #else 79 #else
73 // TODO(beng): source from theme provider. 80 // TODO(beng): source from theme provider.
74 const SkColor kDefaultColorNTPBackground = SK_ColorWHITE; 81 const SkColor kDefaultColorNTPBackground = SK_ColorWHITE;
75 const SkColor kDefaultColorNTPText = SK_ColorBLACK; 82 const SkColor kDefaultColorNTPText = SK_ColorBLACK;
76 const SkColor kDefaultColorNTPLink = SkColorSetRGB(6, 55, 116); 83 const SkColor kDefaultColorNTPLink = SkColorSetRGB(6, 55, 116);
77 #endif 84 #endif
78 const SkColor kDefaultColorNTPHeader = SkColorSetRGB(75, 140, 220); 85 const SkColor kDefaultColorNTPHeader = SkColorSetRGB(75, 140, 220);
79 const SkColor kDefaultColorNTPSection = SkColorSetRGB(229, 239, 254); 86 const SkColor kDefaultColorNTPSection = SkColorSetRGB(229, 239, 254);
80 const SkColor kDefaultColorNTPSectionText = SK_ColorBLACK; 87 const SkColor kDefaultColorNTPSectionText = SK_ColorBLACK;
81 const SkColor kDefaultColorNTPSectionLink = SkColorSetRGB(6, 55, 116); 88 const SkColor kDefaultColorNTPSectionLink = SkColorSetRGB(6, 55, 116);
82 const SkColor kDefaultColorNTPSectionHeaderText = SkColorSetRGB(76, 76, 76);
83 const SkColor kDefaultColorNTPSectionHeaderRule = SkColorSetRGB(179, 179, 179);
84 const SkColor kDefaultColorNTPSectionHeaderRuleLight =
85 SkColorSetRGB(220, 220, 220);
86 const SkColor kDefaultColorControlBackground = SkColorSetARGB(0, 0, 0, 0); 89 const SkColor kDefaultColorControlBackground = SkColorSetARGB(0, 0, 0, 0);
87 const SkColor kDefaultColorButtonBackground = SkColorSetARGB(0, 0, 0, 0); 90 const SkColor kDefaultColorButtonBackground = SkColorSetARGB(0, 0, 0, 0);
88 #if defined(OS_MACOSX) 91 #if defined(OS_MACOSX)
89 const SkColor kDefaultColorToolbarButtonStroke = SkColorSetARGB(75, 81, 81, 81); 92 const SkColor kDefaultColorToolbarButtonStroke = SkColorSetARGB(75, 81, 81, 81);
90 const SkColor kDefaultColorToolbarButtonStrokeInactive = 93 const SkColor kDefaultColorToolbarButtonStrokeInactive =
91 SkColorSetARGB(75, 99, 99, 99); 94 SkColorSetARGB(75, 99, 99, 99);
92 const SkColor kDefaultColorToolbarBezel = SkColorSetRGB(247, 247, 247); 95 const SkColor kDefaultColorToolbarBezel = SkColorSetRGB(247, 247, 247);
93 const SkColor kDefaultColorToolbarStroke = SkColorSetRGB(103, 103, 103); 96 const SkColor kDefaultColorToolbarStroke = SkColorSetRGB(103, 103, 103);
94 const SkColor kDefaultColorToolbarStrokeInactive = SkColorSetRGB(123, 123, 123); 97 const SkColor kDefaultColorToolbarStrokeInactive = SkColorSetRGB(123, 123, 123);
95 #endif 98 #endif
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 return bitmap; 220 return bitmap;
218 } 221 }
219 222
220 SkColor BrowserThemeProvider::GetColor(int id) const { 223 SkColor BrowserThemeProvider::GetColor(int id) const {
221 DCHECK(CalledOnValidThread()); 224 DCHECK(CalledOnValidThread());
222 225
223 SkColor color; 226 SkColor color;
224 if (theme_pack_.get() && theme_pack_->GetColor(id, &color)) 227 if (theme_pack_.get() && theme_pack_->GetColor(id, &color))
225 return color; 228 return color;
226 229
230 // For backward compat with older themes, some newer colors are generated from
231 // older ones if they are missing.
232 switch (id) {
233 case COLOR_NTP_SECTION_HEADER_TEXT:
234 return IncreaseLightness(GetColor(COLOR_NTP_TEXT), 0.30);
235 case COLOR_NTP_SECTION_HEADER_TEXT_HOVER:
236 return GetColor(COLOR_NTP_TEXT);
237 case COLOR_NTP_SECTION_HEADER_RULE:
238 return IncreaseLightness(GetColor(COLOR_NTP_TEXT), 0.70);
239 case COLOR_NTP_SECTION_HEADER_RULE_LIGHT:
240 return IncreaseLightness(GetColor(COLOR_NTP_TEXT), 0.86);
241 }
242
227 return GetDefaultColor(id); 243 return GetDefaultColor(id);
228 } 244 }
229 245
230 bool BrowserThemeProvider::GetDisplayProperty(int id, int* result) const { 246 bool BrowserThemeProvider::GetDisplayProperty(int id, int* result) const {
231 if (theme_pack_.get()) 247 if (theme_pack_.get())
232 return theme_pack_->GetDisplayProperty(id, result); 248 return theme_pack_->GetDisplayProperty(id, result);
233 249
234 return GetDefaultDisplayProperty(id, result); 250 return GetDefaultDisplayProperty(id, result);
235 } 251 }
236 252
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 case COLOR_NTP_HEADER: 457 case COLOR_NTP_HEADER:
442 return kDefaultColorNTPHeader; 458 return kDefaultColorNTPHeader;
443 case COLOR_NTP_SECTION: 459 case COLOR_NTP_SECTION:
444 return kDefaultColorNTPSection; 460 return kDefaultColorNTPSection;
445 case COLOR_NTP_SECTION_TEXT: 461 case COLOR_NTP_SECTION_TEXT:
446 return kDefaultColorNTPSectionText; 462 return kDefaultColorNTPSectionText;
447 case COLOR_NTP_SECTION_LINK: 463 case COLOR_NTP_SECTION_LINK:
448 return kDefaultColorNTPSectionLink; 464 return kDefaultColorNTPSectionLink;
449 case COLOR_NTP_SECTION_LINK_UNDERLINE: 465 case COLOR_NTP_SECTION_LINK_UNDERLINE:
450 return TintForUnderline(kDefaultColorNTPSectionLink); 466 return TintForUnderline(kDefaultColorNTPSectionLink);
451 case COLOR_NTP_SECTION_HEADER_TEXT:
452 return kDefaultColorNTPSectionHeaderText;
453 case COLOR_NTP_SECTION_HEADER_TEXT_HOVER:
454 return kDefaultColorNTPText;
455 case COLOR_NTP_SECTION_HEADER_RULE:
456 return kDefaultColorNTPSectionHeaderRule;
457 case COLOR_NTP_SECTION_HEADER_RULE_LIGHT:
458 return kDefaultColorNTPSectionHeaderRuleLight;
459 case COLOR_CONTROL_BACKGROUND: 467 case COLOR_CONTROL_BACKGROUND:
460 return kDefaultColorControlBackground; 468 return kDefaultColorControlBackground;
461 case COLOR_BUTTON_BACKGROUND: 469 case COLOR_BUTTON_BACKGROUND:
462 return kDefaultColorButtonBackground; 470 return kDefaultColorButtonBackground;
463 #if defined(OS_MACOSX) 471 #if defined(OS_MACOSX)
464 case COLOR_TOOLBAR_BUTTON_STROKE: 472 case COLOR_TOOLBAR_BUTTON_STROKE:
465 return kDefaultColorToolbarButtonStroke; 473 return kDefaultColorToolbarButtonStroke;
466 case COLOR_TOOLBAR_BUTTON_STROKE_INACTIVE: 474 case COLOR_TOOLBAR_BUTTON_STROKE_INACTIVE:
467 return kDefaultColorToolbarButtonStrokeInactive; 475 return kDefaultColorToolbarButtonStrokeInactive;
468 case COLOR_TOOLBAR_BEZEL: 476 case COLOR_TOOLBAR_BEZEL:
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 void BrowserThemeProvider::OnInfobarDisplayed() { 620 void BrowserThemeProvider::OnInfobarDisplayed() {
613 number_of_infobars_++; 621 number_of_infobars_++;
614 } 622 }
615 623
616 void BrowserThemeProvider::OnInfobarDestroyed() { 624 void BrowserThemeProvider::OnInfobarDestroyed() {
617 number_of_infobars_--; 625 number_of_infobars_--;
618 626
619 if (number_of_infobars_ == 0) 627 if (number_of_infobars_ == 0)
620 RemoveUnusedThemes(); 628 RemoveUnusedThemes();
621 } 629 }
OLDNEW
« chrome/browser/resources/new_new_tab.css ('K') | « chrome/browser/resources/new_tab_theme.css ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698