chrome_browser_main_extra_parts.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
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#include "base/basictypes.h"
9#include "base/compiler_specific.h"
10
11// Interface class for Parts owned by ChromeBrowserMainParts.
12// The default implementation for all methods is empty.
13
14// Most of these map to content::BrowserMainParts methods. This interface is
15// separate to allow stages to be further subdivided for Chrome specific
16// initialization stages (e.g. browser process init, profile init).
17
18class ChromeBrowserMainExtraParts {
19 public:
20  virtual ~ChromeBrowserMainExtraParts() {}
21
22  // EarlyInitialization methods.
23  virtual void PreEarlyInitialization() {}
24  virtual void PostEarlyInitialization() {}
25
26  // ToolkitInitialized methods.
27  virtual void ToolkitInitialized() {}
28
29  // MainMessageLoopStart methods.
30  virtual void PreMainMessageLoopStart() {}
31  virtual void PostMainMessageLoopStart() {}
32
33  // MainMessageLoopRun methods.
34  virtual void PreProfileInit() {}
35  virtual void PostProfileInit() {}
36  virtual void PreBrowserStart() {}
37  virtual void PostBrowserStart() {}
38  virtual void PreMainMessageLoopRun() {}
39  virtual void PostMainMessageLoopRun() {}
40};
41
42#endif  // CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_
43