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..b2be37f02f103b6ebafe063bada053d6bd72890d 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,9 @@ class ChromeBrowserMainParts : public content::BrowserMainParts { |
// SetupMetricsAndFieldTrials is called. |
scoped_ptr<base::FieldTrialList> field_trial_list_; |
+ // Vector of additional ChromeBrowserMainExtraParts. |
+ ScopedVector<ChromeBrowserMainExtraParts> chrome_extra_parts_; |
+ |
// Members initialized after / released before main_message_loop_ ------------ |
scoped_ptr<BrowserInit> browser_init_; |