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 EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_MAIN_DELEGATE_H_
6 #define EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_MAIN_DELEGATE_H_
12 namespace extensions {
14 class DesktopController;
16 class ShellBrowserMainDelegate {
18 virtual ~ShellBrowserMainDelegate() {}
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;
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;
28 // Creates the ShellDesktopController instance to initialize the root window
29 // and window manager. Subclass may return its subclass to customize the
31 virtual DesktopController* CreateDesktopController() = 0;
34 } // namespace extensions
36 #endif // EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_MAIN_DELEGATE_H_