| Index: mojo/shell/application_instance.h
|
| diff --git a/mojo/shell/application_instance.h b/mojo/shell/application_instance.h
|
| index f50ab82113bb354afb54f2e45c4fb3a4864a6e8a..22b4cb14b3342e5d0a0be98f49f2d53cbde4043c 100644
|
| --- a/mojo/shell/application_instance.h
|
| +++ b/mojo/shell/application_instance.h
|
| @@ -24,11 +24,15 @@ class ApplicationManager;
|
| // shell's ApplicationManager.
|
| class ApplicationInstance : public Shell {
|
| public:
|
| + // |requesting_content_handler_id| is the id of the content handler that
|
| + // loaded this app. If the app was not loaded by a content handler the id
|
| + // is kInvalidContentHandlerID.
|
| ApplicationInstance(ApplicationPtr application,
|
| ApplicationManager* manager,
|
| const Identity& originator_identity,
|
| const Identity& resolved_identity,
|
| const CapabilityFilter& filter,
|
| + uint32_t requesting_content_handler_id,
|
| const base::Closure& on_application_end);
|
|
|
| ~ApplicationInstance() override;
|
| @@ -40,7 +44,8 @@ class ApplicationInstance : public Shell {
|
| const GURL& requestor_url,
|
| InterfaceRequest<ServiceProvider> services,
|
| ServiceProviderPtr exposed_services,
|
| - const CapabilityFilter& filter);
|
| + const CapabilityFilter& filter,
|
| + const ConnectToApplicationCallback& callback);
|
|
|
| // Returns the set of interfaces this application instance is allowed to see
|
| // from an instance with |identity|.
|
| @@ -49,13 +54,21 @@ class ApplicationInstance : public Shell {
|
| Application* application() { return application_.get(); }
|
| const Identity& identity() const { return identity_; }
|
| base::Closure on_application_end() const { return on_application_end_; }
|
| + void set_requesting_content_handler_id(uint32_t id) {
|
| + requesting_content_handler_id_ = id;
|
| + }
|
| + uint32_t requesting_content_handler_id() const {
|
| + return requesting_content_handler_id_;
|
| + }
|
|
|
| private:
|
| // Shell implementation:
|
| - void ConnectToApplication(URLRequestPtr app_request,
|
| - InterfaceRequest<ServiceProvider> services,
|
| - ServiceProviderPtr exposed_services,
|
| - CapabilityFilterPtr filter) override;
|
| + void ConnectToApplication(
|
| + URLRequestPtr app_request,
|
| + InterfaceRequest<ServiceProvider> services,
|
| + ServiceProviderPtr exposed_services,
|
| + CapabilityFilterPtr filter,
|
| + const ConnectToApplicationCallback& callback) override;
|
| void QuitApplication() override;
|
|
|
| void CallAcceptConnection(ApplicationInstance* originator,
|
| @@ -77,6 +90,7 @@ class ApplicationInstance : public Shell {
|
| InterfaceRequest<ServiceProvider> services;
|
| ServiceProviderPtr exposed_services;
|
| CapabilityFilter filter;
|
| + ConnectToApplicationCallback connect_callback;
|
| };
|
|
|
| ApplicationManager* const manager_;
|
| @@ -84,6 +98,7 @@ class ApplicationInstance : public Shell {
|
| const Identity identity_;
|
| const CapabilityFilter filter_;
|
| const bool allow_any_application_;
|
| + uint32_t requesting_content_handler_id_;
|
| base::Closure on_application_end_;
|
| ApplicationPtr application_;
|
| Binding<Shell> binding_;
|
|
|