Index: chrome/browser/component_updater/caps_installer_win.cc |
diff --git a/chrome/browser/component_updater/caps_installer_win.cc b/chrome/browser/component_updater/caps_installer_win.cc |
deleted file mode 100644 |
index 8219f390acd4344c63058c9869d88558b234702f..0000000000000000000000000000000000000000 |
--- a/chrome/browser/component_updater/caps_installer_win.cc |
+++ /dev/null |
@@ -1,132 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/component_updater/caps_installer_win.h" |
- |
-#include <stdint.h> |
-#include <memory> |
-#include <string> |
-#include <utility> |
-#include <vector> |
- |
-#include "base/bind.h" |
-#include "base/command_line.h" |
-#include "base/files/file_path.h" |
-#include "base/files/file_util.h" |
-#include "base/macros.h" |
-#include "base/metrics/histogram.h" |
-#include "base/path_service.h" |
-#include "base/process/launch.h" |
-#include "base/threading/worker_pool.h" |
-#include "base/time/time.h" |
-#include "chrome/common/chrome_paths.h" |
-#include "components/component_updater/component_updater_service.h" |
-#include "components/component_updater/default_component_installer.h" |
- |
-namespace component_updater { |
- |
-namespace { |
- |
-// The values of the enum cannot be changed and should be mirrored with |
-// the values of CAPSUpdaterStep in metrics/histograms/histograms.xml. Only |
-// add new values at the end. |
-enum CAPSUmaValue { |
- CAPS_COMPONENT_READY = 0, |
- CAPS_COMPONENT_MISSING = 1, |
- CAPS_SERVICE_FAILED_TO_START = 2, |
- CAPS_SERVICE_STARTED = 3, |
- CAPS_UMA_MAX |
-}; |
- |
-void ReportUmaStep(CAPSUmaValue value) { |
- UMA_HISTOGRAM_ENUMERATION("CAPSUpdater.Step", value, CAPS_UMA_MAX); |
-} |
- |
-// CRX hash. The extension id is: bcpgokokgekmnfkohklccmonnakdimfh. |
-const uint8_t kSha256Hash[] = {0x12, 0xf6, 0xea, 0xea, 0x64, 0xac, 0xd5, 0xae, |
- 0x7a, 0xb2, 0x2c, 0xed, 0xd0, 0xa3, 0x8c, 0x57, |
- 0x49, 0x05, 0x8f, 0x7d, 0x14, 0xa4, 0x22, 0x4d, |
- 0x9b, 0xf6, 0x14, 0x99, 0xdf, 0xf8, 0xc9, 0xb3}; |
- |
-const base::FilePath::CharType kCapsBinary[] = |
- FILE_PATH_LITERAL("chrome_crash_svc.exe"); |
- |
-// This function is called from a worker thread to launch crash service. |
-void LaunchService(const base::FilePath& exe_path) { |
- base::CommandLine service_cmdline(exe_path); |
- service_cmdline.AppendSwitch("caps-update"); |
- base::Process service = |
- base::LaunchProcess(service_cmdline, base::LaunchOptions()); |
- CAPSUmaValue uma_step = service.IsValid() ? |
- CAPS_SERVICE_STARTED : CAPS_SERVICE_FAILED_TO_START; |
- ReportUmaStep(uma_step); |
-} |
- |
-class CAPSInstallerTraits : public ComponentInstallerTraits { |
- public: |
- CAPSInstallerTraits() {} |
- ~CAPSInstallerTraits() override {} |
- |
- bool VerifyInstallation(const base::DictionaryValue& manifest, |
- const base::FilePath& dir) const override { |
- bool has_binary = base::PathExists(dir.Append(kCapsBinary)); |
- ReportUmaStep(has_binary ? CAPS_COMPONENT_READY : CAPS_COMPONENT_MISSING); |
- return has_binary; |
- } |
- |
- bool SupportsGroupPolicyEnabledComponentUpdates() const override { |
- return false; |
- } |
- |
- bool RequiresNetworkEncryption() const override { return false; } |
- |
- bool OnCustomInstall(const base::DictionaryValue& manifest, |
- const base::FilePath& install_dir) override { |
- return true; |
- } |
- |
- void ComponentReady( |
- const base::Version& version, |
- const base::FilePath& install_dir, |
- std::unique_ptr<base::DictionaryValue> manifest) override { |
- // Can't block here. This is usually the browser UI thread. |
- base::WorkerPool::PostTask( |
- FROM_HERE, |
- base::Bind(&LaunchService, install_dir.Append(kCapsBinary)), |
- false); |
- } |
- |
- // Directory is usually "%appdata%\Local\Chrome\User Data\Caps". |
- base::FilePath GetRelativeInstallDir() const override { |
- return base::FilePath(FILE_PATH_LITERAL("Caps")); |
- } |
- |
- void GetHash(std::vector<uint8_t>* hash) const override { |
- hash->assign(kSha256Hash, |
- kSha256Hash + arraysize(kSha256Hash)); |
- } |
- |
- // This string is shown in chrome://components. |
- std::string GetName() const override { return "Chrome Crash Service"; } |
- |
- update_client::InstallerAttributes GetInstallerAttributes() const override { |
- return update_client::InstallerAttributes(); |
- } |
- |
- std::vector<std::string> GetMimeTypes() const override { |
- return std::vector<std::string>(); |
- } |
-}; |
- |
-} // namespace |
- |
-void RegisterCAPSComponent(ComponentUpdateService* cus) { |
- // The component updater takes ownership of |installer|. |
- std::unique_ptr<ComponentInstallerTraits> traits(new CAPSInstallerTraits()); |
- DefaultComponentInstaller* installer = |
- new DefaultComponentInstaller(std::move(traits)); |
- installer->Register(cus, base::Closure()); |
-} |
- |
-} // namespace component_updater |