diff options
-rw-r--r-- | chrome/browser/chrome_browser_main.cc | 12 | ||||
-rw-r--r-- | chrome/browser/chrome_browser_main.h | 6 | ||||
-rw-r--r-- | chrome/browser/chromeos/chrome_browser_main_chromeos.cc | 13 | ||||
-rw-r--r-- | chrome/browser/chromeos/chrome_browser_main_chromeos.h | 5 |
4 files changed, 20 insertions, 16 deletions
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc index 54f308b..1eaac21 100644 --- a/chrome/browser/chrome_browser_main.cc +++ b/chrome/browser/chrome_browser_main.cc @@ -583,10 +583,11 @@ void ChromeBrowserMainParts::SetupMetricsAndFieldTrials() { browser_process_->variations_service(); variations_service->CreateTrialsFromSeed(browser_process_->local_state()); - SetupFieldTrials(metrics->recording_active(), - local_state_->IsManagedPreference( + SetupFieldTrials(local_state_->IsManagedPreference( prefs::kMaxConnectionsPerProxy)); + SetupPlatformFieldTrials(); + // Initialize FieldTrialSynchronizer system. This is a singleton and is used // for posting tasks via base::Bind. Its deleted when it goes out of scope. // Even though base::Bind does AddRef and Release, the object will not be @@ -1075,8 +1076,7 @@ void ChromeBrowserMainParts::DisableNewTabFieldTrialIfNecesssary() { // ChromeBrowserMainParts: |SetupMetricsAndFieldTrials()| related -------------- -void ChromeBrowserMainParts::SetupFieldTrials(bool metrics_recording_enabled, - bool proxy_policy_is_set) { +void ChromeBrowserMainParts::SetupFieldTrials(bool proxy_policy_is_set) { // Note: make sure to call ConnectionFieldTrial() before // ProxyConnectionsFieldTrial(). ConnectionFieldTrial(); @@ -1456,6 +1456,10 @@ void ChromeBrowserMainParts::RunPageCycler() { page_cycler->Run(); } +void ChromeBrowserMainParts::SetupPlatformFieldTrials() { + // Base class implementation of this does nothing. +} + int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { // Now that the file thread has been started, start recording. StartMetricsRecording(); diff --git a/chrome/browser/chrome_browser_main.h b/chrome/browser/chrome_browser_main.h index 84d1b38..f7002a4 100644 --- a/chrome/browser/chrome_browser_main.h +++ b/chrome/browser/chrome_browser_main.h @@ -81,6 +81,9 @@ class ChromeBrowserMainParts : public content::BrowserMainParts { // Runs the PageCycler; called if the switch kVisitURLs is present. virtual void RunPageCycler(); + // Override this in subclasses to initialize platform specific field trials. + virtual void SetupPlatformFieldTrials(); + // Displays a warning message that we can't find any locale data files. virtual void ShowMissingLocaleMessageBox() = 0; @@ -144,8 +147,7 @@ class ChromeBrowserMainParts : public content::BrowserMainParts { void SetupMetricsAndFieldTrials(); // Add an invocation of your field trial init function to this method. - void SetupFieldTrials(bool metrics_recording_enabled, - bool proxy_policy_is_set); + void SetupFieldTrials(bool proxy_policy_is_set); // Starts recording of metrics. This can only be called after we have a file // thread. diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc index 9734a30..04b51e3 100644 --- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc +++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc @@ -292,13 +292,6 @@ void ChromeBrowserMainPartsChromeos::PostMainMessageLoopStart() { ChromeBrowserMainPartsLinux::PostMainMessageLoopStart(); } -int ChromeBrowserMainPartsChromeos::PreCreateThreads() { - // Set up field trial for low memory headroom settings. - SetupLowMemoryHeadroomFieldTrial(); - - return ChromeBrowserMainPartsLinux::PreCreateThreads(); -} - // Threads are initialized MainMessageLoopStart and MainMessageLoopRun. void ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() { @@ -518,6 +511,10 @@ void ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() { ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); } +void ChromeBrowserMainPartsChromeos::SetupPlatformFieldTrials() { + SetupLowMemoryHeadroomFieldTrial(); +} + void ChromeBrowserMainPartsChromeos::SetupLowMemoryHeadroomFieldTrial() { chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); // Only enable this experiment on Canary and Dev, since it's possible @@ -533,7 +530,7 @@ void ChromeBrowserMainPartsChromeos::SetupLowMemoryHeadroomFieldTrial() { const base::FieldTrial::Probability kEnableProbability = 1; scoped_refptr<base::FieldTrial> trial = base::FieldTrialList::FactoryGetFieldTrial( - "LowMemoryMargin", kDivisor, "default", 2012, 6, 30, NULL); + "LowMemoryMargin", kDivisor, "default", 2012, 7, 30, NULL); int disable = trial->AppendGroup("off", kEnableProbability); int margin_0mb = trial->AppendGroup("0mb", kEnableProbability); int margin_25mb = trial->AppendGroup("25mb", kEnableProbability); diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.h b/chrome/browser/chromeos/chrome_browser_main_chromeos.h index f924966..726100e 100644 --- a/chrome/browser/chromeos/chrome_browser_main_chromeos.h +++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.h @@ -35,7 +35,6 @@ class ChromeBrowserMainPartsChromeos : public ChromeBrowserMainPartsLinux { virtual void PreEarlyInitialization() OVERRIDE; virtual void PreMainMessageLoopStart() OVERRIDE; virtual void PostMainMessageLoopStart() OVERRIDE; - virtual int PreCreateThreads() OVERRIDE; virtual void PreMainMessageLoopRun() OVERRIDE; // Stages called from PreMainMessageLoopRun. @@ -46,10 +45,12 @@ class ChromeBrowserMainPartsChromeos : public ChromeBrowserMainPartsLinux { virtual void PostMainMessageLoopRun() OVERRIDE; + virtual void SetupPlatformFieldTrials() OVERRIDE; + + private: // Set up field trial for low memory headroom settings. void SetupLowMemoryHeadroomFieldTrial(); - private: scoped_ptr<chromeos::BrightnessObserver> brightness_observer_; scoped_ptr<chromeos::OutputObserver> output_observer_; scoped_ptr<chromeos::ResumeObserver> resume_observer_; |