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: ~ChromeBrowserMainExtraParts()22 virtual ~ChromeBrowserMainExtraParts() {} 23 24 // EarlyInitialization methods. PreEarlyInitialization()25 virtual void PreEarlyInitialization() {} PostEarlyInitialization()26 virtual void PostEarlyInitialization() {} 27 28 // ToolkitInitialized methods. ToolkitInitialized()29 virtual void ToolkitInitialized() {} 30 31 // MainMessageLoopStart methods. PreMainMessageLoopStart()32 virtual void PreMainMessageLoopStart() {} PostMainMessageLoopStart()33 virtual void PostMainMessageLoopStart() {} 34 35 // MainMessageLoopRun methods. PreCreateThreads()36 virtual void PreCreateThreads() {} PreProfileInit()37 virtual void PreProfileInit() {} PostProfileInit()38 virtual void PostProfileInit() {} PreBrowserStart()39 virtual void PreBrowserStart() {} PostBrowserStart()40 virtual void PostBrowserStart() {} PreMainMessageLoopRun()41 virtual void PreMainMessageLoopRun() {} PostMainMessageLoopRun()42 virtual void PostMainMessageLoopRun() {} 43 }; 44 45 #endif // CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_ 46