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

Side by Side Diff: chrome/browser/component_updater/sw_reporter_installer_win.cc

Issue 2660993003: Run software reporter's experimental engine on all architectures (Closed)
Patch Set: Created 3 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
« no previous file with comments | « no previous file | no next file » | 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) 2014 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2014 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/component_updater/sw_reporter_installer_win.h" 5 #include "chrome/browser/component_updater/sw_reporter_installer_win.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <map> 10 #include <map>
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 constexpr char kSessionIdSwitch[] = "session-id"; 76 constexpr char kSessionIdSwitch[] = "session-id";
77 77
78 // SRT registry keys and value names. 78 // SRT registry keys and value names.
79 const wchar_t kCleanerSuffixRegistryKey[] = L"Cleaner"; 79 const wchar_t kCleanerSuffixRegistryKey[] = L"Cleaner";
80 const wchar_t kExitCodeValueName[] = L"ExitCode"; 80 const wchar_t kExitCodeValueName[] = L"ExitCode";
81 const wchar_t kUploadResultsValueName[] = L"UploadResults"; 81 const wchar_t kUploadResultsValueName[] = L"UploadResults";
82 const wchar_t kVersionValueName[] = L"Version"; 82 const wchar_t kVersionValueName[] = L"Version";
83 83
84 constexpr base::Feature kExperimentalEngineFeature{ 84 constexpr base::Feature kExperimentalEngineFeature{
85 "ExperimentalSwReporterEngine", base::FEATURE_DISABLED_BY_DEFAULT}; 85 "ExperimentalSwReporterEngine", base::FEATURE_DISABLED_BY_DEFAULT};
86 constexpr base::Feature kExperimentalEngineAllArchsFeature{
87 "ExperimentalSwReporterEngineOnAllArchitectures",
88 base::FEATURE_DISABLED_BY_DEFAULT
89 };
86 90
87 void SRTHasCompleted(SRTCompleted value) { 91 void SRTHasCompleted(SRTCompleted value) {
88 UMA_HISTOGRAM_ENUMERATION("SoftwareReporter.Cleaner.HasCompleted", value, 92 UMA_HISTOGRAM_ENUMERATION("SoftwareReporter.Cleaner.HasCompleted", value,
89 SRT_COMPLETED_MAX); 93 SRT_COMPLETED_MAX);
90 } 94 }
91 95
92 void ReportUploadsWithUma(const base::string16& upload_results) { 96 void ReportUploadsWithUma(const base::string16& upload_results) {
93 base::WStringTokenizer tokenizer(upload_results, L";"); 97 base::WStringTokenizer tokenizer(upload_results, L";");
94 int failure_count = 0; 98 int failure_count = 0;
95 int success_count = 0; 99 int success_count = 0;
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 ReportUploadsWithUma(upload_results); 472 ReportUploadsWithUma(upload_results);
469 } 473 }
470 } else { 474 } else {
471 if (cleaner_key.HasValue(safe_browsing::kEndTimeValueName)) { 475 if (cleaner_key.HasValue(safe_browsing::kEndTimeValueName)) {
472 SRTHasCompleted(SRT_COMPLETED_LATER); 476 SRTHasCompleted(SRT_COMPLETED_LATER);
473 cleaner_key.DeleteValue(safe_browsing::kEndTimeValueName); 477 cleaner_key.DeleteValue(safe_browsing::kEndTimeValueName);
474 } 478 }
475 } 479 }
476 } 480 }
477 481
478 // The experiment is only enabled on x86. There's no way to check this in the 482 // If the experiment is not explicitly enabled on all platforms, it
483 // should be only enabled on x86. There's no way to check this in the
479 // variations config so we'll hard-code it. 484 // variations config so we'll hard-code it.
480 const bool is_experimental_engine_supported = 485 const bool is_x86_architecture =
481 base::win::OSInfo::GetInstance()->architecture() == 486 base::win::OSInfo::GetInstance()->architecture() ==
482 base::win::OSInfo::X86_ARCHITECTURE; 487 base::win::OSInfo::X86_ARCHITECTURE;
488 const bool is_experimental_engine_supported =
489 base::FeatureList::IsEnabled(kExperimentalEngineAllArchsFeature) ||
490 is_x86_architecture;
483 491
484 // Install the component. 492 // Install the component.
485 std::unique_ptr<ComponentInstallerTraits> traits( 493 std::unique_ptr<ComponentInstallerTraits> traits(
486 new SwReporterInstallerTraits(base::Bind(&RunSwReportersAfterStartup), 494 new SwReporterInstallerTraits(base::Bind(&RunSwReportersAfterStartup),
487 is_experimental_engine_supported)); 495 is_experimental_engine_supported));
488 // |cus| will take ownership of |installer| during installer->Register(cus). 496 // |cus| will take ownership of |installer| during installer->Register(cus).
489 DefaultComponentInstaller* installer = 497 DefaultComponentInstaller* installer =
490 new DefaultComponentInstaller(std::move(traits)); 498 new DefaultComponentInstaller(std::move(traits));
491 installer->Register(cus, base::Closure()); 499 installer->Register(cus, base::Closure());
492 } 500 }
493 501
494 void RegisterPrefsForSwReporter(PrefRegistrySimple* registry) { 502 void RegisterPrefsForSwReporter(PrefRegistrySimple* registry) {
495 registry->RegisterInt64Pref(prefs::kSwReporterLastTimeTriggered, 0); 503 registry->RegisterInt64Pref(prefs::kSwReporterLastTimeTriggered, 0);
496 registry->RegisterIntegerPref(prefs::kSwReporterLastExitCode, -1); 504 registry->RegisterIntegerPref(prefs::kSwReporterLastExitCode, -1);
497 registry->RegisterBooleanPref(prefs::kSwReporterPendingPrompt, false); 505 registry->RegisterBooleanPref(prefs::kSwReporterPendingPrompt, false);
498 registry->RegisterInt64Pref(prefs::kSwReporterLastTimeSentReport, 0); 506 registry->RegisterInt64Pref(prefs::kSwReporterLastTimeSentReport, 0);
499 } 507 }
500 508
501 void RegisterProfilePrefsForSwReporter( 509 void RegisterProfilePrefsForSwReporter(
502 user_prefs::PrefRegistrySyncable* registry) { 510 user_prefs::PrefRegistrySyncable* registry) {
503 registry->RegisterStringPref(prefs::kSwReporterPromptVersion, ""); 511 registry->RegisterStringPref(prefs::kSwReporterPromptVersion, "");
504 512
505 registry->RegisterStringPref(prefs::kSwReporterPromptSeed, ""); 513 registry->RegisterStringPref(prefs::kSwReporterPromptSeed, "");
506 } 514 }
507 515
508 } // namespace component_updater 516 } // namespace component_updater
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698