| 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/themes/theme_service.h" | 5 #include "chrome/browser/themes/theme_service.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/memory/ref_counted_memory.h" | 8 #include "base/memory/ref_counted_memory.h" |
| 9 #include "base/prefs/pref_service.h" | 9 #include "base/prefs/pref_service.h" |
| 10 #include "base/sequenced_task_runner.h" | 10 #include "base/sequenced_task_runner.h" |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 chrome::NOTIFICATION_EXTENSIONS_READY, | 101 chrome::NOTIFICATION_EXTENSIONS_READY, |
| 102 content::Source<Profile>(profile_)); | 102 content::Source<Profile>(profile_)); |
| 103 } | 103 } |
| 104 | 104 |
| 105 theme_syncable_service_.reset(new ThemeSyncableService(profile_, this)); | 105 theme_syncable_service_.reset(new ThemeSyncableService(profile_, this)); |
| 106 } | 106 } |
| 107 | 107 |
| 108 gfx::Image ThemeService::GetImageNamed(int id) const { | 108 gfx::Image ThemeService::GetImageNamed(int id) const { |
| 109 DCHECK(CalledOnValidThread()); | 109 DCHECK(CalledOnValidThread()); |
| 110 | 110 |
| 111 const gfx::Image* image = NULL; | 111 gfx::Image image; |
| 112 | |
| 113 if (theme_pack_.get()) | 112 if (theme_pack_.get()) |
| 114 image = theme_pack_->GetImageNamed(id); | 113 image = theme_pack_->GetImageNamed(id); |
| 115 | 114 |
| 116 #if defined(USE_AURA) && !defined(USE_ASH) && defined(OS_LINUX) | 115 #if defined(USE_AURA) && !defined(USE_ASH) && defined(OS_LINUX) |
| 117 const ui::LinuxUI* linux_ui = ui::LinuxUI::instance(); | 116 const ui::LinuxUI* linux_ui = ui::LinuxUI::instance(); |
| 118 if (!image && linux_ui) | 117 if (image.IsEmpty() && linux_ui) |
| 119 image = linux_ui->GetThemeImageNamed(id); | 118 image = linux_ui->GetThemeImageNamed(id); |
| 120 #endif | 119 #endif |
| 121 | 120 |
| 122 if (!image) | 121 if (image.IsEmpty()) |
| 123 image = &rb_.GetNativeImageNamed(id); | 122 image = rb_.GetNativeImageNamed(id); |
| 124 | 123 |
| 125 return image ? *image : gfx::Image(); | 124 return image; |
| 126 } | 125 } |
| 127 | 126 |
| 128 gfx::ImageSkia* ThemeService::GetImageSkiaNamed(int id) const { | 127 gfx::ImageSkia* ThemeService::GetImageSkiaNamed(int id) const { |
| 129 gfx::Image image = GetImageNamed(id); | 128 gfx::Image image = GetImageNamed(id); |
| 130 if (image.IsEmpty()) | 129 if (image.IsEmpty()) |
| 131 return NULL; | 130 return NULL; |
| 132 // TODO(pkotwicz): Remove this const cast. The gfx::Image interface returns | 131 // TODO(pkotwicz): Remove this const cast. The gfx::Image interface returns |
| 133 // its images const. GetImageSkiaNamed() also should but has many callsites. | 132 // its images const. GetImageSkiaNamed() also should but has many callsites. |
| 134 return const_cast<gfx::ImageSkia*>(image.ToImageSkia()); | 133 return const_cast<gfx::ImageSkia*>(image.ToImageSkia()); |
| 135 } | 134 } |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 422 void ThemeService::OnInfobarDestroyed() { | 421 void ThemeService::OnInfobarDestroyed() { |
| 423 number_of_infobars_--; | 422 number_of_infobars_--; |
| 424 | 423 |
| 425 if (number_of_infobars_ == 0) | 424 if (number_of_infobars_ == 0) |
| 426 RemoveUnusedThemes(); | 425 RemoveUnusedThemes(); |
| 427 } | 426 } |
| 428 | 427 |
| 429 ThemeSyncableService* ThemeService::GetThemeSyncableService() const { | 428 ThemeSyncableService* ThemeService::GetThemeSyncableService() const { |
| 430 return theme_syncable_service_.get(); | 429 return theme_syncable_service_.get(); |
| 431 } | 430 } |
| OLD | NEW |