Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / extensions / shell / browser / shell_browser_main_delegate.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 EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_MAIN_DELEGATE_H_
6 #define EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_MAIN_DELEGATE_H_
7
8 namespace content {
9 class BrowserContext;
10 }
11
12 namespace extensions {
13
14 class DesktopController;
15
16 class ShellBrowserMainDelegate {
17  public:
18   virtual ~ShellBrowserMainDelegate() {}
19
20   // Called to start an application after all initialization processes that are
21   // necesary to run apps are completed.
22   virtual void Start(content::BrowserContext* context) = 0;
23
24   // Called after the main message looop has stopped, but before
25   // other services such as BrowserContext / extension system are shut down.
26   virtual void Shutdown() = 0;
27
28   // Creates the ShellDesktopController instance to initialize the root window
29   // and window manager. Subclass may return its subclass to customize the
30   // windo manager.
31   virtual DesktopController* CreateDesktopController() = 0;
32 };
33
34 }  // namespace extensions
35
36 #endif  // EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_MAIN_DELEGATE_H_