diff options
author | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-09 17:33:18 +0000 |
---|---|---|
committer | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-09 17:33:18 +0000 |
commit | dd9d627a45031a4fe8414e79253e82fdfac7132c (patch) | |
tree | a049ade38464deffdc606ee3dec8607122e2354b /chrome/browser/extensions/extension_management_api.cc | |
parent | 422a0b90cbcd884221d3fabac3507dd964e5a064 (diff) | |
download | chromium_src-dd9d627a45031a4fe8414e79253e82fdfac7132c.zip chromium_src-dd9d627a45031a4fe8414e79253e82fdfac7132c.tar.gz chromium_src-dd9d627a45031a4fe8414e79253e82fdfac7132c.tar.bz2 |
Implement gallery install API
This patch implements chrome.experimental.management.install() which is only available for use by the web store. Calling with an extensionId, causes the download url to be constructed internally and downloaded and then cause the installation to bypass the normal permissions dialog.
BUG=27431,54148
Review URL: http://codereview.chromium.org/3353015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58956 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_management_api.cc')
-rw-r--r-- | chrome/browser/extensions/extension_management_api.cc | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/chrome/browser/extensions/extension_management_api.cc b/chrome/browser/extensions/extension_management_api.cc index 27caab3..e51c747 100644 --- a/chrome/browser/extensions/extension_management_api.cc +++ b/chrome/browser/extensions/extension_management_api.cc @@ -10,11 +10,14 @@ #include "base/basictypes.h" #include "base/json/json_writer.h" #include "base/string_number_conversions.h" +#include "base/string_util.h" #include "chrome/browser/browser.h" #include "chrome/browser/extensions/extension_event_names.h" #include "chrome/browser/extensions/extension_message_service.h" +#include "chrome/browser/extensions/extension_updater.h" #include "chrome/browser/extensions/extensions_service.h" #include "chrome/browser/profile.h" +#include "chrome/common/extensions/extension_constants.h" #include "chrome/common/extensions/extension_error_utils.h" #include "chrome/common/notification_service.h" #include "chrome/common/notification_type.h" @@ -22,6 +25,8 @@ using base::IntToString; namespace events = extension_event_names; +namespace { + const char kAppLaunchUrlKey[] = "appLaunchUrl"; const char kEnabledKey[] = "enabled"; const char kIconsKey[] = "icons"; @@ -34,6 +39,8 @@ const char kUrlKey[] = "url"; const char kNoExtensionError[] = "No extension with id *"; +} + ExtensionsService* ExtensionManagementFunction::service() { return profile()->GetExtensionsService(); } @@ -117,11 +124,6 @@ bool SetEnabledFunction::RunImpl() { return true; } -bool InstallFunction::RunImpl() { - NOTIMPLEMENTED(); - return false; -} - bool UninstallFunction::RunImpl() { std::string extension_id; EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &extension_id)); @@ -136,7 +138,6 @@ bool UninstallFunction::RunImpl() { return true; } - // static ExtensionManagementEventRouter* ExtensionManagementEventRouter::GetInstance() { return Singleton<ExtensionManagementEventRouter>::get(); |