summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_install_ui.h
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-31 23:59:53 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-31 23:59:53 +0000
commitfb3ef9384cc76c4237f98e5aa38d2689cc7b60cd (patch)
tree98bad1fae8753d67f447e4c906fc1739f87d4589 /chrome/browser/extensions/extension_install_ui.h
parent217a6c001d47eb867b610d40a2a3e3141d84beb5 (diff)
downloadchromium_src-fb3ef9384cc76c4237f98e5aa38d2689cc7b60cd.zip
chromium_src-fb3ef9384cc76c4237f98e5aa38d2689cc7b60cd.tar.gz
chromium_src-fb3ef9384cc76c4237f98e5aa38d2689cc7b60cd.tar.bz2
Ever closer. Extract a client interface out of CrxInstaller and
use it to implement ExtensionInstallUI. There is (still) no dialog here. But the next CL will, um, definitely have it. Also, fixed the issue with theme preview infobars not updating if you install a theme while another one is already previewed. BUG=17932 Review URL: http://codereview.chromium.org/160483 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22228 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_install_ui.h')
-rw-r--r--chrome/browser/extensions/extension_install_ui.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/chrome/browser/extensions/extension_install_ui.h b/chrome/browser/extensions/extension_install_ui.h
new file mode 100644
index 0000000..1fc0379
--- /dev/null
+++ b/chrome/browser/extensions/extension_install_ui.h
@@ -0,0 +1,39 @@
+// Copyright (c) 2009 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_H_
+#define CHROME_BROWSER_EXTENSIONS_EXTENSION_INSTALL_UI_H_
+
+#include "base/file_path.h"
+#include "base/gfx/native_widget_types.h"
+#include "base/ref_counted.h"
+#include "chrome/browser/extensions/crx_installer.h"
+
+class ExtensionsService;
+class MessageLoop;
+class Profile;
+class SandboxedExtensionUnpacker;
+
+// Displays all the UI around extension installation.
+//
+// TODO(aa): This will become a view and move to browser/views/extensions in the
+// future.
+class ExtensionInstallUI : public CrxInstallerClient {
+ public:
+ ExtensionInstallUI(Profile* profile);
+
+ private:
+ // CrxInstallerClient
+ virtual bool ConfirmInstall(Extension* extension);
+ virtual void OnInstallSuccess(Extension* extension);
+ virtual void OnInstallFailure(const std::string& error);
+ virtual void OnOverinstallAttempted(Extension* extension);
+
+ void ShowThemeInfoBar(Extension* extension);
+
+ Profile* profile_;
+ MessageLoop* ui_loop_;
+};
+
+#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_INSTALL_UI_H_