Index: chrome/browser/cocoa/location_bar_view_mac.mm |
=================================================================== |
--- chrome/browser/cocoa/location_bar_view_mac.mm (revision 42429) |
+++ chrome/browser/cocoa/location_bar_view_mac.mm (working copy) |
@@ -618,6 +618,7 @@ |
: owner_(owner), |
profile_(profile), |
page_action_(page_action), |
+ tracker_(this), |
current_tab_id_(-1), |
preview_enabled_(false) { |
Extension* extension = profile->GetExtensionsService()->GetExtensionById( |
@@ -630,12 +631,11 @@ |
if (!page_action_->default_icon_path().empty()) |
icon_paths.push_back(page_action_->default_icon_path()); |
- tracker_ = new ImageLoadingTracker(this, icon_paths.size()); |
for (std::vector<std::string>::iterator iter = icon_paths.begin(); |
iter != icon_paths.end(); ++iter) { |
- tracker_->PostLoadImageTask(extension->GetResource(*iter), |
- gfx::Size(Extension::kPageActionIconMaxSize, |
- Extension::kPageActionIconMaxSize)); |
+ tracker_.LoadImage(extension->GetResource(*iter), |
+ gfx::Size(Extension::kPageActionIconMaxSize, |
+ Extension::kPageActionIconMaxSize)); |
} |
registrar_.Add(this, NotificationType::EXTENSION_HOST_VIEW_SHOULD_CLOSE, |
@@ -643,8 +643,6 @@ |
} |
LocationBarViewMac::PageActionImageView::~PageActionImageView() { |
- if (tracker_) |
- tracker_->StopTrackingImageLoad(); |
} |
NSSize LocationBarViewMac::PageActionImageView::GetPreferredImageSize() { |
@@ -689,28 +687,24 @@ |
} |
} |
-void LocationBarViewMac::PageActionImageView::OnImageLoaded(SkBitmap* image, |
- size_t index) { |
+void LocationBarViewMac::PageActionImageView::OnImageLoaded( |
+ SkBitmap* image, ExtensionResource resource, int index) { |
// We loaded icons()->size() icons, plus one extra if the Page Action had |
// a default icon. |
- int total_icons = page_action_->icon_paths()->size(); |
+ int total_icons = static_cast<int>(page_action_->icon_paths()->size()); |
if (!page_action_->default_icon_path().empty()) |
total_icons++; |
- DCHECK(static_cast<int>(index) < total_icons); |
+ DCHECK(index < total_icons); |
// Map the index of the loaded image back to its name. If we ever get an |
// index greater than the number of icons, it must be the default icon. |
if (image) { |
- if (index < page_action_->icon_paths()->size()) |
+ if (index < static_cast<int>(page_action_->icon_paths()->size())) |
page_action_icons_[page_action_->icon_paths()->at(index)] = *image; |
else |
page_action_icons_[page_action_->default_icon_path()] = *image; |
} |
- // If we are done, release the tracker. |
- if (static_cast<int>(index) == (total_icons - 1)) |
- tracker_ = NULL; |
- |
owner_->UpdatePageActions(); |
if (preview_enabled_) |