diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-31 23:59:53 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-31 23:59:53 +0000 |
commit | fb3ef9384cc76c4237f98e5aa38d2689cc7b60cd (patch) | |
tree | 98bad1fae8753d67f447e4c906fc1739f87d4589 /chrome/browser/extensions/extension_install_ui.h | |
parent | 217a6c001d47eb867b610d40a2a3e3141d84beb5 (diff) | |
download | chromium_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.h | 39 |
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_ |