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 /content/public | |
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 'content/public')
-rw-r--r-- | content/public/browser/browser_main_parts.h | 15 | ||||
-rw-r--r-- | content/public/browser/content_browser_client.h | 5 |
2 files changed, 7 insertions, 13 deletions
diff --git a/content/public/browser/browser_main_parts.h b/content/public/browser/browser_main_parts.h index 0bbaa83..860541c 100644 --- a/content/public/browser/browser_main_parts.h +++ b/content/public/browser/browser_main_parts.h @@ -15,9 +15,8 @@ namespace content { // Each stage is represented by a single BrowserMainParts method, called from // the corresponding method in |BrowserMainLoop| (e.g., EarlyInitialization()) // which does the following: -// - calls a method (e.g., "PreEarlyInitialization()") for each member of -// |parts_|. Parts will implement platform or tookit specific code for that -// stage. +// - calls a method (e.g., "PreEarlyInitialization()") which implements +// platform / tookit specific code for that stage. // - calls various methods for things common to all platforms (for that stage). // - calls a method (e.g., "PostEarlyInitialization()") for platform-specific // code to be called after the common code. @@ -49,9 +48,6 @@ namespace content { // existing chunk which makes it longer than one or two lines, please move // the code out into a separate method.) // -// There can be any number of "Parts". These should be constructed in -// ContentBrowserClient::CreateBrowserMainParts. Each stage will be called -// for each part in the order it was added. Destruction is in the inverse order. class CONTENT_EXPORT BrowserMainParts { public: BrowserMainParts() {} @@ -63,17 +59,16 @@ class CONTENT_EXPORT BrowserMainParts { virtual void PreMainMessageLoopStart() = 0; + virtual void PostMainMessageLoopStart() = 0; + // Allows an embedder to do any extra toolkit initialization. virtual void ToolkitInitialized() = 0; - virtual void PostMainMessageLoopStart() = 0; - virtual void PreMainMessageLoopRun() = 0; // Returns true if the message loop was run, false otherwise. + // If this returns false, the default implementation will be run. // May set |result_code|, which will be returned by |BrowserMain()|. - // If no BrowserMainParts implementations return true, the default - // implementation will be run. virtual bool MainMessageLoopRun(int* result_code) = 0; virtual void PostMainMessageLoopRun() = 0; diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h index 2a2a9f7..7d5438e 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -85,9 +85,8 @@ class ContentBrowserClient { // Allows the embedder to set any number of custom BrowserMainParts // implementations for the browser startup code. See comments in // browser_main_parts.h. - virtual void CreateBrowserMainParts( - const content::MainFunctionParams& parameters, - std::vector<BrowserMainParts*>* parts_list) = 0; + virtual BrowserMainParts* CreateBrowserMainParts( + const content::MainFunctionParams& parameters) = 0; // Platform-specific creator. Use this to construct new RenderWidgetHostViews // rather than using RenderWidgetHostViewWin & friends. |