Chromium Code Reviews| Index: chrome/browser/extensions/extension_install_prompt.h |
| diff --git a/chrome/browser/extensions/extension_install_prompt.h b/chrome/browser/extensions/extension_install_prompt.h |
| index 480dfd062caac34e19bbfd38b701a695ab08afc6..3b5dcdd08d7dfeb4e5cec80f7b30e28f2638ab1f 100644 |
| --- a/chrome/browser/extensions/extension_install_prompt.h |
| +++ b/chrome/browser/extensions/extension_install_prompt.h |
| @@ -8,6 +8,7 @@ |
| #include <string> |
| #include <vector> |
| +#include "base/callback.h" |
| #include "base/compiler_specific.h" |
| #include "base/memory/scoped_ptr.h" |
| #include "base/string16.h" |
| @@ -157,6 +158,12 @@ class ExtensionInstallPrompt : public ImageLoadingTracker::Observer, |
| virtual ~Delegate() {} |
| }; |
| + typedef base::Callback<void(gfx::NativeWindow, |
| + content::PageNavigator*, |
| + ExtensionInstallPrompt::Delegate*, |
| + const ExtensionInstallPrompt::Prompt&)> |
| + ShowDialogCallback; |
|
Aaron Boodman
2012/10/11 20:28:50
Add documentation
|
| + |
| // Creates a dummy extension from the |manifest|, replacing the name and |
| // description with the localizations if provided. |
| static scoped_refptr<extensions::Extension> GetLocalizedExtensionForDisplay( |
| @@ -196,19 +203,24 @@ class ExtensionInstallPrompt : public ImageLoadingTracker::Observer, |
| const Prompt& prompt); |
| // This is called by the installer to verify whether the installation from |
| - // the webstore should proceed. |
| + // the webstore should proceed. |show_dialog_callback| is optional and can be |
| + // NULL. |
| // |
| // We *MUST* eventually call either Proceed() or Abort() on |delegate|. |
| - virtual void ConfirmWebstoreInstall(Delegate* delegate, |
| - const extensions::Extension* extension, |
| - const SkBitmap* icon); |
| + virtual void ConfirmWebstoreInstall( |
| + Delegate* delegate, |
| + const extensions::Extension* extension, |
| + const SkBitmap* icon, |
| + const ShowDialogCallback& show_dialog_callback); |
| // This is called by the installer to verify whether the installation should |
| - // proceed. This is declared virtual for testing. |
| + // proceed. This is declared virtual for testing. |show_dialog_callback| is |
| + // optional and can be NULL. |
| // |
| // We *MUST* eventually call either Proceed() or Abort() on |delegate|. |
| virtual void ConfirmInstall(Delegate* delegate, |
| - const extensions::Extension* extension); |
| + const extensions::Extension* extension, |
| + const ShowDialogCallback& show_dialog_callback); |
| // This is called by the app handler launcher to verify whether the app |
| // should be re-enabled. This is declared virtual for testing. |
| @@ -311,8 +323,19 @@ class ExtensionInstallPrompt : public ImageLoadingTracker::Observer, |
| // Keeps track of extension images being loaded on the File thread for the |
| // purpose of showing the install UI. |
| ImageLoadingTracker tracker_; |
| + |
| + // Used to show the confirm dialog. |
| + ShowDialogCallback show_dialog_callback_; |
| }; |
| +// Shows the default extension install dialog. |
| +// The implementations of this function are platform-specific. |
| +void ShowExtensionInstallDialogImpl( |
| + gfx::NativeWindow parent, |
| + content::PageNavigator* navigator, |
| + ExtensionInstallPrompt::Delegate* delegate, |
| + const ExtensionInstallPrompt::Prompt& prompt); |
| + |
| namespace chrome { |
| // Creates an ExtensionInstallPrompt from |browser|. Caller assumes ownership. |