diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-11 18:37:38 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-11 18:37:38 +0000 |
commit | 1e09a50056d013f04f980855e8c0c5a424070985 (patch) | |
tree | 1b86f0df4c12e0098be5790b26c56cf23571d943 /chrome/browser/extensions/extension_install_ui.cc | |
parent | 601298ebd4745c16d156c0a85fcf800acf110997 (diff) | |
download | chromium_src-1e09a50056d013f04f980855e8c0c5a424070985.zip chromium_src-1e09a50056d013f04f980855e8c0c5a424070985.tar.gz chromium_src-1e09a50056d013f04f980855e8c0c5a424070985.tar.bz2 |
Make the theme install infobar have an 'undo' button instead
of a 'back to default' button.
BUG=18986
TEST=none
Review URL: http://codereview.chromium.org/164312
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23055 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_install_ui.cc')
-rw-r--r-- | chrome/browser/extensions/extension_install_ui.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/chrome/browser/extensions/extension_install_ui.cc b/chrome/browser/extensions/extension_install_ui.cc index cfc5e54..a2c9258 100644 --- a/chrome/browser/extensions/extension_install_ui.cc +++ b/chrome/browser/extensions/extension_install_ui.cc @@ -37,6 +37,11 @@ void ExtensionInstallUI::ConfirmInstall(CrxInstaller* installer, // immediately installed, and then we show an infobar (see OnInstallSuccess) // to allow the user to revert if they don't like it. if (extension->IsTheme()) { + // Remember the current theme in case the user pressed undo. + Extension* previous_theme = profile_->GetTheme(); + if (previous_theme) + previous_theme_id_ = previous_theme->id(); + installer->ContinueInstall(); return; } @@ -100,8 +105,8 @@ void ExtensionInstallUI::OnOverinstallAttempted(Extension* extension) { ShowThemeInfoBar(extension); } -void ExtensionInstallUI::ShowThemeInfoBar(Extension* extension) { - if (!extension->IsTheme()) +void ExtensionInstallUI::ShowThemeInfoBar(Extension* new_theme) { + if (!new_theme->IsTheme()) return; Browser* browser = BrowserList::GetLastActiveWithProfile(profile_); @@ -124,7 +129,7 @@ void ExtensionInstallUI::ShowThemeInfoBar(Extension* extension) { // Then either replace that old one or add a new one. InfoBarDelegate* new_delegate = new ThemePreviewInfobarDelegate(tab_contents, - extension->name()); + new_theme->name(), previous_theme_id_); if (old_delegate) tab_contents->ReplaceInfoBar(old_delegate, new_delegate); |