summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_install_ui_default.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extension_install_ui_default.h')
-rw-r--r--chrome/browser/extensions/extension_install_ui_default.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/chrome/browser/extensions/extension_install_ui_default.h b/chrome/browser/extensions/extension_install_ui_default.h
new file mode 100644
index 0000000..5e37d06
--- /dev/null
+++ b/chrome/browser/extensions/extension_install_ui_default.h
@@ -0,0 +1,59 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_INSTALL_UI_DEFAULT_H_
+#define CHROME_BROWSER_EXTENSIONS_EXTENSION_INSTALL_UI_DEFAULT_H_
+#pragma once
+
+#include "chrome/browser/extensions/extension_install_ui.h"
+
+class InfoBarDelegate;
+class TabContents;
+typedef TabContents TabContentsWrapper;
+
+class ExtensionInstallUIDefault : public ExtensionInstallUI {
+ public:
+ explicit ExtensionInstallUIDefault(Profile* profile);
+ virtual ~ExtensionInstallUIDefault();
+
+ // ExtensionInstallUI implementation:
+ virtual void OnInstallSuccess(const extensions::Extension* extension,
+ SkBitmap* icon) OVERRIDE;
+ virtual void OnInstallFailure(const string16& error) OVERRIDE;
+ virtual void SetSkipPostInstallUI(bool skip_ui) OVERRIDE;
+ virtual void SetUseAppInstalledBubble(bool use_bubble) OVERRIDE;
+
+ private:
+ // Shows an infobar for a newly-installed theme. previous_theme_id should be
+ // empty if the previous theme was the system/default theme.
+ static void ShowThemeInfoBar(const std::string& previous_theme_id,
+ bool previous_using_native_theme,
+ const extensions::Extension* new_theme,
+ Profile* profile);
+
+ // Returns the delegate to control the browser's info bar. This is
+ // within its own function due to its platform-specific nature.
+ static InfoBarDelegate* GetNewThemeInstalledInfoBarDelegate(
+ TabContentsWrapper* tab_contents,
+ const extensions::Extension* new_theme,
+ const std::string& previous_theme_id,
+ bool previous_using_native_theme);
+
+ Profile* profile_;
+
+ // Whether or not to show the default UI after completing the installation.
+ bool skip_post_install_ui_;
+
+ // Used to undo theme installation.
+ std::string previous_theme_id_;
+ bool previous_using_native_theme_;
+
+ // Whether to show an installed bubble on app install, or use the default
+ // action of opening a new tab page.
+ bool use_app_installed_bubble_;
+
+ DISALLOW_IMPLICIT_CONSTRUCTORS(ExtensionInstallUIDefault);
+};
+
+#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_INSTALL_UI_DEFAULT_H_