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

Unified Diff: chrome/browser/ui/cocoa/location_bar/page_action_decoration.h

Issue 10905005: Change browser/page action default icon defined in manifest to support hidpi. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: disable unittest on android Created 8 years, 3 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/cocoa/location_bar/page_action_decoration.h
diff --git a/chrome/browser/ui/cocoa/location_bar/page_action_decoration.h b/chrome/browser/ui/cocoa/location_bar/page_action_decoration.h
index 1bc290b55280f85325710a53ab9ca67d833a826d..bedb045760a71d988defa46ca2bf2d9ff53786a1 100644
--- a/chrome/browser/ui/cocoa/location_bar/page_action_decoration.h
+++ b/chrome/browser/ui/cocoa/location_bar/page_action_decoration.h
@@ -5,9 +5,11 @@
#ifndef CHROME_BROWSER_UI_COCOA_LOCATION_BAR_PAGE_ACTION_DECORATION_H_
#define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_PAGE_ACTION_DECORATION_H_
-#include "chrome/browser/extensions/image_loading_tracker.h"
+#include "chrome/browser/extensions/extension_action_icon_factory.h"
#import "chrome/browser/ui/cocoa/location_bar/image_decoration.h"
#include "chrome/common/extensions/extension_action.h"
+#include "content/public/browser/notification_observer.h"
+#include "content/public/browser/notification_registrar.h"
#include "googleurl/src/gurl.h"
@class ExtensionActionContextMenu;
@@ -22,7 +24,7 @@ class WebContents;
// Action and notify the extension when the icon is clicked.
class PageActionDecoration : public ImageDecoration,
- public ImageLoadingTracker::Observer,
+ public ExtensionActionIconFactory::Observer,
public content::NotificationObserver,
public ExtensionAction::IconAnimation::Observer {
public:
@@ -36,10 +38,8 @@ class PageActionDecoration : public ImageDecoration,
void set_preview_enabled(bool enabled) { preview_enabled_ = enabled; }
bool preview_enabled() const { return preview_enabled_; }
- // Overridden from |ImageLoadingTracker::Observer|.
- virtual void OnImageLoaded(const gfx::Image& image,
- const std::string& extension_id,
- int index) OVERRIDE;
+ // Overridden from |ExtensionActionIconFactory::Observer|.
+ virtual void OnIconUpdated() OVERRIDE;
// Called to notify the Page Action that it should determine whether
// to be visible or hidden. |contents| is the WebContents that is
@@ -87,9 +87,12 @@ class PageActionDecoration : public ImageDecoration,
// profile.
ExtensionAction* page_action_;
- // The object that is waiting for the image loading to complete
- // asynchronously.
- ImageLoadingTracker tracker_;
+
+ // The object that will be used to get the page action icon for us.
+ // It may load the icon asynchronously (in which case the initial icon
+ // returned by the factory will be transparent), so we have to observe it for
+ // updates to the icon.
+ scoped_ptr<ExtensionActionIconFactory> icon_factory_;
// The tab id we are currently showing the icon for.
int current_tab_id_;

Powered by Google App Engine
This is Rietveld 408576698