| 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 #ifndef CHROME_BROWSER_UI_GTK_GTK_THEME_SERVICE_H_ | 5 #ifndef CHROME_BROWSER_UI_GTK_GTK_THEME_SERVICE_H_ |
| 6 #define CHROME_BROWSER_UI_GTK_GTK_THEME_SERVICE_H_ | 6 #define CHROME_BROWSER_UI_GTK_GTK_THEME_SERVICE_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <vector> | 10 #include <vector> |
| 11 | 11 |
| 12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
| 13 #include "base/lazy_instance.h" |
| 13 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
| 14 #include "chrome/browser/prefs/pref_change_registrar.h" | 15 #include "chrome/browser/prefs/pref_change_registrar.h" |
| 15 #include "chrome/browser/themes/theme_service.h" | 16 #include "chrome/browser/themes/theme_service.h" |
| 16 #include "content/public/browser/notification_observer.h" | 17 #include "content/public/browser/notification_observer.h" |
| 17 #include "ui/base/glib/glib_integers.h" | 18 #include "ui/base/glib/glib_integers.h" |
| 18 #include "ui/base/gtk/gtk_signal.h" | 19 #include "ui/base/gtk/gtk_signal.h" |
| 19 #include "ui/base/gtk/owned_widget_gtk.h" | 20 #include "ui/base/gtk/owned_widget_gtk.h" |
| 20 #include "ui/gfx/color_utils.h" | 21 #include "ui/gfx/color_utils.h" |
| 21 | 22 |
| 22 class Profile; | 23 class Profile; |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 SkColor get_inactive_selection_bg_color() const { | 137 SkColor get_inactive_selection_bg_color() const { |
| 137 return inactive_selection_bg_color_; | 138 return inactive_selection_bg_color_; |
| 138 } | 139 } |
| 139 SkColor get_inactive_selection_fg_color() const { | 140 SkColor get_inactive_selection_fg_color() const { |
| 140 return inactive_selection_fg_color_; | 141 return inactive_selection_fg_color_; |
| 141 } | 142 } |
| 142 | 143 |
| 143 // These functions return an image that is not owned by the caller and should | 144 // These functions return an image that is not owned by the caller and should |
| 144 // not be deleted. If |native| is true, get the GTK_STOCK version of the | 145 // not be deleted. If |native| is true, get the GTK_STOCK version of the |
| 145 // icon. | 146 // icon. |
| 146 static gfx::Image* GetFolderIcon(bool native); | 147 static gfx::Image GetFolderIcon(bool native); |
| 147 static gfx::Image* GetDefaultFavicon(bool native); | 148 static gfx::Image GetDefaultFavicon(bool native); |
| 148 | 149 |
| 149 // Whether we use the GTK theme by default in the current desktop | 150 // Whether we use the GTK theme by default in the current desktop |
| 150 // environment. Returns true when we GTK defaults to on. | 151 // environment. Returns true when we GTK defaults to on. |
| 151 static bool DefaultUsesSystemTheme(); | 152 static bool DefaultUsesSystemTheme(); |
| 152 | 153 |
| 153 private: | 154 private: |
| 154 typedef std::map<int, SkColor> ColorMap; | 155 typedef std::map<int, SkColor> ColorMap; |
| 155 typedef std::map<int, color_utils::HSL> TintMap; | 156 typedef std::map<int, color_utils::HSL> TintMap; |
| 156 typedef std::map<int, gfx::Image*> ImageCache; | 157 typedef std::map<int, gfx::Image*> ImageCache; |
| 157 | 158 |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 293 PrefChangeRegistrar registrar_; | 294 PrefChangeRegistrar registrar_; |
| 294 | 295 |
| 295 // This is a dummy widget that only exists so we have something to pass to | 296 // This is a dummy widget that only exists so we have something to pass to |
| 296 // gtk_widget_render_icon(). | 297 // gtk_widget_render_icon(). |
| 297 static GtkWidget* icon_widget_; | 298 static GtkWidget* icon_widget_; |
| 298 | 299 |
| 299 // The default folder icon and default bookmark icon for the GTK theme. | 300 // The default folder icon and default bookmark icon for the GTK theme. |
| 300 // These are static because the system can only have one theme at a time. | 301 // These are static because the system can only have one theme at a time. |
| 301 // They are cached when they are requested the first time, and cleared when | 302 // They are cached when they are requested the first time, and cleared when |
| 302 // the system theme changes. | 303 // the system theme changes. |
| 303 static gfx::Image* default_folder_icon_; | 304 static base::LazyInstance<gfx::Image> default_folder_icon_; |
| 304 static gfx::Image* default_bookmark_icon_; | 305 static base::LazyInstance<gfx::Image> default_bookmark_icon_; |
| 305 }; | 306 }; |
| 306 | 307 |
| 307 #endif // CHROME_BROWSER_UI_GTK_GTK_THEME_SERVICE_H_ | 308 #endif // CHROME_BROWSER_UI_GTK_GTK_THEME_SERVICE_H_ |
| OLD | NEW |