Index: chrome/common/extensions/extension_messages.cc |
diff --git a/chrome/common/extensions/extension_messages.cc b/chrome/common/extensions/extension_messages.cc |
index bda807bf4be43809ebc622f1849faa0432b9704e..9da7a2db58660d789106cc2bb868dd3498c542d9 100644 |
--- a/chrome/common/extensions/extension_messages.cc |
+++ b/chrome/common/extensions/extension_messages.cc |
@@ -19,6 +19,9 @@ ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params( |
: manifest(extension->manifest()->value()->DeepCopy()), |
location(extension->location()), |
path(extension->path()), |
+ apis(extension->GetActivePermissions()->apis()), |
Aaron Boodman
2012/04/13 18:01:01
Bummer.
|
+ explicit_hosts(extension->GetActivePermissions()->explicit_hosts()), |
+ scriptable_hosts(extension->GetActivePermissions()->scriptable_hosts()), |
id(extension->id()), |
creation_flags(extension->creation_flags()) { |
} |
@@ -30,8 +33,12 @@ scoped_refptr<Extension> |
scoped_refptr<Extension> extension( |
Extension::Create(path, location, *manifest, creation_flags, |
&error)); |
- if (!extension.get()) |
+ if (!extension.get()) { |
DLOG(ERROR) << "Error deserializing extension: " << error; |
Aaron Boodman
2012/04/13 18:01:01
Early return NULL and eliminate else branch.
jstritar
2012/04/13 18:31:37
Done.
|
+ } else { |
+ extension->SetActivePermissions( |
+ new ExtensionPermissionSet(apis, explicit_hosts, scriptable_hosts)); |
+ } |
return extension; |
} |
@@ -133,6 +140,9 @@ void ParamTraits<ExtensionMsg_Loaded_Params>::Write(Message* m, |
WriteParam(m, p.path); |
WriteParam(m, *(p.manifest)); |
WriteParam(m, p.creation_flags); |
+ WriteParam(m, p.apis); |
+ WriteParam(m, p.explicit_hosts); |
+ WriteParam(m, p.scriptable_hosts); |
} |
bool ParamTraits<ExtensionMsg_Loaded_Params>::Read(const Message* m, |
@@ -142,7 +152,10 @@ bool ParamTraits<ExtensionMsg_Loaded_Params>::Read(const Message* m, |
return ReadParam(m, iter, &p->location) && |
ReadParam(m, iter, &p->path) && |
ReadParam(m, iter, p->manifest.get()) && |
- ReadParam(m, iter, &p->creation_flags); |
+ ReadParam(m, iter, &p->creation_flags) && |
+ ReadParam(m, iter, &p->apis) && |
+ ReadParam(m, iter, &p->explicit_hosts) && |
+ ReadParam(m, iter, &p->scriptable_hosts); |
} |
void ParamTraits<ExtensionMsg_Loaded_Params>::Log(const param_type& p, |