| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_MAIN_DELEGATE_H_ |
| #define EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_MAIN_DELEGATE_H_ |
| |
| namespace content { |
| class BrowserContext; |
| } |
| |
| namespace extensions { |
| |
| class DesktopController; |
| |
| class ShellBrowserMainDelegate { |
| public: |
| virtual ~ShellBrowserMainDelegate() {} |
| |
| // Called to start an application after all initialization processes that are |
| // necesary to run apps are completed. |
| virtual void Start(content::BrowserContext* context) = 0; |
| |
| // Called after the main message looop has stopped, but before |
| // other services such as BrowserContext / extension system are shut down. |
| virtual void Shutdown() = 0; |
| |
| // Creates the ShellDesktopControllerAura instance to initialize the root |
| // window and window manager. Subclass may return its subclass to customize |
| // the window manager. |
| virtual DesktopController* CreateDesktopController() = 0; |
| }; |
| |
| } // namespace extensions |
| |
| #endif // EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_MAIN_DELEGATE_H_ |