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

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

Issue 461633002: Refactor language detection logic to allow non-static CLD data sources. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix merge error in chrome/browser/BUILD.gn Created 6 years, 2 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 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/cld_component_installer.h" 5 #include "chrome/browser/component_updater/cld_component_installer.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/files/file_path.h" 11 #include "base/files/file_path.h"
12 #include "base/files/file_util.h" 12 #include "base/files/file_util.h"
13 #include "base/lazy_instance.h" 13 #include "base/lazy_instance.h"
14 #include "base/logging.h" 14 #include "base/logging.h"
15 #include "base/path_service.h" 15 #include "base/path_service.h"
16 #include "components/component_updater/component_updater_paths.h" 16 #include "components/component_updater/component_updater_paths.h"
17 #include "components/translate/content/browser/browser_cld_data_provider.h" 17 #include "components/translate/content/browser/browser_cld_data_provider.h"
18 #include "components/translate/content/browser/browser_cld_data_provider_factory .h"
18 #include "components/translate/content/common/cld_data_source.h" 19 #include "components/translate/content/common/cld_data_source.h"
19 #include "content/public/browser/browser_thread.h" 20 #include "content/public/browser/browser_thread.h"
20 #include "net/ssl/ssl_config_service.h" 21 #include "net/ssl/ssl_config_service.h"
21 22
22 using component_updater::ComponentUpdateService; 23 using component_updater::ComponentUpdateService;
23 24
24 namespace { 25 namespace {
25 // TODO(andrewhayden): Make the data file path into a gyp/gn define 26 // TODO(andrewhayden): Make the data file path into a gyp/gn define
26 // If you change this, also update component_cld_data_harness.cc 27 // If you change this, also update component_cld_data_harness.cc
27 // and cld_component_installer_unittest.cc accordingly! 28 // and cld_component_installer_unittest.cc accordingly!
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 hash->assign(kPublicKeySHA256, 102 hash->assign(kPublicKeySHA256,
102 kPublicKeySHA256 + arraysize(kPublicKeySHA256)); 103 kPublicKeySHA256 + arraysize(kPublicKeySHA256));
103 } 104 }
104 105
105 std::string CldComponentInstallerTraits::GetName() const { 106 std::string CldComponentInstallerTraits::GetName() const {
106 return kCldManifestName; 107 return kCldManifestName;
107 } 108 }
108 109
109 void RegisterCldComponent(ComponentUpdateService* cus) { 110 void RegisterCldComponent(ComponentUpdateService* cus) {
110 // Make sure we don't start up if the CLD data source isn't compatible. 111 // Make sure we don't start up if the CLD data source isn't compatible.
111 if (!translate::CldDataSource::ShouldRegisterForComponentUpdates()) { 112 if (!translate::CldDataSource::Get()->ShouldRegisterForComponentUpdates()) {
112 // This is a serious build-time configuration error. 113 // This is a serious build-time configuration error.
113 LOG(ERROR) << "Wrong CLD data source: " << 114 LOG(ERROR) << "Wrong CLD data source: " <<
114 translate::CldDataSource::GetName(); 115 translate::CldDataSource::Get()->GetName();
115 NOTREACHED(); 116 NOTREACHED();
116 return; 117 return;
117 } 118 }
118 119
119 // This log line is to help with determining which kind of provider has been 120 // This log line is to help with determining which kind of provider has been
120 // configured. See also: chrome://translate-internals 121 // configured. See also: chrome://translate-internals
121 VLOG(1) << "Registering CLD component with the component update service"; 122 VLOG(1) << "Registering CLD component with the component update service";
122 123
123 scoped_ptr<ComponentInstallerTraits> traits( 124 scoped_ptr<ComponentInstallerTraits> traits(
124 new CldComponentInstallerTraits()); 125 new CldComponentInstallerTraits());
125 // |cus| will take ownership of |installer| during installer->Register(cus). 126 // |cus| will take ownership of |installer| during installer->Register(cus).
126 DefaultComponentInstaller* installer = 127 DefaultComponentInstaller* installer =
127 new DefaultComponentInstaller(traits.Pass()); 128 new DefaultComponentInstaller(traits.Pass());
128 installer->Register(cus); 129 installer->Register(cus);
129 } 130 }
130 131
131 void CldComponentInstallerTraits::SetLatestCldDataFile( 132 void CldComponentInstallerTraits::SetLatestCldDataFile(
132 const base::FilePath& path) { 133 const base::FilePath& path) {
133 VLOG(1) << "Setting CLD data file location: " << path.value(); 134 VLOG(1) << "Setting CLD data file location: " << path.value();
134 g_latest_cld_data_file.Get() = path; 135 g_latest_cld_data_file.Get() = path;
135 translate::SetCldDataFilePath(path); 136 translate::CldDataSource::Get()->SetCldDataFilePath(path);
136 } 137 }
137 138
138 base::FilePath CldComponentInstallerTraits::GetLatestCldDataFile() { 139 base::FilePath CldComponentInstallerTraits::GetLatestCldDataFile() {
139 return g_latest_cld_data_file.Get(); 140 return g_latest_cld_data_file.Get();
140 } 141 }
141 142
142 } // namespace component_updater 143 } // namespace component_updater
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698