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

Unified Diff: mojo/services/package_manager/package_manager.cc

Issue 1716793003: Enforce Capability Filter provided in manifest (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@9deps
Patch Set: . Created 4 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 | « mojo/services/package_manager/manifest.json ('k') | mojo/services/tracing/manifest.json » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/services/package_manager/package_manager.cc
diff --git a/mojo/services/package_manager/package_manager.cc b/mojo/services/package_manager/package_manager.cc
index ccc12021a300cc4de314186ab3d0774ec3ab816a..1ec443aae198ae4a15c2bfe9add63859e2fc3106 100644
--- a/mojo/services/package_manager/package_manager.cc
+++ b/mojo/services/package_manager/package_manager.cc
@@ -151,6 +151,8 @@ void PackageManager::ResolveMojoURL(const mojo::String& mojo_url,
if (alias_iter != mojo_url_aliases_.end()) {
resolved_url = GURL(alias_iter->second.first);
qualifier = alias_iter->second.second;
+ } else {
+ qualifier = resolved_url.host();
}
EnsureURLInCatalog(resolved_url, qualifier, callback);
@@ -193,13 +195,15 @@ void PackageManager::CompleteResolveMojoURL(
file_url = system_package_dir_.Resolve(resolved_url.host() + extension);
}
- // TODO(beng): Use the actual capability filter from |info|!
mojo::shell::mojom::CapabilityFilterPtr filter(
mojo::shell::mojom::CapabilityFilter::New());
- mojo::Array<mojo::String> all_interfaces;
- all_interfaces.push_back("*");
- filter->filter.insert("*", std::move(all_interfaces));
-
+ filter->filter = mojo::Map<mojo::String, mojo::Array<mojo::String>>();
+ for (const auto& entry : info_iter->second.base_filter) {
+ mojo::Array<mojo::String> interfaces;
+ for (auto interface_name : entry.second)
+ interfaces.push_back(interface_name);
+ filter->filter.insert(entry.first, std::move(interfaces));
+ }
callback.Run(resolved_url.spec(), qualifier, std::move(filter),
file_url.spec());
}
« no previous file with comments | « mojo/services/package_manager/manifest.json ('k') | mojo/services/tracing/manifest.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698