Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(297)

Side by Side Diff: chrome/browser/chrome_browser_main.cc

Issue 153913009: Make some field trials unforceable via command-line in the official build. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 1 param per line Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « base/metrics/field_trial_unittest.cc ('k') | content/renderer/renderer_main.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #if defined(TOOLKIT_GTK) 7 #if defined(TOOLKIT_GTK)
8 #include <gtk/gtk.h> 8 #include <gtk/gtk.h>
9 #endif 9 #endif
10 10
11 #include <set>
11 #include <string> 12 #include <string>
12 #include <vector> 13 #include <vector>
13 14
14 #include "base/at_exit.h" 15 #include "base/at_exit.h"
15 #include "base/bind.h" 16 #include "base/bind.h"
16 #include "base/command_line.h" 17 #include "base/command_line.h"
17 #include "base/debug/crash_logging.h" 18 #include "base/debug/crash_logging.h"
18 #include "base/debug/debugger.h" 19 #include "base/debug/debugger.h"
19 #include "base/debug/trace_event.h" 20 #include "base/debug/trace_event.h"
20 #include "base/file_util.h" 21 #include "base/file_util.h"
(...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 void InitializeAllPrefHashStores() { 512 void InitializeAllPrefHashStores() {
512 ProfileInfoCache& profile_info_cache = 513 ProfileInfoCache& profile_info_cache =
513 g_browser_process->profile_manager()->GetProfileInfoCache(); 514 g_browser_process->profile_manager()->GetProfileInfoCache();
514 size_t n_profiles = profile_info_cache.GetNumberOfProfiles(); 515 size_t n_profiles = profile_info_cache.GetNumberOfProfiles();
515 for (size_t i = 0; i < n_profiles; ++i) { 516 for (size_t i = 0; i < n_profiles; ++i) {
516 base::FilePath profile_path = 517 base::FilePath profile_path =
517 profile_info_cache.GetPathOfProfileAtIndex(i); 518 profile_info_cache.GetPathOfProfileAtIndex(i);
518 chrome_prefs::InitializePrefHashStoreIfRequired(profile_path); 519 chrome_prefs::InitializePrefHashStoreIfRequired(profile_path);
519 } 520 }
520 } 521 }
522
521 } // namespace 523 } // namespace
522 524
523 namespace chrome_browser { 525 namespace chrome_browser {
524 526
525 // This error message is not localized because we failed to load the 527 // This error message is not localized because we failed to load the
526 // localization data files. 528 // localization data files.
527 #if defined(OS_WIN) 529 #if defined(OS_WIN)
528 const char kMissingLocaleDataTitle[] = "Missing File Error"; 530 const char kMissingLocaleDataTitle[] = "Missing File Error";
529 #endif 531 #endif
530 532
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 new base::FieldTrialList( 597 new base::FieldTrialList(
596 metrics->CreateEntropyProvider(reporting_state).release())); 598 metrics->CreateEntropyProvider(reporting_state).release()));
597 599
598 const CommandLine* command_line = CommandLine::ForCurrentProcess(); 600 const CommandLine* command_line = CommandLine::ForCurrentProcess();
599 if (command_line->HasSwitch(switches::kEnableBenchmarking)) 601 if (command_line->HasSwitch(switches::kEnableBenchmarking))
600 base::FieldTrial::EnableBenchmarking(); 602 base::FieldTrial::EnableBenchmarking();
601 603
602 // Ensure any field trials specified on the command line are initialized. 604 // Ensure any field trials specified on the command line are initialized.
603 // Also stop the metrics service so that we don't pollute UMA. 605 // Also stop the metrics service so that we don't pollute UMA.
604 if (command_line->HasSwitch(switches::kForceFieldTrials)) { 606 if (command_line->HasSwitch(switches::kForceFieldTrials)) {
607 std::set<std::string> unforceable_field_trials;
608 #if defined(OFFICIAL_BUILD)
609 unforceable_field_trials.insert("SettingsEnforcement");
610 #endif // defined(OFFICIAL_BUILD)
611
605 // Create field trials without activating them, so that this behaves in a 612 // Create field trials without activating them, so that this behaves in a
606 // consistent manner with field trials created from the server. 613 // consistent manner with field trials created from the server.
607 bool result = base::FieldTrialList::CreateTrialsFromString( 614 bool result = base::FieldTrialList::CreateTrialsFromString(
608 command_line->GetSwitchValueASCII(switches::kForceFieldTrials), 615 command_line->GetSwitchValueASCII(switches::kForceFieldTrials),
609 base::FieldTrialList::DONT_ACTIVATE_TRIALS); 616 base::FieldTrialList::DONT_ACTIVATE_TRIALS,
617 unforceable_field_trials);
610 CHECK(result) << "Invalid --" << switches::kForceFieldTrials 618 CHECK(result) << "Invalid --" << switches::kForceFieldTrials
611 << " list specified."; 619 << " list specified.";
612 } 620 }
613 if (command_line->HasSwitch(switches::kForceVariationIds)) { 621 if (command_line->HasSwitch(switches::kForceVariationIds)) {
614 // Create default variation ids which will always be included in the 622 // Create default variation ids which will always be included in the
615 // X-Client-Data request header. 623 // X-Client-Data request header.
616 chrome_variations::VariationsHttpHeaderProvider* provider = 624 chrome_variations::VariationsHttpHeaderProvider* provider =
617 chrome_variations::VariationsHttpHeaderProvider::GetInstance(); 625 chrome_variations::VariationsHttpHeaderProvider::GetInstance();
618 bool result = provider->SetDefaultVariationIds( 626 bool result = provider->SetDefaultVariationIds(
619 command_line->GetSwitchValueASCII(switches::kForceVariationIds)); 627 command_line->GetSwitchValueASCII(switches::kForceVariationIds));
(...skipping 1077 matching lines...) Expand 10 before | Expand all | Expand 10 after
1697 chromeos::CrosSettings::Shutdown(); 1705 chromeos::CrosSettings::Shutdown();
1698 #endif 1706 #endif
1699 #endif 1707 #endif
1700 } 1708 }
1701 1709
1702 // Public members: 1710 // Public members:
1703 1711
1704 void ChromeBrowserMainParts::AddParts(ChromeBrowserMainExtraParts* parts) { 1712 void ChromeBrowserMainParts::AddParts(ChromeBrowserMainExtraParts* parts) {
1705 chrome_extra_parts_.push_back(parts); 1713 chrome_extra_parts_.push_back(parts);
1706 } 1714 }
OLDNEW
« no previous file with comments | « base/metrics/field_trial_unittest.cc ('k') | content/renderer/renderer_main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698