Chromium Code Reviews| 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 #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 |
| (...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 476 chrome::HOST_DESKTOP_TYPE_NATIVE, | 476 chrome::HOST_DESKTOP_TYPE_NATIVE, |
| 477 "127.0.0.1", | 477 "127.0.0.1", |
| 478 port, | 478 port, |
| 479 frontend_str); | 479 frontend_str); |
| 480 } else { | 480 } else { |
| 481 DLOG(WARNING) << "Invalid http debugger port number " << port; | 481 DLOG(WARNING) << "Invalid http debugger port number " << port; |
| 482 } | 482 } |
| 483 } | 483 } |
| 484 } | 484 } |
| 485 | 485 |
| 486 // Returns true if the field trial described by |name| is allowed to be forced | |
| 487 // via --force-fieldtrials. | |
| 488 bool IsForceableFieldTrial(const std::string& name) { | |
| 489 #if defined(OFFICIAL_BUILD) | |
| 490 // A list of field trials which cannot be forced to a different value in the | |
| 491 // official build. | |
| 492 static const char* KUnforceableFieldTrials[] = { | |
|
Alexei Svitkine (slow)
2014/02/11 22:44:02
Nit: Lowercase k. Also, I don't think this needs t
gab
2014/02/11 22:53:55
Done.
Yes it needs to be static; it's a compound
| |
| 493 "SettingsEnforcement", | |
| 494 }; | |
| 495 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(KUnforceableFieldTrials); ++i) { | |
| 496 if (name == KUnforceableFieldTrials[i]) | |
| 497 return false; | |
| 498 } | |
| 499 #endif // defined(OFFICIAL_BUILD) | |
| 500 | |
| 501 return true; | |
| 502 } | |
| 503 | |
| 486 // Heap allocated class that listens for first page load, kicks off stat | 504 // Heap allocated class that listens for first page load, kicks off stat |
| 487 // recording and then deletes itself. | 505 // recording and then deletes itself. |
| 488 class LoadCompleteListener : public content::NotificationObserver { | 506 class LoadCompleteListener : public content::NotificationObserver { |
| 489 public: | 507 public: |
| 490 LoadCompleteListener() { | 508 LoadCompleteListener() { |
| 491 registrar_.Add(this, | 509 registrar_.Add(this, |
| 492 content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME, | 510 content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME, |
| 493 content::NotificationService::AllSources()); | 511 content::NotificationService::AllSources()); |
| 494 } | 512 } |
| 495 virtual ~LoadCompleteListener() {} | 513 virtual ~LoadCompleteListener() {} |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 511 void InitializeAllPrefHashStores() { | 529 void InitializeAllPrefHashStores() { |
| 512 ProfileInfoCache& profile_info_cache = | 530 ProfileInfoCache& profile_info_cache = |
| 513 g_browser_process->profile_manager()->GetProfileInfoCache(); | 531 g_browser_process->profile_manager()->GetProfileInfoCache(); |
| 514 size_t n_profiles = profile_info_cache.GetNumberOfProfiles(); | 532 size_t n_profiles = profile_info_cache.GetNumberOfProfiles(); |
| 515 for (size_t i = 0; i < n_profiles; ++i) { | 533 for (size_t i = 0; i < n_profiles; ++i) { |
| 516 base::FilePath profile_path = | 534 base::FilePath profile_path = |
| 517 profile_info_cache.GetPathOfProfileAtIndex(i); | 535 profile_info_cache.GetPathOfProfileAtIndex(i); |
| 518 chrome_prefs::InitializePrefHashStoreIfRequired(profile_path); | 536 chrome_prefs::InitializePrefHashStoreIfRequired(profile_path); |
| 519 } | 537 } |
| 520 } | 538 } |
| 539 | |
| 521 } // namespace | 540 } // namespace |
| 522 | 541 |
| 523 namespace chrome_browser { | 542 namespace chrome_browser { |
| 524 | 543 |
| 525 // This error message is not localized because we failed to load the | 544 // This error message is not localized because we failed to load the |
| 526 // localization data files. | 545 // localization data files. |
| 527 #if defined(OS_WIN) | 546 #if defined(OS_WIN) |
| 528 const char kMissingLocaleDataTitle[] = "Missing File Error"; | 547 const char kMissingLocaleDataTitle[] = "Missing File Error"; |
| 529 #endif | 548 #endif |
| 530 | 549 |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 599 if (command_line->HasSwitch(switches::kEnableBenchmarking)) | 618 if (command_line->HasSwitch(switches::kEnableBenchmarking)) |
| 600 base::FieldTrial::EnableBenchmarking(); | 619 base::FieldTrial::EnableBenchmarking(); |
| 601 | 620 |
| 602 // Ensure any field trials specified on the command line are initialized. | 621 // Ensure any field trials specified on the command line are initialized. |
| 603 // Also stop the metrics service so that we don't pollute UMA. | 622 // Also stop the metrics service so that we don't pollute UMA. |
| 604 if (command_line->HasSwitch(switches::kForceFieldTrials)) { | 623 if (command_line->HasSwitch(switches::kForceFieldTrials)) { |
| 605 // Create field trials without activating them, so that this behaves in a | 624 // Create field trials without activating them, so that this behaves in a |
| 606 // consistent manner with field trials created from the server. | 625 // consistent manner with field trials created from the server. |
| 607 bool result = base::FieldTrialList::CreateTrialsFromString( | 626 bool result = base::FieldTrialList::CreateTrialsFromString( |
| 608 command_line->GetSwitchValueASCII(switches::kForceFieldTrials), | 627 command_line->GetSwitchValueASCII(switches::kForceFieldTrials), |
| 609 base::FieldTrialList::DONT_ACTIVATE_TRIALS); | 628 base::FieldTrialList::DONT_ACTIVATE_TRIALS, |
| 629 base::Bind(&IsForceableFieldTrial)); | |
| 610 CHECK(result) << "Invalid --" << switches::kForceFieldTrials | 630 CHECK(result) << "Invalid --" << switches::kForceFieldTrials |
| 611 << " list specified."; | 631 << " list specified."; |
| 612 } | 632 } |
| 613 if (command_line->HasSwitch(switches::kForceVariationIds)) { | 633 if (command_line->HasSwitch(switches::kForceVariationIds)) { |
| 614 // Create default variation ids which will always be included in the | 634 // Create default variation ids which will always be included in the |
| 615 // X-Client-Data request header. | 635 // X-Client-Data request header. |
| 616 chrome_variations::VariationsHttpHeaderProvider* provider = | 636 chrome_variations::VariationsHttpHeaderProvider* provider = |
| 617 chrome_variations::VariationsHttpHeaderProvider::GetInstance(); | 637 chrome_variations::VariationsHttpHeaderProvider::GetInstance(); |
| 618 bool result = provider->SetDefaultVariationIds( | 638 bool result = provider->SetDefaultVariationIds( |
| 619 command_line->GetSwitchValueASCII(switches::kForceVariationIds)); | 639 command_line->GetSwitchValueASCII(switches::kForceVariationIds)); |
| (...skipping 1077 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1697 chromeos::CrosSettings::Shutdown(); | 1717 chromeos::CrosSettings::Shutdown(); |
| 1698 #endif | 1718 #endif |
| 1699 #endif | 1719 #endif |
| 1700 } | 1720 } |
| 1701 | 1721 |
| 1702 // Public members: | 1722 // Public members: |
| 1703 | 1723 |
| 1704 void ChromeBrowserMainParts::AddParts(ChromeBrowserMainExtraParts* parts) { | 1724 void ChromeBrowserMainParts::AddParts(ChromeBrowserMainExtraParts* parts) { |
| 1705 chrome_extra_parts_.push_back(parts); | 1725 chrome_extra_parts_.push_back(parts); |
| 1706 } | 1726 } |
| OLD | NEW |