Index: chrome/browser/extensions/webstore_installer.h |
diff --git a/chrome/browser/extensions/webstore_installer.h b/chrome/browser/extensions/webstore_installer.h |
index b1e7b5d55867b07043dffb0b15686a6ee55fbe07..bea6d6d692b7c33955c78c8dc6715ddbc330dd9d 100644 |
--- a/chrome/browser/extensions/webstore_installer.h |
+++ b/chrome/browser/extensions/webstore_installer.h |
@@ -47,11 +47,17 @@ class WebstoreInstaller : public content::NotificationObserver, |
const std::string& error) = 0; |
}; |
- // If added to the WebstoreInstaller, an Approval indicates that the user has |
- // already approved the installation and that the CrxInstaller can bypass its |
- // install prompt. |
+ // Contains information about what parts of the extension install process can |
+ // be skipped or modified. If one of these is present, it means that a CRX |
+ // download was initiated by WebstoreInstaller. The Approval instance should |
+ // be checked further for additional details. |
struct Approval : public content::DownloadItem::ExternalData { |
- Approval(); |
+ static scoped_ptr<Approval> CreateWithInstallPrompt(Profile* profile); |
+ static scoped_ptr<Approval> CreateWithNoInstallPrompt( |
+ Profile* profile, |
+ const std::string& extension_id, |
+ scoped_ptr<base::DictionaryValue> parsed_manifest); |
+ |
virtual ~Approval(); |
// The extension id that was approved for installation. |
@@ -69,6 +75,15 @@ class WebstoreInstaller : public content::NotificationObserver, |
// Whether to skip the post install UI like the extension installed bubble. |
bool skip_post_install_ui; |
+ |
+ // Whether to skip the install dialog once the extension has been downloaded |
+ // and unpacked. One reason this can be true is that in the normal webstore |
+ // installation, the dialog is shown earlier, before any download is done, |
+ // so there's no need to show it again. |
+ bool skip_install_dialog; |
+ |
+ private: |
+ Approval(); |
}; |
// Gets the Approval associated with the |download|, or NULL if there's none. |