1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file. 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#ifndef EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_MAIN_DELEGATE_H_ 65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#define EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_MAIN_DELEGATE_H_ 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace content { 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class BrowserContext; 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)namespace extensions { 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciclass DesktopController; 1546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class ShellBrowserMainDelegate { 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public: 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual ~ShellBrowserMainDelegate() {} 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Called to start an application after all initialization processes that are 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // necesary to run apps are completed. 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void Start(content::BrowserContext* context) = 0; 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Called after the main message looop has stopped, but before 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // other services such as BrowserContext / extension system are shut down. 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void Shutdown() = 0; 2746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 2846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) // Creates the ShellDesktopController instance to initialize the root window 2946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) // and window manager. Subclass may return its subclass to customize the 3046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) // windo manager. 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual DesktopController* CreateDesktopController() = 0; 32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} // namespace extensions 35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#endif // EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_MAIN_DELEGATE_H_ 37