| Index: mojo/application_manager/application_loader.h
|
| diff --git a/mojo/application_manager/application_loader.h b/mojo/application_manager/application_loader.h
|
| index f6e4e40adb3405958d7982f852d063fbefe6faa4..b90e2f89e441027cd103b05957e03b5019612144 100644
|
| --- a/mojo/application_manager/application_loader.h
|
| +++ b/mojo/application_manager/application_loader.h
|
| @@ -24,56 +24,23 @@ class ApplicationManager;
|
| // apps and services.
|
| class MOJO_APPLICATION_MANAGER_EXPORT ApplicationLoader {
|
| public:
|
| - class MOJO_APPLICATION_MANAGER_EXPORT LoadCallbacks
|
| - : public base::RefCounted<LoadCallbacks> {
|
| - public:
|
| - // Register the requested application with ApplicationManager. If the
|
| - // returned handle is valid, it should be used to implement the
|
| - // mojo::Application interface.
|
| - virtual ScopedMessagePipeHandle RegisterApplication() = 0;
|
| -
|
| - // Load the requested application with a content handler.
|
| - virtual void LoadWithContentHandler(const GURL& content_handler_url,
|
| - URLResponsePtr url_response) = 0;
|
| -
|
| - protected:
|
| - friend base::RefCounted<LoadCallbacks>;
|
| - virtual ~LoadCallbacks() {}
|
| - };
|
| -
|
| - // Implements RegisterApplication() by returning a handle that was specified
|
| - // at construction time. LoadWithContentHandler() is not supported.
|
| - class MOJO_APPLICATION_MANAGER_EXPORT SimpleLoadCallbacks
|
| - : public LoadCallbacks {
|
| - public:
|
| - SimpleLoadCallbacks(ScopedMessagePipeHandle shell_handle);
|
| - ScopedMessagePipeHandle RegisterApplication() override;
|
| - void LoadWithContentHandler(const GURL& content_handler_url,
|
| - URLResponsePtr response) override;
|
| -
|
| - private:
|
| - ScopedMessagePipeHandle shell_handle_;
|
| - ~SimpleLoadCallbacks() override;
|
| - };
|
| -
|
| + typedef base::Callback<
|
| + void(const GURL&, ScopedMessagePipeHandle, URLResponsePtr)> LoadCallback;
|
| virtual ~ApplicationLoader() {}
|
|
|
| // Load the application named |url|. Applications can be loaded two ways:
|
| //
|
| - // 1. |url| can refer directly to a Mojo application. In this case, call
|
| - // callbacks->RegisterApplication(). The returned handle should be used to
|
| - // implement the mojo.Application interface. Note that the returned handle
|
| - // can be invalid in the case where the application has already been
|
| - // loaded.
|
| + // 1. |url| can refer directly to a Mojo application. In this case,
|
| + // shell_handle should be used to implement the mojo.Application interface.
|
| //
|
| // 2. |url| can refer to some content that can be handled by some other Mojo
|
| - // application. In this case, call callbacks->LoadWithContentHandler() and
|
| - // specify the URL of the application that should handle the content.
|
| - // The specified application must implement the mojo.ContentHandler
|
| - // interface.
|
| + // application. In this case, call callbacks and specify the URL of the
|
| + // application that should handle the content. The specified application
|
| + // must implement the mojo.ContentHandler interface.
|
| virtual void Load(ApplicationManager* application_manager,
|
| const GURL& url,
|
| - scoped_refptr<LoadCallbacks> callbacks) = 0;
|
| + ScopedMessagePipeHandle shell_handle,
|
| + LoadCallback callbacks) = 0;
|
|
|
| // Called when the Application exits.
|
| virtual void OnApplicationError(ApplicationManager* manager,
|
|
|