| Index: chrome/browser/cocoa/extensions/browser_action_button.mm
|
| ===================================================================
|
| --- chrome/browser/cocoa/extensions/browser_action_button.mm (revision 42429)
|
| +++ chrome/browser/cocoa/extensions/browser_action_button.mm (working copy)
|
| @@ -42,13 +42,12 @@
|
| public:
|
| ExtensionImageTrackerBridge(BrowserActionButton* owner, Extension* extension)
|
| : owner_(owner),
|
| - tracker_(NULL) {
|
| + tracker_(this) {
|
| // The Browser Action API does not allow the default icon path to be
|
| // changed at runtime, so we can load this now and cache it.
|
| std::string path = extension->browser_action()->default_icon_path();
|
| if (!path.empty()) {
|
| - tracker_ = new ImageLoadingTracker(this, 1);
|
| - tracker_->PostLoadImageTask(extension->GetResource(path),
|
| + tracker_.LoadImage(extension->GetResource(path),
|
| gfx::Size(Extension::kBrowserActionIconMaxSize,
|
| Extension::kBrowserActionIconMaxSize));
|
| }
|
| @@ -57,15 +56,12 @@
|
| }
|
|
|
| ~ExtensionImageTrackerBridge() {
|
| - if (tracker_)
|
| - tracker_->StopTrackingImageLoad();
|
| }
|
|
|
| // ImageLoadingTracker::Observer implementation.
|
| - void OnImageLoaded(SkBitmap* image, size_t index) {
|
| + void OnImageLoaded(SkBitmap* image, ExtensionResource resource, int index) {
|
| if (image)
|
| [owner_ setDefaultIcon:gfx::SkBitmapToNSImage(*image)];
|
| - tracker_ = NULL;
|
| [owner_ updateState];
|
| }
|
|
|
| @@ -83,8 +79,8 @@
|
| // Weak. Owns us.
|
| BrowserActionButton* owner_;
|
|
|
| - // Loads the button's icons for us on the file thread. Weak.
|
| - ImageLoadingTracker* tracker_;
|
| + // Loads the button's icons for us on the file thread.
|
| + ImageLoadingTracker tracker_;
|
|
|
| // Used for registering to receive notifications and automatic clean up.
|
| NotificationRegistrar registrar_;
|
|
|