diff options
author | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-18 00:18:44 +0000 |
---|---|---|
committer | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-18 00:18:44 +0000 |
commit | 5786d3d3a7cd151fb5dc0aa2f1f0d84460fb6cdf (patch) | |
tree | 7b2fd42c44161932ece0e025a08fa27ccdfc9a59 /chrome/browser/profile.cc | |
parent | 9b0c542182627216e90ccb19a68afe0d8a01b266 (diff) | |
download | chromium_src-5786d3d3a7cd151fb5dc0aa2f1f0d84460fb6cdf.zip chromium_src-5786d3d3a7cd151fb5dc0aa2f1f0d84460fb6cdf.tar.gz chromium_src-5786d3d3a7cd151fb5dc0aa2f1f0d84460fb6cdf.tar.bz2 |
[More BTP includes.]
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.
Previous Review URL: http://codereview.chromium.org/504052
Review URL: http://codereview.chromium.org/501096
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34900 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/profile.cc')
-rw-r--r-- | chrome/browser/profile.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/chrome/browser/profile.cc b/chrome/browser/profile.cc index 111029b..51990a0 100644 --- a/chrome/browser/profile.cc +++ b/chrome/browser/profile.cc @@ -379,7 +379,7 @@ class OffTheRecordProfileImpl : public Profile, return GetOriginalProfile()->GetTheme(); } - virtual ThemeProvider* GetThemeProvider() { + virtual BrowserThemeProvider* GetThemeProvider() { return GetOriginalProfile()->GetThemeProvider(); } @@ -1143,7 +1143,7 @@ Extension* ProfileImpl::GetTheme() { return extensions_service_->GetExtensionById(id, false); } -ThemeProvider* ProfileImpl::GetThemeProvider() { +BrowserThemeProvider* ProfileImpl::GetThemeProvider() { InitThemes(); return theme_provider_.get(); } |