blob: 07673ab943407580de6d519228c5ea7cdefa3583 [file] [log] [blame]
[email protected]50462bf02011-11-21 19:13:311// 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:
[email protected]5c760042012-05-30 20:52:5220 virtual ~ChromeBrowserMainExtraParts() {}
[email protected]50462bf02011-11-21 19:13:3121
22 // EarlyInitialization methods.
[email protected]5c760042012-05-30 20:52:5223 virtual void PreEarlyInitialization() {}
24 virtual void PostEarlyInitialization() {}
[email protected]50462bf02011-11-21 19:13:3125
[email protected]50462bf02011-11-21 19:13:3126 // ToolkitInitialized methods.
[email protected]5c760042012-05-30 20:52:5227 virtual void ToolkitInitialized() {}
[email protected]50462bf02011-11-21 19:13:3128
[email protected]2167cd62011-11-30 21:20:2129 // MainMessageLoopStart methods.
[email protected]5c760042012-05-30 20:52:5230 virtual void PreMainMessageLoopStart() {}
31 virtual void PostMainMessageLoopStart() {}
[email protected]2167cd62011-11-30 21:20:2132
[email protected]50462bf02011-11-21 19:13:3133 // MainMessageLoopRun methods.
[email protected]5c760042012-05-30 20:52:5234 virtual void PreProfileInit() {}
35 virtual void PostProfileInit() {}
36 virtual void PreBrowserStart() {}
37 virtual void PostBrowserStart() {}
38 virtual void PreMainMessageLoopRun() {}
39 virtual void PostMainMessageLoopRun() {}
[email protected]50462bf02011-11-21 19:13:3140};
41
42#endif // CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_