1 // Copyright (c) 2011 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 CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_ 6 #define CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_ 7 8 // Interface class for Parts owned by ChromeBrowserMainParts. 9 // The default implementation for all methods is empty. 10 11 // Most of these map to content::BrowserMainParts methods. This interface is 12 // separate to allow stages to be further subdivided for Chrome specific 13 // initialization stages (e.g. browser process init, profile init). 14 15 // While ChromeBrowserMainParts are platform-specific, 16 // ChromeBrowserMainExtraParts are used to do further initialization for various 17 // Chrome toolkits (e.g., GTK, VIEWS, ASH, AURA, etc.; see 18 // ChromeContentBrowserClient::CreateBrowserMainParts()). 19 20 class ChromeBrowserMainExtraParts { 21 public: 22 virtual ~ChromeBrowserMainExtraParts() {} 23 24 // EarlyInitialization methods. 25 virtual void PreEarlyInitialization() {} 26 virtual void PostEarlyInitialization() {} 27 28 // ToolkitInitialized methods. 29 virtual void ToolkitInitialized() {} 30 31 // MainMessageLoopStart methods. 32 virtual void PreMainMessageLoopStart() {} 33 virtual void PostMainMessageLoopStart() {} 34 35 // MainMessageLoopRun methods. 36 virtual void PreCreateThreads() {} 37 virtual void PreProfileInit() {} 38 virtual void PostProfileInit() {} 39 virtual void PreBrowserStart() {} 40 virtual void PostBrowserStart() {} 41 virtual void PreMainMessageLoopRun() {} 42 virtual void PostMainMessageLoopRun() {} 43 }; 44 45 #endif // CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_ 46