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

Unified Diff: chrome/browser/ui/app_list/search/launcher_search/launcher_search_icon_image_loader.h

Issue 1200543003: Migrate LauncherSearchResult to use SetBadgeIcon. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: CHECK -> DCHECK. Created 5 years, 6 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_icon_image_loader.h
diff --git a/chrome/browser/ui/app_list/search/launcher_search/extension_badged_icon_image.h b/chrome/browser/ui/app_list/search/launcher_search/launcher_search_icon_image_loader.h
similarity index 70%
rename from chrome/browser/ui/app_list/search/launcher_search/extension_badged_icon_image.h
rename to chrome/browser/ui/app_list/search/launcher_search/launcher_search_icon_image_loader.h
index 380dbe0ce773464edabb1e1f463267e5b9b8eb9a..d14db357f923156be386e61f7ed8e3332e44e50f 100644
--- a/chrome/browser/ui/app_list/search/launcher_search/extension_badged_icon_image.h
+++ b/chrome/browser/ui/app_list/search/launcher_search/launcher_search_icon_image_loader.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_UI_APP_LIST_SEARCH_LAUNCHER_SEARCH_EXTENSION_BADGED_ICON_IMAGE_H_
-#define CHROME_BROWSER_UI_APP_LIST_SEARCH_LAUNCHER_SEARCH_EXTENSION_BADGED_ICON_IMAGE_H_
+#ifndef CHROME_BROWSER_UI_APP_LIST_SEARCH_LAUNCHER_SEARCH_LAUNCHER_SEARCH_ICON_IMAGE_LOADER_H_
+#define CHROME_BROWSER_UI_APP_LIST_SEARCH_LAUNCHER_SEARCH_LAUNCHER_SEARCH_ICON_IMAGE_LOADER_H_
#include "base/memory/scoped_ptr.h"
#include "chrome/browser/chromeos/launcher_search_provider/error_reporter.h"
@@ -15,26 +15,31 @@
namespace app_list {
-// Provides an icon image which is badged with extension icon. If custom icon
-// image is not specified, extension icon will be used.
-class ExtensionBadgedIconImage {
+// Loads icons of launcher search results.
+class LauncherSearchIconImageLoader {
public:
class Observer {
public:
// Called when icon image is changed. To obtain the new image, call
// GetIconImage method.
- virtual void OnIconImageChanged(ExtensionBadgedIconImage* image) = 0;
+ virtual void OnIconImageChanged(
+ LauncherSearchIconImageLoader* image_loader) = 0;
+
+ // Called when badge icon image is changed. To obtain the new image, call
+ // GetBadgeIconImage method.
+ virtual void OnBadgeIconImageChanged(
+ LauncherSearchIconImageLoader* image_loader) = 0;
};
// If |custom_icon_url| is empty, uses the extension icon.
- ExtensionBadgedIconImage(
+ LauncherSearchIconImageLoader(
const GURL& custom_icon_url,
Profile* profile,
const extensions::Extension* extension,
const int icon_dimension,
scoped_ptr<chromeos::launcher_search_provider::ErrorReporter>
error_reporter);
- virtual ~ExtensionBadgedIconImage();
+ virtual ~LauncherSearchIconImageLoader();
// Load resources caller must call this function to generate icon image.
void LoadResources();
@@ -46,9 +51,12 @@ class ExtensionBadgedIconImage {
// Removes |observer|.
void RemoveObserver(Observer* observer);
- // Returns badged icon image
+ // Returns icon image.
const gfx::ImageSkia& GetIconImage() const;
+ // Returns badge icon image.
+ const gfx::ImageSkia& GetBadgeIconImage() const;
+
protected:
// Loads |extension| icon and returns it as sync if possible. When it loads
// icon as async, it calls OnExtensionIconImageChanged.
@@ -71,26 +79,24 @@ class ExtensionBadgedIconImage {
const gfx::Size icon_size_;
private:
- // Updates icon image.
- void Update();
-
- // Sets new icon image, and notify to observers.
- void SetIconImage(const gfx::ImageSkia& image);
+ // Notifies to observers.
+ void NotifyObserversIconImageChange();
+ void NotifyObserversBadgeIconImageChange();
// Returns truncated icon url. Since max_size includes trailing ..., it should
// be larger than 3.
std::string GetTruncatedIconUrl(const uint32 max_size);
+ scoped_ptr<chromeos::launcher_search_provider::ErrorReporter> error_reporter_;
+
gfx::ImageSkia extension_icon_image_;
gfx::ImageSkia custom_icon_image_;
- gfx::ImageSkia badged_icon_image_;
- scoped_ptr<chromeos::launcher_search_provider::ErrorReporter> error_reporter_;
std::set<Observer*> observers_;
- DISALLOW_COPY_AND_ASSIGN(ExtensionBadgedIconImage);
+ DISALLOW_COPY_AND_ASSIGN(LauncherSearchIconImageLoader);
};
} // namespace app_list
-#endif // CHROME_BROWSER_UI_APP_LIST_SEARCH_LAUNCHER_SEARCH_EXTENSION_BADGED_ICON_IMAGE_H_
+#endif // CHROME_BROWSER_UI_APP_LIST_SEARCH_LAUNCHER_SEARCH_LAUNCHER_SEARCH_ICON_IMAGE_LOADER_H_

Powered by Google App Engine
This is Rietveld 408576698