summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/webstore_installer.h
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-17 18:47:09 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-17 18:47:09 +0000
commit89019d6a0e32e517da3aa7f84125ff3bcd69109f (patch)
tree347077013bafbd85fbbdd81d524f3a5434b537f4 /chrome/browser/extensions/webstore_installer.h
parent036240c0388b24d480f93f3c02044b221aa7620a (diff)
downloadchromium_src-89019d6a0e32e517da3aa7f84125ff3bcd69109f.zip
chromium_src-89019d6a0e32e517da3aa7f84125ff3bcd69109f.tar.gz
chromium_src-89019d6a0e32e517da3aa7f84125ff3bcd69109f.tar.bz2
Reland 137540 - Disable off-store extension installs by default. Also get rid of ExtensionService::IsDownloadFromGallery."
This removes a pyauto test that was failing. The test needs to be different depending on whether a feature is on or off, but there's currently no good way to test whether a feature is enabled from pyauto. BUG=55584 TBR=mpcomplete@chromium.org Review URL: https://chromiumcodereview.appspot.com/10399069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137699 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/webstore_installer.h')
-rw-r--r--chrome/browser/extensions/webstore_installer.h23
1 files changed, 19 insertions, 4 deletions
diff --git a/chrome/browser/extensions/webstore_installer.h b/chrome/browser/extensions/webstore_installer.h
index b1e7b5d..bea6d6d 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.