Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(972)

Unified Diff: chrome/browser/gtk/browser_actions_toolbar_gtk.cc

Issue 1075006: Eliminate all UI thread decoding of extension images.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/image_loading_tracker.cc ('k') | chrome/browser/gtk/location_bar_view_gtk.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « chrome/browser/extensions/image_loading_tracker.cc ('k') | chrome/browser/gtk/location_bar_view_gtk.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698