Index: chrome/browser/component_updater/ev_whitelist_component_installer.cc |
diff --git a/chrome/browser/component_updater/ev_whitelist_component_installer.cc b/chrome/browser/component_updater/ev_whitelist_component_installer.cc |
deleted file mode 100644 |
index f5effcb789b4bbc9e850812c96dd0e91bb916a1f..0000000000000000000000000000000000000000 |
--- a/chrome/browser/component_updater/ev_whitelist_component_installer.cc |
+++ /dev/null |
@@ -1,164 +0,0 @@ |
-// Copyright 2014 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/ev_whitelist_component_installer.h" |
- |
-#include <memory> |
-#include <string> |
-#include <utility> |
-#include <vector> |
- |
-#include "base/bind.h" |
-#include "base/files/file_path.h" |
-#include "base/files/file_util.h" |
-#include "base/logging.h" |
-#include "base/macros.h" |
-#include "base/path_service.h" |
-#include "base/task_scheduler/post_task.h" |
-#include "base/threading/sequenced_worker_pool.h" |
-#include "base/version.h" |
-#include "components/component_updater/component_updater_paths.h" |
-#include "components/packed_ct_ev_whitelist/packed_ct_ev_whitelist.h" |
-#include "content/public/browser/browser_thread.h" |
- |
-using component_updater::ComponentUpdateService; |
- |
-namespace { |
-const base::FilePath::CharType kCompressedEVWhitelistFileName[] = |
- FILE_PATH_LITERAL("ev_hashes_whitelist.bin"); |
- |
-// Prior implementations (< M46) of this installer would copy the whitelist |
-// file from the installed component directory to the top of the user data |
-// directory which is not necessary. Delete this unused file. |
-// todo(cmumford): Delete this function >= M50. |
-void DeleteWhitelistCopy(const base::FilePath& user_data_dir) { |
- base::DeleteFile(user_data_dir.Append(kCompressedEVWhitelistFileName), false); |
-} |
- |
-void LoadWhitelistFromDisk(const base::FilePath& whitelist_path, |
- const base::Version& version) { |
- if (whitelist_path.empty()) |
- return; |
- |
- VLOG(1) << "Reading EV whitelist from file: " << whitelist_path.value(); |
- std::string compressed_list; |
- if (!base::ReadFileToString(whitelist_path, &compressed_list)) { |
- VLOG(1) << "Failed reading from " << whitelist_path.value(); |
- return; |
- } |
- |
- scoped_refptr<net::ct::EVCertsWhitelist> new_whitelist( |
- new packed_ct_ev_whitelist::PackedEVCertsWhitelist(compressed_list, |
- version)); |
- compressed_list.clear(); |
- if (!new_whitelist->IsValid()) { |
- VLOG(1) << "Failed uncompressing EV certs whitelist."; |
- return; |
- } |
- |
- VLOG(1) << "EV whitelist: Successfully loaded."; |
- packed_ct_ev_whitelist::SetEVCertsWhitelist(new_whitelist); |
-} |
- |
-} // namespace |
- |
-namespace component_updater { |
- |
-// The SHA256 of the SubjectPublicKeyInfo used to sign the extension. |
-// The extension id is: oafdbfcohdcjandcenmccfopbeklnicp |
-const uint8_t kPublicKeySHA256[32] = { |
- 0xe0, 0x53, 0x15, 0x2e, 0x73, 0x29, 0x0d, 0x32, 0x4d, 0xc2, 0x25, |
- 0xef, 0x14, 0xab, 0xd8, 0x2f, 0x84, 0xf5, 0x85, 0x9e, 0xc0, 0xfa, |
- 0x94, 0xbc, 0x99, 0xc9, 0x5a, 0x27, 0x55, 0x19, 0x83, 0xef}; |
- |
-const char kEVWhitelistManifestName[] = "EV Certs CT whitelist"; |
- |
-bool EVWhitelistComponentInstallerTraits:: |
- SupportsGroupPolicyEnabledComponentUpdates() const { |
- return false; |
-} |
- |
-bool EVWhitelistComponentInstallerTraits::RequiresNetworkEncryption() const { |
- return false; |
-} |
- |
-update_client::CrxInstaller::Result |
-EVWhitelistComponentInstallerTraits::OnCustomInstall( |
- const base::DictionaryValue& manifest, |
- const base::FilePath& install_dir) { |
- VLOG(1) << "Entering EVWhitelistComponentInstallerTraits::OnCustomInstall."; |
- |
- return update_client::CrxInstaller::Result(0); // Nothing custom here. |
-} |
- |
-base::FilePath EVWhitelistComponentInstallerTraits::GetInstalledPath( |
- const base::FilePath& base) { |
- // EV whitelist is encoded the same way for all platforms |
- return base.Append(FILE_PATH_LITERAL("_platform_specific")) |
- .Append(FILE_PATH_LITERAL("all")) |
- .Append(kCompressedEVWhitelistFileName); |
-} |
- |
-void EVWhitelistComponentInstallerTraits::ComponentReady( |
- const base::Version& version, |
- const base::FilePath& install_dir, |
- std::unique_ptr<base::DictionaryValue> manifest) { |
- VLOG(1) << "Component ready, version " << version.GetString() << " in " |
- << install_dir.value(); |
- |
- base::PostTaskWithTraits(FROM_HERE, |
- {base::MayBlock(), base::TaskPriority::BACKGROUND}, |
- base::Bind(&LoadWhitelistFromDisk, |
- GetInstalledPath(install_dir), version)); |
-} |
- |
-// Called during startup and installation before ComponentReady(). |
-bool EVWhitelistComponentInstallerTraits::VerifyInstallation( |
- const base::DictionaryValue& manifest, |
- const base::FilePath& install_dir) const { |
- return base::PathExists(GetInstalledPath(install_dir)); |
-} |
- |
-base::FilePath EVWhitelistComponentInstallerTraits::GetRelativeInstallDir() |
- const { |
- return base::FilePath(FILE_PATH_LITERAL("EVWhitelist")); |
-} |
- |
-void EVWhitelistComponentInstallerTraits::GetHash( |
- std::vector<uint8_t>* hash) const { |
- hash->assign(kPublicKeySHA256, |
- kPublicKeySHA256 + arraysize(kPublicKeySHA256)); |
-} |
- |
-std::string EVWhitelistComponentInstallerTraits::GetName() const { |
- return kEVWhitelistManifestName; |
-} |
- |
-update_client::InstallerAttributes |
-EVWhitelistComponentInstallerTraits::GetInstallerAttributes() const { |
- return update_client::InstallerAttributes(); |
-} |
- |
-std::vector<std::string> EVWhitelistComponentInstallerTraits::GetMimeTypes() |
- const { |
- return std::vector<std::string>(); |
-} |
- |
-void RegisterEVWhitelistComponent(ComponentUpdateService* cus, |
- const base::FilePath& user_data_dir) { |
- VLOG(1) << "Registering EV whitelist component."; |
- |
- std::unique_ptr<ComponentInstallerTraits> traits( |
- new EVWhitelistComponentInstallerTraits()); |
- // |cus| will take ownership of |installer| during installer->Register(cus). |
- DefaultComponentInstaller* installer = |
- new DefaultComponentInstaller(std::move(traits)); |
- installer->Register(cus, base::Closure()); |
- |
- content::BrowserThread::PostAfterStartupTask( |
- FROM_HERE, content::BrowserThread::GetBlockingPool(), |
- base::Bind(&DeleteWhitelistCopy, user_data_dir)); |
-} |
- |
-} // namespace component_updater |