Chromium Code Reviews| Index: content/browser/browser_main.h |
| diff --git a/content/browser/browser_main.h b/content/browser/browser_main.h |
| index ec1121fec7792995fe79384a59175f05a2606dfa..a87c81ede223bb84b25a453e09eaa3e911b61dbc 100644 |
| --- a/content/browser/browser_main.h |
| +++ b/content/browser/browser_main.h |
| @@ -6,8 +6,9 @@ |
| #define CONTENT_BROWSER_BROWSER_MAIN_H_ |
| #pragma once |
| +#include <vector> |
|
jam
2011/10/24 19:36:00
nit: not needed, also most of the forward declares
stevenjb
2011/10/25 02:51:04
Done.
|
| + |
| #include "base/basictypes.h" |
| -#include "base/memory/scoped_ptr.h" |
| #include "content/common/content_export.h" |
| class BrowserThread; |
| @@ -26,105 +27,6 @@ class NetworkChangeNotifier; |
| namespace content { |
| -// BrowserMainParts: |
| -// This class contains different "stages" to be executed in |BrowserMain()|, |
|
jam
2011/10/24 19:36:00
this is a lot of nice comments, why remove it all?
stevenjb
2011/10/25 02:51:04
This got moved into browser_main.cc, but should ha
|
| -// mostly initialization. This is made into a class rather than just functions |
| -// so each stage can create and maintain state. Each part is represented by a |
| -// single method (e.g., "EarlyInitialization()"), which does the following: |
| -// - calls a method (e.g., "PreEarlyInitialization()") which individual |
| -// platforms can override to provide platform-specific code which is to be |
| -// executed before the common code; |
| -// - calls various methods for things common to all platforms (for that given |
| -// stage); and |
| -// - calls a method (e.g., "PostEarlyInitialization()") for platform-specific |
| -// code to be called after the common code. |
| -// As indicated above, platforms should override the default "Pre...()" and |
| -// "Post...()" methods when necessary; they need not call the superclass's |
| -// implementation (which is empty). |
| -// |
| -// Parts: |
| -// - EarlyInitialization: things which should be done as soon as possible on |
| -// program start (such as setting up signal handlers) and things to be done |
| -// at some generic time before the start of the main message loop. |
| -// - MainMessageLoopStart: things beginning with the start of the main message |
| -// loop and ending with initialization of the main thread; platform-specific |
| -// things which should be done immediately before the start of the main |
| -// message loop should go in |PreMainMessageLoopStart()|. |
| -// - (more to come) |
| -// |
| -// How to add stuff (to existing parts): |
| -// - Figure out when your new code should be executed. What must happen |
| -// before/after your code is executed? Are there performance reasons for |
| -// running your code at a particular time? Document these things! |
| -// - Split out any platform-specific bits. Please avoid #ifdefs it at all |
| -// possible. You have two choices for platform-specific code: (1) Execute it |
| -// from one of the platform-specific |Pre/Post...()| methods; do this if the |
| -// code is unique to a platform type. Or (2) execute it from one of the |
| -// "parts" (e.g., |EarlyInitialization()|) and provide platform-specific |
| -// implementations of your code (in a virtual method); do this if you need to |
| -// provide different implementations across most/all platforms. |
| -// - Unless your new code is just one or two lines, put it into a separate |
| -// method with a well-defined purpose. (Likewise, if you're adding to an |
| -// existing chunk which makes it longer than one or two lines, please move |
| -// the code out into a separate method.) |
| -class CONTENT_EXPORT BrowserMainParts { |
| - public: |
| - explicit BrowserMainParts(const MainFunctionParams& parameters); |
| - virtual ~BrowserMainParts(); |
| - |
| - // Parts to be called by |BrowserMain()|. |
| - void EarlyInitialization(); |
| - void InitializeToolkit(); |
| - void MainMessageLoopStart(); |
| - void RunMainMessageLoopParts(); |
| - |
| - int result_code() const { return result_code_; } |
| - |
| - protected: |
| - // Methods to be overridden to provide platform-specific code; these |
| - // correspond to the "parts" above. |
| - virtual void PreEarlyInitialization(); |
| - virtual void PostEarlyInitialization(); |
| - virtual void PreMainMessageLoopStart(); |
| - virtual void PostMainMessageLoopStart(); |
| - virtual void PreMainMessageLoopRun(); |
| - virtual void MainMessageLoopRun(); |
| - virtual void PostMainMessageLoopRun(); |
| - |
| - // Allows an embedder to do any extra toolkit initialization. |
| - virtual void ToolkitInitialized(); |
| - |
| - // Accessors for data members (below) ---------------------------------------- |
| - const MainFunctionParams& parameters() const { |
| - return parameters_; |
| - } |
| - const CommandLine& parsed_command_line() const { |
| - return parsed_command_line_; |
| - } |
| - MessageLoop& main_message_loop() const { |
| - return *main_message_loop_; |
| - } |
| - void set_result_code(int result_code) { result_code_ = result_code; } |
| - |
| - private: |
| - void InitializeMainThread(); |
| - |
| - // Members initialized on construction --------------------------------------- |
| - |
| - const MainFunctionParams& parameters_; |
| - const CommandLine& parsed_command_line_; |
| - int result_code_; |
| - |
| - // Members initialized in |MainMessageLoopStart()| --------------------------- |
| - scoped_ptr<MessageLoop> main_message_loop_; |
| - scoped_ptr<base::SystemMonitor> system_monitor_; |
| - scoped_ptr<HighResolutionTimerManager> hi_res_timer_manager_; |
| - scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_; |
| - scoped_ptr<BrowserThread> main_thread_; |
| - |
| - DISALLOW_COPY_AND_ASSIGN(BrowserMainParts); |
| -}; |
| - |
| bool ExitedMainMessageLoop(); |
| } // namespace content |
| @@ -132,3 +34,8 @@ bool ExitedMainMessageLoop(); |
| CONTENT_EXPORT int BrowserMain(const MainFunctionParams& parameters); |
| #endif // CONTENT_BROWSER_BROWSER_MAIN_H_ |
| + |
| +// LocalWords: BrowserMain BrowserMainLoop BrowserParts MainMessageLoopRun |
|
jam
2011/10/24 19:36:00
?
stevenjb
2011/10/25 02:51:04
wtf? maybe got added when I spellchecked the comme
|
| +// LocalWords: AddParts EarlyInitialization PreEarlyInitialization Pre Gtk |
| +// LocalWords: PostEarlyInitialization superclass's MainMessageLoopStart |
| +// LocalWords: PreMainMessageLoopStart RunMainMessageLoopParts ifdefs |