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

Unified Diff: extensions/common/extension_messages.cc

Issue 890083002: [Extensions] Propagate activeTab hosts to extension background pages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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/permissions_data.h » ('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 ce572112d44a6b3a504836bf7a27e74a7992dce6..94a6bd0abcf7c926d22fe0d69ff3dff4f817cc12 100644
--- a/extensions/common/extension_messages.cc
+++ b/extensions/common/extension_messages.cc
@@ -49,7 +49,8 @@ ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params()
ExtensionMsg_Loaded_Params::~ExtensionMsg_Loaded_Params() {}
ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params(
- const Extension* extension)
+ const Extension* extension,
+ bool include_tab_permissions)
: manifest(extension->manifest()->value()->DeepCopy()),
location(extension->location()),
path(extension->path()),
@@ -58,6 +59,14 @@ ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params(
*extension->permissions_data()->withheld_permissions()),
id(extension->id()),
creation_flags(extension->creation_flags()) {
+ if (include_tab_permissions) {
+ const extensions::PermissionsData::TabPermissionsMap& tab_permissions =
+ extension->permissions_data()->tab_specific_permissions();
+ for (const auto& pair : tab_permissions) {
+ tab_specific_permissions[pair.first] =
+ ExtensionMsg_PermissionSetStruct(*pair.second);
+ }
+ }
}
scoped_refptr<Extension> ExtensionMsg_Loaded_Params::ConvertToExtension(
@@ -65,9 +74,14 @@ 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()->SetPermissions(
- active_permissions.ToPermissionSet(),
- withheld_permissions.ToPermissionSet());
+ const extensions::PermissionsData* permissions_data =
+ extension->permissions_data();
+ permissions_data->SetPermissions(active_permissions.ToPermissionSet(),
+ withheld_permissions.ToPermissionSet());
+ for (const auto& pair : tab_specific_permissions) {
+ permissions_data->UpdateTabSpecificPermissions(
+ pair.first, pair.second.ToPermissionSet());
+ }
}
return extension;
}
« no previous file with comments | « extensions/common/extension_messages.h ('k') | extensions/common/permissions/permissions_data.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698