• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_BROWSER_MAIN_DELEGATE_H_
6 #define APPS_SHELL_BROWSER_SHELL_BROWSER_MAIN_DELEGATE_H_
7 
8 namespace content {
9 class BrowserContext;
10 }
11 
12 namespace apps {
13 
14 class ShellDesktopController;
15 
16 class ShellBrowserMainDelegate {
17  public:
~ShellBrowserMainDelegate()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 ShellDesktopController* CreateDesktopController() = 0;
32 };
33 
34 }  // namespace apps
35 
36 #endif  // APPS_SHELL_BROWSER_SHELL_BROWSER_MAIN_DELEGATE_H_
37