| Index: chrome/browser/chrome_browser_main.h
|
| diff --git a/chrome/browser/chrome_browser_main.h b/chrome/browser/chrome_browser_main.h
|
| index 867b14cb0f49f90f34bf76ce44a8fc9de6f3b89f..806af879149893c696445ecb0d2a27e8762ab735 100644
|
| --- a/chrome/browser/chrome_browser_main.h
|
| +++ b/chrome/browser/chrome_browser_main.h
|
| @@ -9,6 +9,7 @@
|
| #include "base/basictypes.h"
|
| #include "base/gtest_prod_util.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "base/memory/scoped_vector.h"
|
| #include "base/metrics/field_trial.h"
|
| #include "base/tracked_objects.h"
|
| #include "chrome/browser/first_run/first_run.h"
|
| @@ -17,6 +18,7 @@
|
|
|
| class BrowserInit;
|
| class BrowserProcessImpl;
|
| +class ChromeBrowserMainExtraParts;
|
| class FieldTrialSynchronizer;
|
| class HistogramSynchronizer;
|
| class MetricsService;
|
| @@ -43,23 +45,14 @@ class ChromeBrowserMainParts : public content::BrowserMainParts {
|
| public:
|
| virtual ~ChromeBrowserMainParts();
|
|
|
| - // Constructs metrics service and does related initialization, including
|
| - // creation of field trials. Call only after labs have been converted to
|
| - // switches.
|
| - MetricsService* SetupMetricsAndFieldTrials(PrefService* local_state);
|
| -
|
| - const content::MainFunctionParams& parameters() const {
|
| - return parameters_;
|
| - }
|
| - const CommandLine& parsed_command_line() const {
|
| - return parsed_command_line_;
|
| - }
|
| + // Add additional ChromeBrowserMainExtraParts.
|
| + virtual void AddParts(ChromeBrowserMainExtraParts* parts);
|
|
|
| protected:
|
| explicit ChromeBrowserMainParts(
|
| const content::MainFunctionParams& parameters);
|
|
|
| - // content::BrowserParts overrides
|
| + // content::BrowserMainParts overrides.
|
| virtual void PreEarlyInitialization() OVERRIDE;
|
| virtual void PostEarlyInitialization() OVERRIDE;
|
| virtual void ToolkitInitialized() OVERRIDE;
|
| @@ -72,6 +65,15 @@ class ChromeBrowserMainParts : public content::BrowserMainParts {
|
| // Displays a warning message that we can't find any locale data files.
|
| virtual void ShowMissingLocaleMessageBox() = 0;
|
|
|
| + const content::MainFunctionParams& parameters() const {
|
| + return parameters_;
|
| + }
|
| + const CommandLine& parsed_command_line() const {
|
| + return parsed_command_line_;
|
| + }
|
| +
|
| + Profile* profile() { return profile_; }
|
| +
|
| private:
|
| // Methods for |EarlyInitialization()| ---------------------------------------
|
|
|
| @@ -104,6 +106,11 @@ class ChromeBrowserMainParts : public content::BrowserMainParts {
|
|
|
| // Methods for |SetupMetricsAndFieldTrials()| --------------------------------
|
|
|
| + // Constructs metrics service and does related initialization, including
|
| + // creation of field trials. Call only after labs have been converted to
|
| + // switches.
|
| + MetricsService* SetupMetricsAndFieldTrials(PrefService* local_state);
|
| +
|
| static MetricsService* InitializeMetrics(
|
| const CommandLine& parsed_command_line,
|
| const PrefService* local_state);
|
| @@ -115,7 +122,6 @@ class ChromeBrowserMainParts : public content::BrowserMainParts {
|
| // Methods for Main Message Loop -------------------------------------------
|
|
|
| int PreMainMessageLoopRunImpl();
|
| - void StartBrowserOrUITask();
|
|
|
| // Members initialized on construction ---------------------------------------
|
|
|
| @@ -137,6 +143,10 @@ class ChromeBrowserMainParts : public content::BrowserMainParts {
|
| // SetupMetricsAndFieldTrials is called.
|
| scoped_ptr<base::FieldTrialList> field_trial_list_;
|
|
|
| + // Vector of additional ChromeBrowserMainExtraParts.
|
| + // Parts are deleted in the inverse order they are added.
|
| + std::vector<ChromeBrowserMainExtraParts*> chrome_extra_parts_;
|
| +
|
| // Members initialized after / released before main_message_loop_ ------------
|
|
|
| scoped_ptr<BrowserInit> browser_init_;
|
|
|