Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / mojo / shell / application_loader.h
blobf464ab1305a5325c5b1b539e36310142fd98be8d
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef SHELL_APPLICATION_MANAGER_APPLICATION_LOADER_H_
6 #define SHELL_APPLICATION_MANAGER_APPLICATION_LOADER_H_
8 #include "base/callback.h"
9 #include "mojo/application/public/interfaces/shell.mojom.h"
10 #include "mojo/public/cpp/system/core.h"
11 #include "mojo/services/network/public/interfaces/url_loader.mojom.h"
12 #include "url/gurl.h"
14 namespace mojo {
16 class Application;
18 namespace shell {
20 class ApplicationManager;
22 // Interface to implement special application loading behavior for a particular
23 // URL or scheme.
24 class ApplicationLoader {
25 public:
26 virtual ~ApplicationLoader() {}
28 virtual void Load(const GURL& url,
29 InterfaceRequest<Application> application_request) = 0;
31 protected:
32 ApplicationLoader() {}
35 } // namespace shell
36 } // namespace mojo
38 #endif // SHELL_APPLICATION_MANAGER_APPLICATION_LOADER_H_