summaryrefslogtreecommitdiffstats
path: root/chrome/browser/themes
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-02 00:01:39 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-02 00:01:39 +0000
commit13cbec67339b2a7577f193a5c64e8a7d53ca2c9b (patch)
tree1a4ffe8be2b24670f33db0bca77b417d4de20d6d /chrome/browser/themes
parent3aa12530b0f3fe0ff15b017cfe8b6e0e76019532 (diff)
downloadchromium_src-13cbec67339b2a7577f193a5c64e8a7d53ca2c9b.zip
chromium_src-13cbec67339b2a7577f193a5c64e8a7d53ca2c9b.tar.gz
chromium_src-13cbec67339b2a7577f193a5c64e8a7d53ca2c9b.tar.bz2
Make NTP look good with themes.
BUG=52913 TEST=Visual inspection. Review URL: http://codereview.chromium.org/3340005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58272 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/themes')
-rw-r--r--chrome/browser/themes/browser_theme_provider.cc32
-rw-r--r--chrome/browser/themes/browser_theme_provider.h12
2 files changed, 28 insertions, 16 deletions
diff --git a/chrome/browser/themes/browser_theme_provider.cc b/chrome/browser/themes/browser_theme_provider.cc
index 04075a8..7283a71 100644
--- a/chrome/browser/themes/browser_theme_provider.cc
+++ b/chrome/browser/themes/browser_theme_provider.cc
@@ -43,6 +43,13 @@ SkColor TintForUnderline(SkColor input) {
return SkColorSetA(input, SkColorGetA(input) / 3);
}
+SkColor IncreaseLightness(SkColor color, double percent) {
+ color_utils::HSL result;
+ color_utils::SkColorToHSL(color, &result);
+ result.l += (1 - result.l) * percent;
+ return color_utils::HSLToSkColor(result, SkColorGetA(color));
+}
+
// Default colors.
const SkColor kDefaultColorFrame = SkColorSetRGB(66, 116, 201);
const SkColor kDefaultColorFrameInactive = SkColorSetRGB(161, 182, 228);
@@ -79,10 +86,6 @@ const SkColor kDefaultColorNTPHeader = SkColorSetRGB(75, 140, 220);
const SkColor kDefaultColorNTPSection = SkColorSetRGB(229, 239, 254);
const SkColor kDefaultColorNTPSectionText = SK_ColorBLACK;
const SkColor kDefaultColorNTPSectionLink = SkColorSetRGB(6, 55, 116);
-const SkColor kDefaultColorNTPSectionHeaderText = SkColorSetRGB(76, 76, 76);
-const SkColor kDefaultColorNTPSectionHeaderRule = SkColorSetRGB(179, 179, 179);
-const SkColor kDefaultColorNTPSectionHeaderRuleLight =
- SkColorSetRGB(220, 220, 220);
const SkColor kDefaultColorControlBackground = SkColorSetARGB(0, 0, 0, 0);
const SkColor kDefaultColorButtonBackground = SkColorSetARGB(0, 0, 0, 0);
#if defined(OS_MACOSX)
@@ -224,6 +227,19 @@ SkColor BrowserThemeProvider::GetColor(int id) const {
if (theme_pack_.get() && theme_pack_->GetColor(id, &color))
return color;
+ // For backward compat with older themes, some newer colors are generated from
+ // older ones if they are missing.
+ switch (id) {
+ case COLOR_NTP_SECTION_HEADER_TEXT:
+ return IncreaseLightness(GetColor(COLOR_NTP_TEXT), 0.30);
+ case COLOR_NTP_SECTION_HEADER_TEXT_HOVER:
+ return GetColor(COLOR_NTP_TEXT);
+ case COLOR_NTP_SECTION_HEADER_RULE:
+ return IncreaseLightness(GetColor(COLOR_NTP_TEXT), 0.70);
+ case COLOR_NTP_SECTION_HEADER_RULE_LIGHT:
+ return IncreaseLightness(GetColor(COLOR_NTP_TEXT), 0.86);
+ }
+
return GetDefaultColor(id);
}
@@ -448,14 +464,6 @@ SkColor BrowserThemeProvider::GetDefaultColor(int id) {
return kDefaultColorNTPSectionLink;
case COLOR_NTP_SECTION_LINK_UNDERLINE:
return TintForUnderline(kDefaultColorNTPSectionLink);
- case COLOR_NTP_SECTION_HEADER_TEXT:
- return kDefaultColorNTPSectionHeaderText;
- case COLOR_NTP_SECTION_HEADER_TEXT_HOVER:
- return kDefaultColorNTPText;
- case COLOR_NTP_SECTION_HEADER_RULE:
- return kDefaultColorNTPSectionHeaderRule;
- case COLOR_NTP_SECTION_HEADER_RULE_LIGHT:
- return kDefaultColorNTPSectionHeaderRuleLight;
case COLOR_CONTROL_BACKGROUND:
return kDefaultColorControlBackground;
case COLOR_BUTTON_BACKGROUND:
diff --git a/chrome/browser/themes/browser_theme_provider.h b/chrome/browser/themes/browser_theme_provider.h
index dddffa7..d2b75bf 100644
--- a/chrome/browser/themes/browser_theme_provider.h
+++ b/chrome/browser/themes/browser_theme_provider.h
@@ -72,15 +72,19 @@ class BrowserThemeProvider : public NonThreadSafe,
COLOR_NTP_LINK_UNDERLINE,
COLOR_NTP_HEADER,
COLOR_NTP_SECTION,
- COLOR_NTP_SECTION_HEADER_TEXT,
- COLOR_NTP_SECTION_HEADER_TEXT_HOVER,
- COLOR_NTP_SECTION_HEADER_RULE,
- COLOR_NTP_SECTION_HEADER_RULE_LIGHT,
COLOR_NTP_SECTION_TEXT,
COLOR_NTP_SECTION_LINK,
COLOR_NTP_SECTION_LINK_UNDERLINE,
COLOR_CONTROL_BACKGROUND,
COLOR_BUTTON_BACKGROUND,
+
+ // These colors don't have constant default values. They are derived from
+ // the runtime value of other colors.
+ COLOR_NTP_SECTION_HEADER_TEXT,
+ COLOR_NTP_SECTION_HEADER_TEXT_HOVER,
+ COLOR_NTP_SECTION_HEADER_RULE,
+ COLOR_NTP_SECTION_HEADER_RULE_LIGHT,
+
TINT_BUTTONS,
TINT_FRAME,
TINT_FRAME_INACTIVE,