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.
5 #ifndef CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_
6 #define CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_
8 // Interface class for Parts owned by ChromeBrowserMainParts.
9 // The default implementation for all methods is empty.
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).
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()).
20 class ChromeBrowserMainExtraParts
{
22 virtual ~ChromeBrowserMainExtraParts() {}
24 // EarlyInitialization methods.
25 virtual void PreEarlyInitialization() {}
26 virtual void PostEarlyInitialization() {}
28 // ToolkitInitialized methods.
29 virtual void ToolkitInitialized() {}
31 // MainMessageLoopStart methods.
32 virtual void PreMainMessageLoopStart() {}
33 virtual void PostMainMessageLoopStart() {}
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() {}
45 #endif // CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_