| Index: chrome/browser/extensions/extension_action_icon_factory.h
|
| diff --git a/chrome/browser/extensions/extension_action_icon_factory.h b/chrome/browser/extensions/extension_action_icon_factory.h
|
| index 3860216e8c5ae742839f208443487a309ab97ac1..25d05ad2234ddcc3125770029c4decc7c46ed461 100644
|
| --- a/chrome/browser/extensions/extension_action_icon_factory.h
|
| +++ b/chrome/browser/extensions/extension_action_icon_factory.h
|
| @@ -6,6 +6,7 @@
|
| #define CHROME_BROWSER_EXTENSIONS_EXTENSION_ACTION_ICON_FACTORY_H_
|
|
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "base/scoped_observer.h"
|
| #include "extensions/browser/extension_icon_image.h"
|
|
|
| class ExtensionAction;
|
| @@ -33,12 +34,13 @@ class ExtensionActionIconFactory : public extensions::IconImage::Observer {
|
| // Observer should outlive this.
|
| ExtensionActionIconFactory(Profile* profile,
|
| const extensions::Extension* extension,
|
| - const ExtensionAction* action,
|
| + ExtensionAction* action,
|
| Observer* observer);
|
| ~ExtensionActionIconFactory() override;
|
|
|
| // extensions::IconImage override.
|
| void OnExtensionIconImageChanged(extensions::IconImage* image) override;
|
| + void OnExtensionIconImageDestroyed(extensions::IconImage* image) override;
|
|
|
| // Gets the extension action icon for the tab.
|
| // If there is an icon set using |SetIcon|, that icon is returned.
|
| @@ -58,8 +60,9 @@ class ExtensionActionIconFactory : public extensions::IconImage::Observer {
|
| const extensions::Extension* extension_;
|
| const ExtensionAction* action_;
|
| Observer* observer_;
|
| - // Underlying icon image for the default icon.
|
| - scoped_ptr<extensions::IconImage> default_icon_;
|
| +
|
| + ScopedObserver<extensions::IconImage, extensions::IconImage::Observer>
|
| + icon_image_observer_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ExtensionActionIconFactory);
|
| };
|
|
|