| 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 bab31505696f20d6ebec2028fdc7b1605770988c..ce723d4a218de13abec46936075260e67a6a1855 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,9 +6,7 @@
|
|
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "chrome/browser/chromeos/launcher_search_provider/service.h"
|
| -#include "chrome/browser/extensions/extension_util.h"
|
| #include "chrome/browser/ui/app_list/search/search_util.h"
|
| -#include "extensions/common/manifest_handlers/icons_handler.h"
|
|
|
| using chromeos::launcher_search_provider::Service;
|
|
|
| @@ -25,7 +23,8 @@ LauncherSearchResult::LauncherSearchResult(
|
| const GURL& icon_url,
|
| const int discrete_value_relevance,
|
| Profile* profile,
|
| - const extensions::Extension* extension)
|
| + const extensions::Extension* extension,
|
| + const chromeos::launcher_search_provider::ErrorReporter& error_reporter)
|
| : item_id_(item_id),
|
| discrete_value_relevance_(discrete_value_relevance),
|
| profile_(profile),
|
| @@ -34,25 +33,21 @@ LauncherSearchResult::LauncherSearchResult(
|
| DCHECK_LE(discrete_value_relevance,
|
| chromeos::launcher_search_provider::kMaxSearchResultScore);
|
|
|
| - // TODO(yawano) Decode passed icon url and show it badged with extension
|
| - // icon.
|
| - extension_icon_image_.reset(new extensions::IconImage(
|
| - profile, extension, extensions::IconsInfo::GetIcons(extension),
|
| - GetPreferredIconDimension(), extensions::util::GetDefaultExtensionIcon(),
|
| - nullptr));
|
| + icon_image_.reset(new ExtensionBadgedIconImage(icon_url, profile, extension,
|
| + GetPreferredIconDimension(),
|
| + error_reporter));
|
|
|
| Initialize();
|
| }
|
|
|
| LauncherSearchResult::~LauncherSearchResult() {
|
| - if (extension_icon_image_ != nullptr)
|
| - extension_icon_image_->RemoveObserver(this);
|
| + if (icon_image_ != nullptr)
|
| + icon_image_->RemoveObserver(this);
|
| }
|
|
|
| scoped_ptr<SearchResult> LauncherSearchResult::Duplicate() const {
|
| - LauncherSearchResult* duplicated_result =
|
| - new LauncherSearchResult(item_id_, discrete_value_relevance_, profile_,
|
| - extension_, extension_icon_image_);
|
| + LauncherSearchResult* duplicated_result = new LauncherSearchResult(
|
| + item_id_, discrete_value_relevance_, profile_, extension_, icon_image_);
|
| duplicated_result->set_title(title());
|
| return make_scoped_ptr(duplicated_result);
|
| }
|
| @@ -64,9 +59,8 @@ void LauncherSearchResult::Open(int event_flags) {
|
| service->OnOpenResult(extension_->id(), item_id_);
|
| }
|
|
|
| -void LauncherSearchResult::OnExtensionIconImageChanged(
|
| - extensions::IconImage* image) {
|
| - DCHECK_EQ(image, extension_icon_image_.get());
|
| +void LauncherSearchResult::OnIconImageChanged(ExtensionBadgedIconImage* image) {
|
| + DCHECK_EQ(image, icon_image_.get());
|
| UpdateIcon();
|
| }
|
|
|
| @@ -75,13 +69,13 @@ LauncherSearchResult::LauncherSearchResult(
|
| const int discrete_value_relevance,
|
| Profile* profile,
|
| const extensions::Extension* extension,
|
| - const linked_ptr<extensions::IconImage>& extension_icon_image)
|
| + const linked_ptr<ExtensionBadgedIconImage>& icon_image)
|
| : item_id_(item_id),
|
| discrete_value_relevance_(discrete_value_relevance),
|
| profile_(profile),
|
| extension_(extension),
|
| - extension_icon_image_(extension_icon_image) {
|
| - DCHECK(extension_icon_image_ != nullptr);
|
| + icon_image_(icon_image) {
|
| + DCHECK(icon_image_ != nullptr);
|
| Initialize();
|
| }
|
|
|
| @@ -92,13 +86,13 @@ void LauncherSearchResult::Initialize() {
|
| chromeos::launcher_search_provider::kMaxSearchResultScore));
|
| set_details(base::UTF8ToUTF16(extension_->name()));
|
|
|
| - extension_icon_image_->AddObserver(this);
|
| + icon_image_->AddObserver(this);
|
| UpdateIcon();
|
| }
|
|
|
| void LauncherSearchResult::UpdateIcon() {
|
| - if (!extension_icon_image_->image_skia().isNull())
|
| - SetIcon(extension_icon_image_->image_skia());
|
| + if (!icon_image_->GetIconImage().isNull())
|
| + SetIcon(icon_image_->GetIconImage());
|
| }
|
|
|
| std::string LauncherSearchResult::GetSearchResultId() {
|
|
|