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: 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