Upstream version 7.35.144.0
[platform/framework/web/crosswalk.git] / src / apps / shell / browser / shell_apps_client.h
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.
4
5 #ifndef APPS_SHELL_BROWSER_SHELL_APPS_CLIENT_H_
6 #define APPS_SHELL_BROWSER_SHELL_APPS_CLIENT_H_
7
8 #include "apps/apps_client.h"
9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h"
11
12 namespace content {
13 class BrowserContext;
14 }
15
16 namespace apps {
17
18 // The implementation of AppsClient for app_shell.
19 class ShellAppsClient : public AppsClient {
20  public:
21   // For app_shell only a single browser context is supported.
22   explicit ShellAppsClient(content::BrowserContext* browser_context);
23   virtual ~ShellAppsClient();
24
25  private:
26   // apps::AppsClient implementation:
27   virtual std::vector<content::BrowserContext*> GetLoadedBrowserContexts()
28       OVERRIDE;
29   virtual bool CheckAppLaunch(content::BrowserContext* context,
30                               const extensions::Extension* extension) OVERRIDE;
31   virtual AppWindow* CreateAppWindow(content::BrowserContext* context,
32                                      const extensions::Extension* extension)
33       OVERRIDE;
34   virtual void IncrementKeepAliveCount() OVERRIDE;
35   virtual void DecrementKeepAliveCount() OVERRIDE;
36
37   content::BrowserContext* browser_context_;
38
39   DISALLOW_COPY_AND_ASSIGN(ShellAppsClient);
40 };
41
42 }  // namespace apps
43
44 #endif  // APPS_SHELL_BROWSER_SHELL_APPS_CLIENT_H_