Support remote installation of extensions and apps.
To enable this support, the following things are changed:
* ExtensionSyncData, and the ExtensionSpecifics protobuf have a new
remote_install field, to mark a remotely installed extension.
* A new DISABLE_REMOTE_INSTALL reason is added to track this state
locally.
* CrxInstaller::allow_silent_install is changed from a bool to a
three-state enum, where the options are:
- install after showing a permission prompt,
- install and grant all permissions without a prompt and
- install without a prompt and don't grant any permissions
* AddExtensionDisabledError is modified to keep track of the disable
reasons, and change the text that is displayed accordingly.
* ExtensionInstallPrompt has a new prompt type with different text
for remotely installed extensions.
BUG=365737
Review URL: https://codereview.chromium.org/264763002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270900 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/pending_extension_manager.h b/chrome/browser/extensions/pending_extension_manager.h
index 96dfa6e..bf2e1fc7 100644
--- a/chrome/browser/extensions/pending_extension_manager.h
+++ b/chrome/browser/extensions/pending_extension_manager.h
@@ -84,7 +84,8 @@
const std::string& id,
const GURL& update_url,
PendingExtensionInfo::ShouldAllowInstallPredicate should_allow_install,
- bool install_silently);
+ bool install_silently,
+ bool remote_install);
// Adds an extension that was depended on by another extension.
bool AddFromExtensionImport(
@@ -132,7 +133,8 @@
bool install_silently,
Manifest::Location install_source,
int creation_flags,
- bool mark_acknowledged);
+ bool mark_acknowledged,
+ bool remote_install);
// Add a pending extension record directly. Used for unit tests that need
// to set an inital state. Use friendship to allow the tests to call this