Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5858)

Unified Diff: chrome/browser/extensions/extension_service.cc

Issue 196663003: Introduce an extension parameter which is used to customize the extension. It's available for exter… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_service.cc
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index 412787979dfcaaafdde066e447b0be43c581d696..8b63098a1e9c9c415617ce1877926670951dbb4c 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -267,6 +267,7 @@ void ExtensionService::AddProviderForTesting(
bool ExtensionService::OnExternalExtensionUpdateUrlFound(
const std::string& id,
+ const std::string& install_parameter,
const GURL& update_url,
Manifest::Location location,
int creation_flags,
@@ -294,7 +295,12 @@ bool ExtensionService::OnExternalExtensionUpdateUrlFound(
// source. In this case, signal that this extension will not be
// installed by returning false.
if (!pending_extension_manager()->AddFromExternalUpdateUrl(
- id, update_url, location, creation_flags, mark_acknowledged)) {
+ id,
+ install_parameter,
+ update_url,
+ location,
+ creation_flags,
+ mark_acknowledged)) {
return false;
}
@@ -1853,7 +1859,8 @@ void ExtensionService::AddComponentExtension(const Extension* extension) {
AddNewOrUpdatedExtension(extension,
Extension::ENABLED_COMPONENT,
extensions::NOT_BLACKLISTED,
- syncer::StringOrdinal());
+ syncer::StringOrdinal(),
+ std::string());
return;
}
@@ -2113,6 +2120,7 @@ void ExtensionService::OnExtensionInstalled(
const std::string& id = extension->id();
bool initial_enable = ShouldEnableOnInstall(extension);
+ std::string install_parameter;
const extensions::PendingExtensionInfo* pending_extension_info = NULL;
if ((pending_extension_info = pending_extension_manager()->GetById(id))) {
if (!pending_extension_info->ShouldAllowInstall(extension)) {
@@ -2135,6 +2143,7 @@ void ExtensionService::OnExtensionInstalled(
return;
}
+ install_parameter = pending_extension_info->install_parameter();
pending_extension_manager()->Remove(id);
} else {
// We explicitly want to re-enable an uninstalled external
@@ -2200,7 +2209,8 @@ void ExtensionService::OnExtensionInstalled(
initial_state,
blacklisted_for_malware,
extensions::ExtensionPrefs::DELAY_REASON_WAIT_FOR_IDLE,
- page_ordinal);
+ page_ordinal,
+ install_parameter);
// Transfer ownership of |extension|.
delayed_installs_.Insert(extension);
@@ -2218,7 +2228,8 @@ void ExtensionService::OnExtensionInstalled(
initial_state,
blacklisted_for_malware,
extensions::ExtensionPrefs::DELAY_REASON_GC,
- page_ordinal);
+ page_ordinal,
+ install_parameter);
delayed_installs_.Insert(extension);
} else if (status != IMPORT_STATUS_OK) {
if (status == IMPORT_STATUS_UNSATISFIED) {
@@ -2227,14 +2238,16 @@ void ExtensionService::OnExtensionInstalled(
initial_state,
blacklisted_for_malware,
extensions::ExtensionPrefs::DELAY_REASON_WAIT_FOR_IMPORTS,
- page_ordinal);
+ page_ordinal,
+ install_parameter);
delayed_installs_.Insert(extension);
}
} else {
AddNewOrUpdatedExtension(extension,
initial_state,
blacklist_state,
- page_ordinal);
+ page_ordinal,
+ install_parameter);
}
}
@@ -2242,14 +2255,16 @@ void ExtensionService::AddNewOrUpdatedExtension(
const Extension* extension,
Extension::State initial_state,
extensions::BlacklistState blacklist_state,
- const syncer::StringOrdinal& page_ordinal) {
+ const syncer::StringOrdinal& page_ordinal,
+ const std::string& install_parameter) {
CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
const bool blacklisted_for_malware =
blacklist_state == extensions::BLACKLISTED_MALWARE;
extension_prefs_->OnExtensionInstalled(extension,
initial_state,
blacklisted_for_malware,
- page_ordinal);
+ page_ordinal,
+ install_parameter);
delayed_installs_.Remove(extension->id());
if (InstallVerifier::NeedsVerification(*extension)) {
extensions::ExtensionSystem::Get(profile_)->install_verifier()->Add(

Powered by Google App Engine
This is Rietveld 408576698