From d410efc3d8d188b6999222d68fff4f63444219e1 Mon Sep 17 00:00:00 2001 From: "erg@google.com" Date: Thu, 17 Dec 2009 22:52:05 +0000 Subject: Uninstall themes when all theme infobars are gone; not on each infobar's destruction. There are multiple problems with the current implementation: - It handles multiple tabs with theme install infobars badly. - It has a subtle race condition where installing a second theme, and then installing the original theme (note: not clicking undo) uninstalled both themes. Instead, only uninstall unused themes when all infobars are closed down. BUG=none TEST=Install theme A. Install theme B. Install theme A. Restart chrome. Theme A should show. TEST=Install theme A in window 1. Install theme B in window 2. Install theme C in window 3. Clicking undo in any of those windows in any order should work. Review URL: http://codereview.chromium.org/504052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34890 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/profile.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'chrome/browser/profile.h') diff --git a/chrome/browser/profile.h b/chrome/browser/profile.h index e72dbd7..95f76b0 100644 --- a/chrome/browser/profile.h +++ b/chrome/browser/profile.h @@ -272,7 +272,7 @@ class Profile { virtual Extension* GetTheme() = 0; // Returns or creates the ThemeProvider associated with this profile - virtual ThemeProvider* GetThemeProvider() = 0; + virtual BrowserThemeProvider* GetThemeProvider() = 0; virtual ThumbnailStore* GetThumbnailStore() = 0; @@ -435,7 +435,7 @@ class ProfileImpl : public Profile, virtual void SetNativeTheme(); virtual void ClearTheme(); virtual Extension* GetTheme(); - virtual ThemeProvider* GetThemeProvider(); + virtual BrowserThemeProvider* GetThemeProvider(); virtual ThumbnailStore* GetThumbnailStore(); virtual bool HasCreatedDownloadManager() const; virtual URLRequestContextGetter* GetRequestContext(); -- cgit v1.1