| Index: extensions/common/extension_messages.cc
|
| diff --git a/extensions/common/extension_messages.cc b/extensions/common/extension_messages.cc
|
| index 243e4b9502451ec589e48d1d7c651fa1c559601d..34b15ed89879781b77bbc59636d0d0a2420a2d89 100644
|
| --- a/extensions/common/extension_messages.cc
|
| +++ b/extensions/common/extension_messages.cc
|
| @@ -81,8 +81,11 @@ ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params(
|
|
|
| scoped_refptr<Extension> ExtensionMsg_Loaded_Params::ConvertToExtension(
|
| std::string* error) const {
|
| + // We pass in the |id| to the create call because it will save work in the
|
| + // normal case, and because in tests, extensions may not have paths or keys,
|
| + // but it's important to retain the same id.
|
| scoped_refptr<Extension> extension =
|
| - Extension::Create(path, location, *manifest, creation_flags, error);
|
| + Extension::Create(path, location, *manifest, creation_flags, id, error);
|
| if (extension.get()) {
|
| const extensions::PermissionsData* permissions_data =
|
| extension->permissions_data();
|
| @@ -374,8 +377,10 @@ void ParamTraits<ExtensionMsg_Loaded_Params>::Write(base::Pickle* m,
|
| WriteParam(m, p.path);
|
| WriteParam(m, *(p.manifest));
|
| WriteParam(m, p.creation_flags);
|
| + WriteParam(m, p.id);
|
| WriteParam(m, p.active_permissions);
|
| WriteParam(m, p.withheld_permissions);
|
| + WriteParam(m, p.tab_specific_permissions);
|
| }
|
|
|
| bool ParamTraits<ExtensionMsg_Loaded_Params>::Read(const base::Pickle* m,
|
| @@ -384,9 +389,10 @@ bool ParamTraits<ExtensionMsg_Loaded_Params>::Read(const base::Pickle* m,
|
| p->manifest.reset(new base::DictionaryValue());
|
| 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->id) &&
|
| ReadParam(m, iter, &p->active_permissions) &&
|
| - ReadParam(m, iter, &p->withheld_permissions);
|
| + ReadParam(m, iter, &p->withheld_permissions) &&
|
| + ReadParam(m, iter, &p->tab_specific_permissions);
|
| }
|
|
|
| void ParamTraits<ExtensionMsg_Loaded_Params>::Log(const param_type& p,
|
|
|