diff options
Diffstat (limited to 'chrome/browser/cocoa/location_bar_view_mac.mm')
-rw-r--r-- | chrome/browser/cocoa/location_bar_view_mac.mm | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/chrome/browser/cocoa/location_bar_view_mac.mm b/chrome/browser/cocoa/location_bar_view_mac.mm index affcdfab..b2416f3 100644 --- a/chrome/browser/cocoa/location_bar_view_mac.mm +++ b/chrome/browser/cocoa/location_bar_view_mac.mm @@ -618,6 +618,7 @@ LocationBarViewMac::PageActionImageView::PageActionImageView( : 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 @@ LocationBarViewMac::PageActionImageView::PageActionImageView( 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( } LocationBarViewMac::PageActionImageView::~PageActionImageView() { - if (tracker_) - tracker_->StopTrackingImageLoad(); } NSSize LocationBarViewMac::PageActionImageView::GetPreferredImageSize() { @@ -689,28 +687,24 @@ void LocationBarViewMac::PageActionImageView::OnMousePressed(NSRect bounds) { } } -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_) |