summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/sandboxed_extension_unpacker.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/sandboxed_extension_unpacker.cc')
-rw-r--r--chrome/browser/extensions/sandboxed_extension_unpacker.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/chrome/browser/extensions/sandboxed_extension_unpacker.cc b/chrome/browser/extensions/sandboxed_extension_unpacker.cc
index 1cbd932..427b864 100644
--- a/chrome/browser/extensions/sandboxed_extension_unpacker.cc
+++ b/chrome/browser/extensions/sandboxed_extension_unpacker.cc
@@ -255,16 +255,18 @@ DictionaryValue* SandboxedExtensionUnpacker::RewriteManifestFile(
static_cast<DictionaryValue*>(manifest.DeepCopy()));
final_manifest->SetString(extension_manifest_keys::kPublicKey, public_key_);
- // Override the app origin if appropriate.
- DictionaryValue* app = NULL;
- if (final_manifest->GetDictionary(extension_manifest_keys::kApp, &app) &&
- !app_origin_override_.is_empty()) {
- if (app->HasKey(extension_manifest_keys::kAppOrigin)) {
- ReportFailure("Unexpected 'origin' key in manifest.");
+ // Override the origin if appropriate.
+ bool web_content_enabled = false;
+ if (final_manifest->GetBoolean(extension_manifest_keys::kWebContentEnabled,
+ &web_content_enabled) &&
+ web_content_enabled &&
+ web_origin_.is_valid()) {
+ if (final_manifest->HasKey(extension_manifest_keys::kWebOrigin)) {
+ ReportFailure("Unexpected 'web_content.origin' key in manifest.");
return NULL;
}
- app->SetString(extension_manifest_keys::kAppOrigin,
- app_origin_override_.spec());
+ final_manifest->SetString(extension_manifest_keys::kWebOrigin,
+ web_origin_.spec());
}
std::string manifest_json;