Index: chrome/browser/gtk/browser_actions_toolbar_gtk.cc |
=================================================================== |
--- chrome/browser/gtk/browser_actions_toolbar_gtk.cc (revision 42429) |
+++ chrome/browser/gtk/browser_actions_toolbar_gtk.cc (working copy) |
@@ -69,7 +69,7 @@ |
Extension* extension) |
: toolbar_(toolbar), |
extension_(extension), |
- tracker_(NULL), |
+ tracker_(this), |
tab_specific_icon_(NULL), |
default_icon_(NULL) { |
button_.Own( |
@@ -85,8 +85,7 @@ |
// 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)); |
} |
@@ -112,9 +111,6 @@ |
g_object_unref(default_icon_); |
button_.Destroy(); |
- |
- if (tracker_) |
- tracker_->StopTrackingImageLoad(); |
} |
GtkWidget* widget() { return button_.get(); } |
@@ -132,12 +128,11 @@ |
} |
// ImageLoadingTracker::Observer implementation. |
- void OnImageLoaded(SkBitmap* image, size_t index) { |
+ void OnImageLoaded(SkBitmap* image, ExtensionResource resource, int index) { |
if (image) { |
default_skbitmap_ = *image; |
default_icon_ = gfx::GdkPixbufFromSkBitmap(image); |
} |
- tracker_ = NULL; // The tracker object will delete itself when we return. |
UpdateState(); |
} |
@@ -274,7 +269,7 @@ |
OwnedWidgetGtk button_; |
// Loads the button's icons for us on the file thread. |
- ImageLoadingTracker* tracker_; |
+ ImageLoadingTracker tracker_; |
// If we are displaying a tab-specific icon, it will be here. |
GdkPixbuf* tab_specific_icon_; |
@@ -644,8 +639,8 @@ |
return TRUE; |
} |
-void BrowserActionsToolbarGtk::OnHierarchyChanged(GtkWidget* widget, |
- GtkWidget* previous_toplevel) { |
+void BrowserActionsToolbarGtk::OnHierarchyChanged( |
+ GtkWidget* widget, GtkWidget* previous_toplevel) { |
GtkWidget* toplevel = gtk_widget_get_toplevel(widget); |
if (!GTK_WIDGET_TOPLEVEL(toplevel)) |
return; |