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

Unified Diff: extensions/common/extension_messages.cc

Issue 348313003: Create withheld permissions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Latest master Created 6 years, 5 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
« no previous file with comments | « extensions/common/extension_messages.h ('k') | extensions/common/permissions/permission_set.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/common/extension_messages.cc
diff --git a/extensions/common/extension_messages.cc b/extensions/common/extension_messages.cc
index 054b2fa24f33d61bd9a1d46cb512d55e474ae36d..129c0ff01c6bed7b0319b6b36a56a3ee58f0a2a3 100644
--- a/extensions/common/extension_messages.cc
+++ b/extensions/common/extension_messages.cc
@@ -22,6 +22,26 @@ using extensions::ManifestPermissionSet;
using extensions::PermissionSet;
using extensions::URLPatternSet;
+ExtensionMsg_PermissionSetStruct::ExtensionMsg_PermissionSetStruct() {
+}
+
+ExtensionMsg_PermissionSetStruct::ExtensionMsg_PermissionSetStruct(
+ const PermissionSet* permissions)
+ : apis(permissions->apis()),
+ manifest_permissions(permissions->manifest_permissions()),
+ explicit_hosts(permissions->explicit_hosts()),
+ scriptable_hosts(permissions->scriptable_hosts()) {
+}
+
+ExtensionMsg_PermissionSetStruct::~ExtensionMsg_PermissionSetStruct() {
+}
+
+scoped_refptr<const PermissionSet>
+ExtensionMsg_PermissionSetStruct::ToPermissionSet() const {
+ return new PermissionSet(
+ apis, manifest_permissions, explicit_hosts, scriptable_hosts);
+}
+
ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params()
: location(Manifest::INVALID_LOCATION),
creation_flags(Extension::NO_FLAGS) {}
@@ -33,16 +53,9 @@ ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params(
: manifest(extension->manifest()->value()->DeepCopy()),
location(extension->location()),
path(extension->path()),
- apis(extension->permissions_data()->active_permissions()->apis()),
- manifest_permissions(extension->permissions_data()
- ->active_permissions()
- ->manifest_permissions()),
- explicit_hosts(extension->permissions_data()
- ->active_permissions()
- ->explicit_hosts()),
- scriptable_hosts(extension->permissions_data()
- ->active_permissions()
- ->scriptable_hosts()),
+ active_permissions(extension->permissions_data()->active_permissions()),
+ withheld_permissions(
+ extension->permissions_data()->withheld_permissions()),
id(extension->id()),
creation_flags(extension->creation_flags()) {
}
@@ -52,8 +65,9 @@ scoped_refptr<Extension> ExtensionMsg_Loaded_Params::ConvertToExtension(
scoped_refptr<Extension> extension =
Extension::Create(path, location, *manifest, creation_flags, error);
if (extension.get()) {
- extension->permissions_data()->SetActivePermissions(new PermissionSet(
- apis, manifest_permissions, explicit_hosts, scriptable_hosts));
+ extension->permissions_data()->SetPermissions(
+ active_permissions.ToPermissionSet(),
+ withheld_permissions.ToPermissionSet());
}
return extension;
}
@@ -221,28 +235,50 @@ void ParamTraits<ManifestPermissionSet>::Log(
LogParam(p.map(), l);
}
+void ParamTraits<ExtensionMsg_PermissionSetStruct>::Write(Message* m,
+ const param_type& p) {
+ WriteParam(m, p.apis);
+ WriteParam(m, p.manifest_permissions);
+ WriteParam(m, p.explicit_hosts);
+ WriteParam(m, p.scriptable_hosts);
+}
+
+bool ParamTraits<ExtensionMsg_PermissionSetStruct>::Read(const Message* m,
+ PickleIterator* iter,
+ param_type* p) {
+ return ReadParam(m, iter, &p->apis) &&
+ ReadParam(m, iter, &p->manifest_permissions) &&
+ ReadParam(m, iter, &p->explicit_hosts) &&
+ ReadParam(m, iter, &p->scriptable_hosts);
+}
+
+void ParamTraits<ExtensionMsg_PermissionSetStruct>::Log(const param_type& p,
+ std::string* l) {
+ LogParam(p.apis, l);
+ LogParam(p.manifest_permissions, l);
+ LogParam(p.explicit_hosts, l);
+ LogParam(p.scriptable_hosts, l);
+}
+
void ParamTraits<ExtensionMsg_Loaded_Params>::Write(Message* m,
const param_type& p) {
WriteParam(m, p.location);
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);
+ WriteParam(m, p.active_permissions);
+ WriteParam(m, p.withheld_permissions);
}
bool ParamTraits<ExtensionMsg_Loaded_Params>::Read(const Message* m,
PickleIterator* iter,
param_type* p) {
p->manifest.reset(new base::DictionaryValue());
- return ReadParam(m, iter, &p->location) &&
- ReadParam(m, iter, &p->path) &&
+ 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->apis) &&
- ReadParam(m, iter, &p->explicit_hosts) &&
- ReadParam(m, iter, &p->scriptable_hosts);
+ ReadParam(m, iter, &p->active_permissions) &&
+ ReadParam(m, iter, &p->withheld_permissions);
}
void ParamTraits<ExtensionMsg_Loaded_Params>::Log(const param_type& p,
« no previous file with comments | « extensions/common/extension_messages.h ('k') | extensions/common/permissions/permission_set.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698