Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(142)

Unified Diff: chrome/browser/ui/app_list/search/launcher_search/launcher_search_result.cc

Issue 1060733003: Support custom icon in search result. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: WIP: Add API test. Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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() {

Powered by Google App Engine
This is Rietveld 408576698