OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/ui/libgtkui/gtk_ui.h" | 5 #include "chrome/browser/ui/libgtkui/gtk_ui.h" |
6 | 6 |
7 #include <math.h> | 7 #include <math.h> |
8 #include <pango/pango.h> | 8 #include <pango/pango.h> |
9 #include <X11/Xcursor/Xcursor.h> | 9 #include <X11/Xcursor/Xcursor.h> |
10 | 10 |
(...skipping 823 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
834 | 834 |
835 colors_[ThemeProperties::COLOR_TOOLBAR_BUTTON_ICON] = toolbar_text_color; | 835 colors_[ThemeProperties::COLOR_TOOLBAR_BUTTON_ICON] = toolbar_text_color; |
836 | 836 |
837 // Tabs use the same background color as the toolbar, so use the | 837 // Tabs use the same background color as the toolbar, so use the |
838 // toolbar text color as the tab text color. | 838 // toolbar text color as the tab text color. |
839 colors_[ThemeProperties::COLOR_TAB_TEXT] = toolbar_text_color; | 839 colors_[ThemeProperties::COLOR_TAB_TEXT] = toolbar_text_color; |
840 colors_[ThemeProperties::COLOR_BOOKMARK_TEXT] = toolbar_text_color; | 840 colors_[ThemeProperties::COLOR_BOOKMARK_TEXT] = toolbar_text_color; |
841 colors_[ThemeProperties::COLOR_BACKGROUND_TAB_TEXT] = | 841 colors_[ThemeProperties::COLOR_BACKGROUND_TAB_TEXT] = |
842 color_utils::BlendTowardOppositeLuma(toolbar_text_color, 50); | 842 color_utils::BlendTowardOppositeLuma(toolbar_text_color, 50); |
843 | 843 |
844 // Color drawn around the location bar. | 844 SkColor location_bar_border = |
845 colors_[ThemeProperties::COLOR_LOCATION_BAR_BORDER] = | |
846 GetBorderColor("GtkToolbar#toolbar GtkEntry#entry"); | 845 GetBorderColor("GtkToolbar#toolbar GtkEntry#entry"); |
| 846 if (SkColorGetA(location_bar_border)) { |
| 847 colors_[ThemeProperties::COLOR_LOCATION_BAR_BORDER] = location_bar_border; |
| 848 } |
847 | 849 |
848 inactive_selection_bg_color_ = | 850 inactive_selection_bg_color_ = GetSelectedBgColor("GtkEntry#entry:backdrop"); |
849 GetBgColor("GtkEntry#entry:backdrop #selection:selected"); | |
850 inactive_selection_fg_color_ = | 851 inactive_selection_fg_color_ = |
851 GetFgColor("GtkEntry#entry:backdrop #selection:selected"); | 852 GetSelectedTextColor("GtkEntry#entry:backdrop"); |
852 | 853 |
853 SkColor toolbar_separator_horizontal = | 854 SkColor toolbar_separator_horizontal = |
854 GetSeparatorColor("GtkToolbar#toolbar GtkSeparator#separator.horizontal"); | 855 GetSeparatorColor("GtkToolbar#toolbar GtkSeparator#separator.horizontal"); |
855 SkColor toolbar_separator_vertical = | 856 SkColor toolbar_separator_vertical = |
856 GetSeparatorColor("GtkToolbar#toolbar GtkSeparator#separator.vertical"); | 857 GetSeparatorColor("GtkToolbar#toolbar GtkSeparator#separator.vertical"); |
857 colors_[ThemeProperties::COLOR_DETACHED_BOOKMARK_BAR_BACKGROUND] = | 858 colors_[ThemeProperties::COLOR_DETACHED_BOOKMARK_BAR_BACKGROUND] = |
858 toolbar_color; | 859 toolbar_color; |
859 colors_[ThemeProperties::COLOR_BOOKMARK_BAR_INSTRUCTIONS_TEXT] = | 860 colors_[ThemeProperties::COLOR_BOOKMARK_BAR_INSTRUCTIONS_TEXT] = |
860 toolbar_text_color; | 861 toolbar_text_color; |
861 // Separates the toolbar from the bookmark bar or butter bars. | 862 // Separates the toolbar from the bookmark bar or butter bars. |
(...skipping 15 matching lines...) Expand all Loading... |
877 // Unlike with toolbars, we always want a border around tabs, so let | 878 // Unlike with toolbars, we always want a border around tabs, so let |
878 // ThemeService choose the border color if the theme doesn't provide one. | 879 // ThemeService choose the border color if the theme doesn't provide one. |
879 if (SkColorGetA(header_button_border) && | 880 if (SkColorGetA(header_button_border) && |
880 SkColorGetA(header_button_inactive_border)) { | 881 SkColorGetA(header_button_inactive_border)) { |
881 colors_[ThemeProperties::COLOR_TOOLBAR_TOP_SEPARATOR] = | 882 colors_[ThemeProperties::COLOR_TOOLBAR_TOP_SEPARATOR] = |
882 header_button_border; | 883 header_button_border; |
883 colors_[ThemeProperties::COLOR_TOOLBAR_TOP_SEPARATOR_INACTIVE] = | 884 colors_[ThemeProperties::COLOR_TOOLBAR_TOP_SEPARATOR_INACTIVE] = |
884 header_button_inactive_border; | 885 header_button_inactive_border; |
885 } | 886 } |
886 | 887 |
887 SkColor ntp_bg = GetBgColor(""); | 888 colors_[ThemeProperties::COLOR_NTP_BACKGROUND] = GetBgColor("GtkEntry#entry"); |
888 colors_[ThemeProperties::COLOR_NTP_BACKGROUND] = ntp_bg; | 889 colors_[ThemeProperties::COLOR_NTP_TEXT] = GetFgColor("GtkEntry#entry"); |
889 colors_[ThemeProperties::COLOR_NTP_TEXT] = | |
890 color_utils::GetReadableColor(GetFgColor("GtkLabel#label"), ntp_bg); | |
891 colors_[ThemeProperties::COLOR_NTP_HEADER] = | 890 colors_[ThemeProperties::COLOR_NTP_HEADER] = |
892 GetBorderColor("GtkButton#button"); | 891 GetBorderColor("GtkButton#button"); |
893 #endif | 892 #endif |
894 | 893 |
895 colors_[ThemeProperties::COLOR_TOOLBAR] = toolbar_color; | 894 colors_[ThemeProperties::COLOR_TOOLBAR] = toolbar_color; |
896 colors_[ThemeProperties::COLOR_CONTROL_BACKGROUND] = toolbar_color; | 895 colors_[ThemeProperties::COLOR_CONTROL_BACKGROUND] = toolbar_color; |
897 | 896 |
898 colors_[ThemeProperties::COLOR_NTP_LINK] = | 897 colors_[ThemeProperties::COLOR_NTP_LINK] = native_theme_->GetSystemColor( |
899 native_theme_->GetSystemColor(ui::NativeTheme::kColorId_LinkEnabled); | 898 ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused); |
900 | 899 |
901 // Generate the colors that we pass to WebKit. | 900 // Generate the colors that we pass to WebKit. |
902 SetScrollbarColors(); | 901 SetScrollbarColors(); |
903 focus_ring_color_ = native_theme_->GetSystemColor( | 902 focus_ring_color_ = |
904 ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused); | 903 native_theme_->GetSystemColor(ui::NativeTheme::kColorId_LinkEnabled); |
905 | 904 |
906 // Some GTK themes only define the text selection colors on the GtkEntry | 905 // Some GTK themes only define the text selection colors on the GtkEntry |
907 // class, so we need to use that for getting selection colors. | 906 // class, so we need to use that for getting selection colors. |
908 active_selection_bg_color_ = native_theme_->GetSystemColor( | 907 active_selection_bg_color_ = native_theme_->GetSystemColor( |
909 ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused); | 908 ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused); |
910 active_selection_fg_color_ = native_theme_->GetSystemColor( | 909 active_selection_fg_color_ = native_theme_->GetSystemColor( |
911 ui::NativeTheme::kColorId_TextfieldSelectionColor); | 910 ui::NativeTheme::kColorId_TextfieldSelectionColor); |
912 | 911 |
913 colors_[ThemeProperties::COLOR_TAB_THROBBER_SPINNING] = | 912 colors_[ThemeProperties::COLOR_TAB_THROBBER_SPINNING] = |
914 native_theme_->GetSystemColor( | 913 native_theme_->GetSystemColor( |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1047 | 1046 |
1048 float GtkUi::GetDeviceScaleFactor() const { | 1047 float GtkUi::GetDeviceScaleFactor() const { |
1049 return device_scale_factor_; | 1048 return device_scale_factor_; |
1050 } | 1049 } |
1051 | 1050 |
1052 } // namespace libgtkui | 1051 } // namespace libgtkui |
1053 | 1052 |
1054 views::LinuxUI* BuildGtkUi() { | 1053 views::LinuxUI* BuildGtkUi() { |
1055 return new libgtkui::GtkUi; | 1054 return new libgtkui::GtkUi; |
1056 } | 1055 } |
OLD | NEW |