diff options
author | stevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-21 19:13:31 +0000 |
---|---|---|
committer | stevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-21 19:13:31 +0000 |
commit | 50462bf085b6504b0fe0d947664348870b0f26c7 (patch) | |
tree | 94474e4a310b97410ef4a449edd7d31d8d629abc /chrome/browser/chrome_browser_main_extra_parts.h | |
parent | 3a08f3fcd05e5f4b703b043ee1a7ff48cc4c86f4 (diff) | |
download | chromium_src-50462bf085b6504b0fe0d947664348870b0f26c7.zip chromium_src-50462bf085b6504b0fe0d947664348870b0f26c7.tar.gz chromium_src-50462bf085b6504b0fe0d947664348870b0f26c7.tar.bz2 |
Add ChromeBrowserMainExtraParts for non main parts. (take 3)
This was originally submitted as http://codereview.chromium.org/8539038/ which was reverted because of a failing test on win.
This reverts the code back to a single instance of BrowserMainParts, with auxillary parts (Gtk, Views, Aura, Touch) implemented from a new base class, ChromeBrowserParts, which has a Chrome specific interface, allowing initialization to be better subdivided.
This should fix the notifications auto tests.
This CL also addresses the test failure on win (and a test failure on linux_chromeos triggered by the windows fix).
BUG=103821
TEST=Make sure all tests and autotests run
TBR=jam@chromium.org
Review URL: http://codereview.chromium.org/8480032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110972 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chrome_browser_main_extra_parts.h')
-rw-r--r-- | chrome/browser/chrome_browser_main_extra_parts.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/chrome/browser/chrome_browser_main_extra_parts.h b/chrome/browser/chrome_browser_main_extra_parts.h new file mode 100644 index 0000000..a839d44 --- /dev/null +++ b/chrome/browser/chrome_browser_main_extra_parts.h @@ -0,0 +1,44 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_ +#define CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_ + +#include "base/basictypes.h" +#include "base/compiler_specific.h" + +// Interface class for Parts owned by ChromeBrowserMainParts. +// The default implementation for all methods is empty. + +// Most of these map to content::BrowserMainParts methods. This interface is +// separate to allow stages to be further subdivided for Chrome specific +// initialization stages (e.g. browser process init, profile init). + +class ChromeBrowserMainExtraParts { + public: + ChromeBrowserMainExtraParts(); + virtual ~ChromeBrowserMainExtraParts(); + + // EarlyInitialization methods. + virtual void PreEarlyInitialization(); + virtual void PostEarlyInitialization(); + + // PreMainMessageLoopStart methods. + virtual void PreMainMessageLoopStart(); + virtual void PostMainMessageLoopStart(); + + // ToolkitInitialized methods. + virtual void ToolkitInitialized(); + + // MainMessageLoopRun methods. + virtual void PostBrowserProcessInit(); + virtual void PostProfileInitialized(); + virtual void PreMainMessageLoopRun(); + virtual void PostMainMessageLoopRun(); + + private: + DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainExtraParts); +}; + +#endif // CHROME_BROWSER_CHROME_BROWSER_MAIN_EXTRA_PARTS_H_ |