| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chrome_browser_main.h" | 5 #include "chrome/browser/chrome_browser_main.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 782 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 793 | 793 |
| 794 // This will be called after the command-line has been mutated by about:flags | 794 // This will be called after the command-line has been mutated by about:flags |
| 795 void ChromeBrowserMainParts::SetupMetricsAndFieldTrials() { | 795 void ChromeBrowserMainParts::SetupMetricsAndFieldTrials() { |
| 796 TRACE_EVENT0("startup", "ChromeBrowserMainParts::SetupMetricsAndFieldTrials"); | 796 TRACE_EVENT0("startup", "ChromeBrowserMainParts::SetupMetricsAndFieldTrials"); |
| 797 // Must initialize metrics after labs have been converted into switches, | 797 // Must initialize metrics after labs have been converted into switches, |
| 798 // but before field trials are set up (so that client ID is available for | 798 // but before field trials are set up (so that client ID is available for |
| 799 // one-time randomized field trials). | 799 // one-time randomized field trials). |
| 800 | 800 |
| 801 // Initialize FieldTrialList to support FieldTrials that use one-time | 801 // Initialize FieldTrialList to support FieldTrials that use one-time |
| 802 // randomization. | 802 // randomization. |
| 803 metrics::MetricsService* metrics = browser_process_->metrics_service(); | |
| 804 | |
| 805 DCHECK(!field_trial_list_); | 803 DCHECK(!field_trial_list_); |
| 806 field_trial_list_.reset( | 804 field_trial_list_.reset( |
| 807 new base::FieldTrialList(metrics->CreateEntropyProvider().release())); | 805 new base::FieldTrialList(browser_process_->GetMetricsServicesManager() |
| 806 ->CreateEntropyProvider() |
| 807 .release())); |
| 808 | 808 |
| 809 const base::CommandLine* command_line = | 809 const base::CommandLine* command_line = |
| 810 base::CommandLine::ForCurrentProcess(); | 810 base::CommandLine::ForCurrentProcess(); |
| 811 if (command_line->HasSwitch(switches::kEnableBenchmarking) || | 811 if (command_line->HasSwitch(switches::kEnableBenchmarking) || |
| 812 command_line->HasSwitch(cc::switches::kEnableGpuBenchmarking)) { | 812 command_line->HasSwitch(cc::switches::kEnableGpuBenchmarking)) { |
| 813 base::FieldTrial::EnableBenchmarking(); | 813 base::FieldTrial::EnableBenchmarking(); |
| 814 } | 814 } |
| 815 | 815 |
| 816 if (command_line->HasSwitch(switches::kForceFieldTrialParams)) { | 816 if (command_line->HasSwitch(switches::kForceFieldTrialParams)) { |
| 817 bool result = chrome_variations::AssociateParamsFromString( | 817 bool result = chrome_variations::AssociateParamsFromString( |
| (...skipping 20 matching lines...) Expand all Loading... |
| 838 | 838 |
| 839 std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList); | 839 std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList); |
| 840 | 840 |
| 841 // Associate parameters chosen in about:flags and create trial/group for them. | 841 // Associate parameters chosen in about:flags and create trial/group for them. |
| 842 flags_ui::PrefServiceFlagsStorage flags_storage( | 842 flags_ui::PrefServiceFlagsStorage flags_storage( |
| 843 g_browser_process->local_state()); | 843 g_browser_process->local_state()); |
| 844 std::vector<std::string> variation_ids = | 844 std::vector<std::string> variation_ids = |
| 845 about_flags::RegisterAllFeatureVariationParameters( | 845 about_flags::RegisterAllFeatureVariationParameters( |
| 846 &flags_storage, feature_list.get()); | 846 &flags_storage, feature_list.get()); |
| 847 | 847 |
| 848 metrics::MetricsService* metrics = browser_process_->metrics_service(); |
| 848 variations::VariationsHttpHeaderProvider* http_header_provider = | 849 variations::VariationsHttpHeaderProvider* http_header_provider = |
| 849 variations::VariationsHttpHeaderProvider::GetInstance(); | 850 variations::VariationsHttpHeaderProvider::GetInstance(); |
| 850 // Force the variation ids selected in chrome://flags and/or specified using | 851 // Force the variation ids selected in chrome://flags and/or specified using |
| 851 // the command-line flag. | 852 // the command-line flag. |
| 852 bool result = http_header_provider->ForceVariationIds( | 853 bool result = http_header_provider->ForceVariationIds( |
| 853 command_line->GetSwitchValueASCII(switches::kForceVariationIds), | 854 command_line->GetSwitchValueASCII(switches::kForceVariationIds), |
| 854 &variation_ids); | 855 &variation_ids); |
| 855 CHECK(result) << "Invalid list of variation ids specified (either in --" | 856 CHECK(result) << "Invalid list of variation ids specified (either in --" |
| 856 << switches::kForceVariationIds << " or in chrome://flags)"; | 857 << switches::kForceVariationIds << " or in chrome://flags)"; |
| 857 metrics->AddSyntheticTrialObserver(http_header_provider); | 858 metrics->AddSyntheticTrialObserver(http_header_provider); |
| (...skipping 1349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2207 chromeos::CrosSettings::Shutdown(); | 2208 chromeos::CrosSettings::Shutdown(); |
| 2208 #endif // defined(OS_CHROMEOS) | 2209 #endif // defined(OS_CHROMEOS) |
| 2209 #endif // defined(OS_ANDROID) | 2210 #endif // defined(OS_ANDROID) |
| 2210 } | 2211 } |
| 2211 | 2212 |
| 2212 // Public members: | 2213 // Public members: |
| 2213 | 2214 |
| 2214 void ChromeBrowserMainParts::AddParts(ChromeBrowserMainExtraParts* parts) { | 2215 void ChromeBrowserMainParts::AddParts(ChromeBrowserMainExtraParts* parts) { |
| 2215 chrome_extra_parts_.push_back(parts); | 2216 chrome_extra_parts_.push_back(parts); |
| 2216 } | 2217 } |
| OLD | NEW |