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

Unified Diff: mojo/shell/application_manager.h

Issue 1311353005: Adds a way to determine id of content handler that created app (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nuke comment Created 5 years, 4 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/shell/application_instance.cc ('k') | mojo/shell/application_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/shell/application_manager.h
diff --git a/mojo/shell/application_manager.h b/mojo/shell/application_manager.h
index 76b5482be3dc9d1507f6d54f38bf13ce457b6264..cab1168aa0b407c36f387c9e744ed9af7bd926e4 100644
--- a/mojo/shell/application_manager.h
+++ b/mojo/shell/application_manager.h
@@ -13,6 +13,7 @@
#include "base/memory/weak_ptr.h"
#include "mojo/application/public/interfaces/application.mojom.h"
#include "mojo/application/public/interfaces/service_provider.mojom.h"
+#include "mojo/application/public/interfaces/shell.mojom.h"
#include "mojo/public/cpp/bindings/interface_ptr_info.h"
#include "mojo/public/cpp/bindings/interface_request.h"
#include "mojo/services/network/public/interfaces/network_service.mojom.h"
@@ -82,14 +83,16 @@ class ApplicationManager {
// |originator| can be NULL (e.g. for the first application or in tests), but
// typically is non-NULL and identifies the instance initiating the
// connection.
- void ConnectToApplication(ApplicationInstance* originator,
- URLRequestPtr requested_url,
- const std::string& qualifier,
- const GURL& requestor_url,
- InterfaceRequest<ServiceProvider> services,
- ServiceProviderPtr exposed_services,
- const CapabilityFilter& capability_filter,
- const base::Closure& on_application_end);
+ void ConnectToApplication(
+ ApplicationInstance* originator,
+ URLRequestPtr requested_url,
+ const std::string& qualifier,
+ const GURL& requestor_url,
+ InterfaceRequest<ServiceProvider> services,
+ ServiceProviderPtr exposed_services,
+ const CapabilityFilter& capability_filter,
+ const base::Closure& on_application_end,
+ const Shell::ConnectToApplicationCallback& connect_callback);
// Must only be used by shell internals and test code as it does not forward
// capability filters.
@@ -167,13 +170,15 @@ class ApplicationManager {
using URLToLoaderMap = std::map<GURL, ApplicationLoader*>;
using URLToNativeOptionsMap = std::map<GURL, NativeRunnerFactory::Options>;
- bool ConnectToRunningApplication(ApplicationInstance* originator,
- const GURL& resolved_url,
- const std::string& qualifier,
- const GURL& requestor_url,
- InterfaceRequest<ServiceProvider>* services,
- ServiceProviderPtr* exposed_services,
- const CapabilityFilter& filter);
+ bool ConnectToRunningApplication(
+ ApplicationInstance* originator,
+ const GURL& resolved_url,
+ const std::string& qualifier,
+ const GURL& requestor_url,
+ InterfaceRequest<ServiceProvider>* services,
+ ServiceProviderPtr* exposed_services,
+ const CapabilityFilter& filter,
+ const Shell::ConnectToApplicationCallback& connect_callback);
bool ConnectToApplicationWithLoader(
ApplicationInstance* originator,
@@ -185,6 +190,7 @@ class ApplicationManager {
ServiceProviderPtr* exposed_services,
const CapabilityFilter& filter,
const base::Closure& on_application_end,
+ const Shell::ConnectToApplicationCallback& connect_callback,
ApplicationLoader* loader);
InterfaceRequest<Application> RegisterInstance(
@@ -195,20 +201,24 @@ class ApplicationManager {
InterfaceRequest<ServiceProvider> services,
ServiceProviderPtr exposed_services,
const CapabilityFilter& filter,
- const base::Closure& on_application_end);
+ const base::Closure& on_application_end,
+ const Shell::ConnectToApplicationCallback& connect_callback,
+ ApplicationInstance** resulting_instance);
// Called once |fetcher| has found app. |requested_url| is the url of the
// requested application before any mappings/resolution have been applied.
- void HandleFetchCallback(ApplicationInstance* originator,
- const GURL& requested_url,
- const std::string& qualifier,
- const GURL& requestor_url,
- InterfaceRequest<ServiceProvider> services,
- ServiceProviderPtr exposed_services,
- const CapabilityFilter& filter,
- const base::Closure& on_application_end,
- NativeApplicationCleanup cleanup,
- scoped_ptr<Fetcher> fetcher);
+ void HandleFetchCallback(
+ ApplicationInstance* originator,
+ const GURL& requested_url,
+ const std::string& qualifier,
+ const GURL& requestor_url,
+ InterfaceRequest<ServiceProvider> services,
+ ServiceProviderPtr exposed_services,
+ const CapabilityFilter& filter,
+ const base::Closure& on_application_end,
+ const Shell::ConnectToApplicationCallback& connect_callback,
+ NativeApplicationCleanup cleanup,
+ scoped_ptr<Fetcher> fetcher);
void RunNativeApplication(InterfaceRequest<Application> application_request,
bool start_sandboxed,
@@ -218,13 +228,16 @@ class ApplicationManager {
const base::FilePath& file_path,
bool path_exists);
- void LoadWithContentHandler(ApplicationInstance* originator,
- const GURL& content_handler_url,
- const GURL& requestor_url,
- const std::string& qualifier,
- const CapabilityFilter& filter,
- InterfaceRequest<Application> application_request,
- URLResponsePtr url_response);
+ void LoadWithContentHandler(
+ ApplicationInstance* originator,
+ const GURL& content_handler_url,
+ const GURL& requestor_url,
+ const std::string& qualifier,
+ const CapabilityFilter& filter,
+ const Shell::ConnectToApplicationCallback& connect_callback,
+ ApplicationInstance* app,
+ InterfaceRequest<Application> application_request,
+ URLResponsePtr url_response);
// Returns the appropriate loader for |url|, or null if there is no loader
// configured for the URL.
@@ -257,11 +270,15 @@ class ApplicationManager {
MimeTypeToURLMap mime_type_to_url_;
ScopedVector<NativeRunner> native_runners_;
bool disable_cache_;
+ // Counter used to assign ids to content_handlers.
+ uint32_t content_handler_id_counter_;
base::WeakPtrFactory<ApplicationManager> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(ApplicationManager);
};
+Shell::ConnectToApplicationCallback EmptyConnectCallback();
+
} // namespace shell
} // namespace mojo
« no previous file with comments | « mojo/shell/application_instance.cc ('k') | mojo/shell/application_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698