Index: services/service_manager/public/interfaces/connector.mojom |
diff --git a/services/service_manager/public/interfaces/connector.mojom b/services/service_manager/public/interfaces/connector.mojom |
index 63168e4a15ac5f6ae04d0991307068eda41d03de..d55644e168ed37a4158f43ba9fdc0c52d050524c 100644 |
--- a/services/service_manager/public/interfaces/connector.mojom |
+++ b/services/service_manager/public/interfaces/connector.mojom |
@@ -164,4 +164,20 @@ interface Connector { |
// Clones this Connector so it can be passed to another thread. |
Clone(Connector& request); |
+ |
+ // Asks the Service Manager to enforce the rules contained in the |
+ // InterfaceProviderSpec named |spec| in the calling service's service |
+ // manifest on incoming interface requests from |source|. |
+ // |
+ // The flow is basically - remote service wishes to (generically) request |
+ // interfaces from this service, and so sends us an InterfaceProvider request |
+ // (|source_request|) which it would like us to bind. We forward this request |
+ // to the Service Manager, passing our actual InterfaceProvider implementation |
+ // in |target|. The Service Manager will only forward interface requests that |
+ // were permitted by intersecting |source|'s manifest requirements with the |
+ // contents of |spec|. |
+ ApplySpec(string spec, |
Ken Rockot(use gerrit already)
2017/04/26 04:32:48
I was kind of thinking we could call specs "interf
Tom Sepez
2017/04/26 16:22:36
Yea, SetInterfaceFilter(string filter_name, ... ??
Ben Goodger (Google)
2017/04/26 17:00:07
FilterInterfaces sounds fine.
|
+ Identity source, |
+ InterfaceProvider& source_request, |
+ InterfaceProvider target); |
}; |