OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/gtk/gtk_theme_service.h" | 5 #include "chrome/browser/ui/gtk/gtk_theme_service.h" |
6 | 6 |
7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 FreeIconSets(); | 283 FreeIconSets(); |
284 | 284 |
285 // We have to call this because FreePlatformCached() in ~ThemeService | 285 // We have to call this because FreePlatformCached() in ~ThemeService |
286 // doesn't call the right virutal FreePlatformCaches. | 286 // doesn't call the right virutal FreePlatformCaches. |
287 FreePlatformCaches(); | 287 FreePlatformCaches(); |
288 } | 288 } |
289 | 289 |
290 void GtkThemeService::Init(Profile* profile) { | 290 void GtkThemeService::Init(Profile* profile) { |
291 registrar_.Init(profile->GetPrefs()); | 291 registrar_.Init(profile->GetPrefs()); |
292 registrar_.Add(prefs::kUsesSystemTheme, this); | 292 registrar_.Add(prefs::kUsesSystemTheme, this); |
| 293 #if defined(OS_CHROMEOS) |
| 294 use_gtk_ = false; |
| 295 #else |
293 use_gtk_ = profile->GetPrefs()->GetBoolean(prefs::kUsesSystemTheme); | 296 use_gtk_ = profile->GetPrefs()->GetBoolean(prefs::kUsesSystemTheme); |
294 | 297 #endif |
295 ThemeService::Init(profile); | 298 ThemeService::Init(profile); |
296 } | 299 } |
297 | 300 |
298 SkBitmap* GtkThemeService::GetBitmapNamed(int id) const { | 301 SkBitmap* GtkThemeService::GetBitmapNamed(int id) const { |
299 // Try to get our cached version: | 302 // Try to get our cached version: |
300 ImageCache::const_iterator it = gtk_images_.find(id); | 303 ImageCache::const_iterator it = gtk_images_.find(id); |
301 if (it != gtk_images_.end()) | 304 if (it != gtk_images_.end()) |
302 return it->second; | 305 return it->second; |
303 | 306 |
304 if (use_gtk_ && IsOverridableImage(id)) { | 307 if (use_gtk_ && IsOverridableImage(id)) { |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
359 | 362 |
360 bool GtkThemeService::UsingNativeTheme() const { | 363 bool GtkThemeService::UsingNativeTheme() const { |
361 return use_gtk_; | 364 return use_gtk_; |
362 } | 365 } |
363 | 366 |
364 void GtkThemeService::Observe(NotificationType type, | 367 void GtkThemeService::Observe(NotificationType type, |
365 const NotificationSource& source, | 368 const NotificationSource& source, |
366 const NotificationDetails& details) { | 369 const NotificationDetails& details) { |
367 if ((type == NotificationType::PREF_CHANGED) && | 370 if ((type == NotificationType::PREF_CHANGED) && |
368 (*Details<std::string>(details).ptr() == prefs::kUsesSystemTheme)) { | 371 (*Details<std::string>(details).ptr() == prefs::kUsesSystemTheme)) { |
| 372 #if !defined(OS_CHROMEOS) |
369 use_gtk_ = profile()->GetPrefs()->GetBoolean(prefs::kUsesSystemTheme); | 373 use_gtk_ = profile()->GetPrefs()->GetBoolean(prefs::kUsesSystemTheme); |
| 374 #endif |
370 } else { | 375 } else { |
371 ThemeService::Observe(type, source, details); | 376 ThemeService::Observe(type, source, details); |
372 } | 377 } |
373 } | 378 } |
374 | 379 |
375 GtkWidget* GtkThemeService::BuildChromeButton() { | 380 GtkWidget* GtkThemeService::BuildChromeButton() { |
376 GtkWidget* button = HoverControllerGtk::CreateChromeButton(); | 381 GtkWidget* button = HoverControllerGtk::CreateChromeButton(); |
377 gtk_chrome_button_set_use_gtk_rendering(GTK_CHROME_BUTTON(button), use_gtk_); | 382 gtk_chrome_button_set_use_gtk_rendering(GTK_CHROME_BUTTON(button), use_gtk_); |
378 chrome_buttons_.push_back(button); | 383 chrome_buttons_.push_back(button); |
379 | 384 |
(...skipping 759 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1139 cairo_set_line_width(cr, 1.0); | 1144 cairo_set_line_width(cr, 1.0); |
1140 cairo_move_to(cr, start_x, widget->allocation.y); | 1145 cairo_move_to(cr, start_x, widget->allocation.y); |
1141 cairo_line_to(cr, start_x, | 1146 cairo_line_to(cr, start_x, |
1142 widget->allocation.y + widget->allocation.height); | 1147 widget->allocation.y + widget->allocation.height); |
1143 cairo_stroke(cr); | 1148 cairo_stroke(cr); |
1144 cairo_destroy(cr); | 1149 cairo_destroy(cr); |
1145 cairo_pattern_destroy(pattern); | 1150 cairo_pattern_destroy(pattern); |
1146 | 1151 |
1147 return TRUE; | 1152 return TRUE; |
1148 } | 1153 } |
OLD | NEW |