Index: chrome/browser/ui/app_list/search/launcher_search/launcher_search_result.cc |
diff --git a/chrome/browser/ui/app_list/search/launcher_search/launcher_search_result.cc b/chrome/browser/ui/app_list/search/launcher_search/launcher_search_result.cc |
index 424629be7cf2741eadb3a7d2bffd96a40c0e4f42..0bdd7641fd9eacb7451a6a4b390ae362973fc47f 100644 |
--- a/chrome/browser/ui/app_list/search/launcher_search/launcher_search_result.cc |
+++ b/chrome/browser/ui/app_list/search/launcher_search/launcher_search_result.cc |
@@ -6,7 +6,7 @@ |
#include "base/strings/utf_string_conversions.h" |
#include "chrome/browser/chromeos/launcher_search_provider/service.h" |
-#include "chrome/browser/ui/app_list/search/launcher_search/extension_badged_icon_image_impl.h" |
+#include "chrome/browser/ui/app_list/search/launcher_search/launcher_search_icon_image_loader_impl.h" |
#include "chrome/browser/ui/app_list/search/search_util.h" |
using chromeos::launcher_search_provider::Service; |
@@ -35,22 +35,23 @@ LauncherSearchResult::LauncherSearchResult( |
DCHECK_LE(discrete_value_relevance, |
chromeos::launcher_search_provider::kMaxSearchResultScore); |
- icon_image_.reset(new ExtensionBadgedIconImageImpl( |
+ icon_image_loader_.reset(new LauncherSearchIconImageLoaderImpl( |
icon_url, profile, extension, GetPreferredIconDimension(), |
error_reporter.Pass())); |
- icon_image_->LoadResources(); |
+ icon_image_loader_->LoadResources(); |
Initialize(); |
} |
LauncherSearchResult::~LauncherSearchResult() { |
- if (icon_image_ != nullptr) |
- icon_image_->RemoveObserver(this); |
+ if (icon_image_loader_ != nullptr) |
+ icon_image_loader_->RemoveObserver(this); |
} |
scoped_ptr<SearchResult> LauncherSearchResult::Duplicate() const { |
- LauncherSearchResult* duplicated_result = new LauncherSearchResult( |
- item_id_, discrete_value_relevance_, profile_, extension_, icon_image_); |
+ LauncherSearchResult* duplicated_result = |
+ new LauncherSearchResult(item_id_, discrete_value_relevance_, profile_, |
+ extension_, icon_image_loader_); |
duplicated_result->set_title(title()); |
return make_scoped_ptr(duplicated_result); |
} |
@@ -62,9 +63,16 @@ void LauncherSearchResult::Open(int event_flags) { |
service->OnOpenResult(extension_->id(), item_id_); |
} |
-void LauncherSearchResult::OnIconImageChanged(ExtensionBadgedIconImage* image) { |
- DCHECK_EQ(image, icon_image_.get()); |
- UpdateIcon(); |
+void LauncherSearchResult::OnIconImageChanged( |
+ LauncherSearchIconImageLoader* image_loader) { |
+ DCHECK_EQ(image_loader, icon_image_loader_.get()); |
+ SetIcon(icon_image_loader_->GetIconImage()); |
+} |
+ |
+void LauncherSearchResult::OnBadgeIconImageChanged( |
+ LauncherSearchIconImageLoader* image_loader) { |
+ DCHECK_EQ(image_loader, icon_image_loader_.get()); |
+ SetBadgeIcon(icon_image_loader_->GetBadgeIconImage()); |
} |
LauncherSearchResult::LauncherSearchResult( |
@@ -72,13 +80,13 @@ LauncherSearchResult::LauncherSearchResult( |
const int discrete_value_relevance, |
Profile* profile, |
const extensions::Extension* extension, |
- const linked_ptr<ExtensionBadgedIconImage>& icon_image) |
+ const linked_ptr<LauncherSearchIconImageLoader>& icon_image_loader) |
: item_id_(item_id), |
discrete_value_relevance_(discrete_value_relevance), |
profile_(profile), |
extension_(extension), |
- icon_image_(icon_image) { |
- DCHECK(icon_image_ != nullptr); |
+ icon_image_loader_(icon_image_loader) { |
+ DCHECK(icon_image_loader_ != nullptr); |
Initialize(); |
} |
@@ -89,13 +97,10 @@ void LauncherSearchResult::Initialize() { |
chromeos::launcher_search_provider::kMaxSearchResultScore)); |
set_details(base::UTF8ToUTF16(extension_->name())); |
- icon_image_->AddObserver(this); |
- UpdateIcon(); |
-} |
+ icon_image_loader_->AddObserver(this); |
-void LauncherSearchResult::UpdateIcon() { |
- if (!icon_image_->GetIconImage().isNull()) |
- SetIcon(icon_image_->GetIconImage()); |
+ SetIcon(icon_image_loader_->GetIconImage()); |
+ SetBadgeIcon(icon_image_loader_->GetBadgeIconImage()); |
} |
std::string LauncherSearchResult::GetSearchResultId() { |