diff options
author | tommycli@chromium.org <tommycli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-08 14:17:00 +0000 |
---|---|---|
committer | tommycli@chromium.org <tommycli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-08 14:17:00 +0000 |
commit | 6c0c9736ddcd8a677414f64a270b5a48a9bc5705 (patch) | |
tree | 2dd896a715fa55f90ed85f69f4b1b9f3274c5206 | |
parent | 44c8cc8bc2a354669c80714ad1426d2a2156843c (diff) | |
download | chromium_src-6c0c9736ddcd8a677414f64a270b5a48a9bc5705.zip chromium_src-6c0c9736ddcd8a677414f64a270b5a48a9bc5705.tar.gz chromium_src-6c0c9736ddcd8a677414f64a270b5a48a9bc5705.tar.bz2 |
Break some of the chrome/common dependencies in implementation by moving some paths and constants to the component.
Design doc: https://docs.google.com/document/d/1F76yNZCnPnGzgNXhI-sCFKlXulwx_s_OKTGbJS5NhbA/edit?usp=sharing
BUG=371463
Review URL: https://codereview.chromium.org/334783002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281744 0039d316-1c4b-4281-b951-d872f2087c98
27 files changed, 189 insertions, 47 deletions
diff --git a/chrome/app/DEPS b/chrome/app/DEPS index e47956c..ba43711 100644 --- a/chrome/app/DEPS +++ b/chrome/app/DEPS @@ -9,6 +9,7 @@ include_rules = [ "+chromeos/chromeos_paths.h", "+chromeos/chromeos_switches.h", "+components/breakpad", + "+components/component_updater", "+components/nacl/common", "+components/nacl/zygote", "+components/startup_metric_utils", diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegate.cc index 6dbb03a..ee5fce3 100644 --- a/chrome/app/chrome_main_delegate.cc +++ b/chrome/app/chrome_main_delegate.cc @@ -34,6 +34,7 @@ #include "chrome/plugin/chrome_content_plugin_client.h" #include "chrome/renderer/chrome_content_renderer_client.h" #include "chrome/utility/chrome_content_utility_client.h" +#include "components/component_updater/component_updater_paths.h" #include "components/nacl/common/nacl_switches.h" #include "components/startup_metric_utils/startup_metric_utils.h" #include "content/public/common/content_client.h" @@ -424,6 +425,9 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exit_code) { #if !defined(DISABLE_NACL) && defined(OS_LINUX) nacl::RegisterPathProvider(); #endif + base::FilePath user_data; + if (PathService::Get(chrome::DIR_USER_DATA, &user_data)) + component_updater::RegisterPathProvider(user_data); // No support for ANDROID yet as DiagnosticsController needs wchar support. // TODO(gspencer): That's not true anymore, or at least there are no w-string diff --git a/chrome/browser/component_updater/DEPS b/chrome/browser/component_updater/DEPS index 626a124..cb4f58d 100644 --- a/chrome/browser/component_updater/DEPS +++ b/chrome/browser/component_updater/DEPS @@ -1,4 +1,5 @@ include_rules = [ + "+components/component_updater", "+media/cdm/ppapi/supported_cdm_versions.h", "+ppapi/thunk", "+third_party/widevine" diff --git a/chrome/browser/component_updater/cld_component_installer.cc b/chrome/browser/component_updater/cld_component_installer.cc index a3e62ac..d63b2da 100644 --- a/chrome/browser/component_updater/cld_component_installer.cc +++ b/chrome/browser/component_updater/cld_component_installer.cc @@ -14,7 +14,7 @@ #include "base/logging.h" #include "base/path_service.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/common/chrome_paths.h" +#include "components/component_updater/component_updater_paths.h" #include "components/translate/content/browser/data_file_browser_cld_data_provider.h" #include "content/public/browser/browser_thread.h" #include "net/ssl/ssl_config_service.h" @@ -89,7 +89,7 @@ bool CldComponentInstallerTraits::VerifyInstallation( base::FilePath CldComponentInstallerTraits::GetBaseDirectory() const { base::FilePath result; - PathService::Get(chrome::DIR_COMPONENT_CLD2, &result); + PathService::Get(DIR_COMPONENT_CLD2, &result); return result; } diff --git a/chrome/browser/component_updater/component_patcher_operation.cc b/chrome/browser/component_updater/component_patcher_operation.cc index eab5e42..137d573 100644 --- a/chrome/browser/component_updater/component_patcher_operation.cc +++ b/chrome/browser/component_updater/component_patcher_operation.cc @@ -16,7 +16,6 @@ #include "chrome/browser/component_updater/component_patcher.h" #include "chrome/browser/component_updater/component_updater_service.h" #include "chrome/common/chrome_utility_messages.h" -#include "chrome/common/extensions/extension_constants.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/utility_process_host.h" #include "courgette/courgette.h" diff --git a/chrome/browser/component_updater/component_updater_configurator.cc b/chrome/browser/component_updater/component_updater_configurator.cc index 34f7173..f9027e7 100644 --- a/chrome/browser/component_updater/component_updater_configurator.cc +++ b/chrome/browser/component_updater/component_updater_configurator.cc @@ -12,7 +12,7 @@ #include "base/compiler_specific.h" #include "base/strings/string_util.h" #include "build/build_config.h" -#include "chrome/common/chrome_switches.h" +#include "components/component_updater/component_updater_switches.h" #include "net/url_request/url_request_context_getter.h" #include "url/gurl.h" @@ -208,7 +208,7 @@ bool ChromeConfigurator::UseBackgroundDownloader() const { } Configurator* MakeChromeComponentUpdaterConfigurator( - const CommandLine* cmdline, + const base::CommandLine* cmdline, net::URLRequestContextGetter* context_getter) { return new ChromeConfigurator(cmdline, context_getter); } diff --git a/chrome/browser/component_updater/recovery_component_installer.cc b/chrome/browser/component_updater/recovery_component_installer.cc index 4baa366..617cb88 100644 --- a/chrome/browser/component_updater/recovery_component_installer.cc +++ b/chrome/browser/component_updater/recovery_component_installer.cc @@ -20,9 +20,8 @@ #include "base/strings/string_util.h" #include "base/values.h" #include "chrome/browser/component_updater/component_updater_service.h" -#include "chrome/common/chrome_paths.h" -#include "chrome/common/chrome_version_info.h" -#include "chrome/common/pref_names.h" +#include "components/component_updater/component_updater_paths.h" +#include "components/component_updater/pref_names.h" #include "content/public/browser/browser_thread.h" using content::BrowserThread; @@ -118,11 +117,11 @@ bool RecoveryComponentInstaller::Install(const base::DictionaryValue& manifest, // Passed the basic tests. Copy the installation to a permanent directory. base::FilePath path; - if (!PathService::Get(chrome::DIR_RECOVERY_BASE, &path)) + if (!PathService::Get(DIR_RECOVERY_BASE, &path)) return false; path = path.AppendASCII(version.GetString()); if (base::PathExists(path) && !base::DeleteFile(path, true)) - return false; + return false; if (!base::Move(unpack_path, path)) { DVLOG(1) << "Recovery component move failed."; return false; diff --git a/chrome/browser/component_updater/swiftshader_component_installer.cc b/chrome/browser/component_updater/swiftshader_component_installer.cc index e4c410a..96f5e9e 100644 --- a/chrome/browser/component_updater/swiftshader_component_installer.cc +++ b/chrome/browser/component_updater/swiftshader_component_installer.cc @@ -19,7 +19,7 @@ #include "base/strings/string_util.h" #include "base/values.h" #include "chrome/browser/component_updater/component_updater_service.h" -#include "chrome/common/chrome_paths.h" +#include "components/component_updater/component_updater_paths.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/gpu_data_manager.h" #include "content/public/browser/gpu_data_manager_observer.h" @@ -46,9 +46,6 @@ const base::FilePath::CharType kSwiftShaderGlesName[] = const char kSwiftShaderManifestName[] = "SwiftShader"; -const base::FilePath::CharType kSwiftShaderBaseDirectory[] = - FILE_PATH_LITERAL("SwiftShader"); - // If we don't have a SwiftShader component, this is the version we claim. const char kNullVersion[] = "0.0.0.0"; @@ -56,8 +53,9 @@ const char kNullVersion[] = "0.0.0.0"; // <profile>\AppData\Local\Google\Chrome\User Data\SwiftShader\. base::FilePath GetSwiftShaderBaseDirectory() { base::FilePath result; - PathService::Get(chrome::DIR_USER_DATA, &result); - return result.Append(kSwiftShaderBaseDirectory); + if (!PathService::Get(DIR_SWIFT_SHADER, &result)) + NOTREACHED() << "Couldn't get SwiftShader directory."; + return result; } // SwiftShader has version encoded in the path itself diff --git a/chrome/browser/component_updater/widevine_cdm_component_installer.cc b/chrome/browser/component_updater/widevine_cdm_component_installer.cc index 1445247..b3438f5 100644 --- a/chrome/browser/component_updater/widevine_cdm_component_installer.cc +++ b/chrome/browser/component_updater/widevine_cdm_component_installer.cc @@ -24,8 +24,6 @@ #include "build/build_config.h" #include "chrome/browser/component_updater/component_updater_service.h" #include "chrome/browser/component_updater/default_component_installer.h" -#include "chrome/browser/plugins/plugin_prefs.h" -#include "chrome/common/chrome_constants.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_version_info.h" #include "chrome/common/widevine_cdm_constants.h" diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 8b60a6b..1ad7459 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -2837,6 +2837,7 @@ '../components/components.gyp:captive_portal', '../components/components.gyp:cloud_devices_common', '../components/components.gyp:component_metrics_proto', + '../components/components.gyp:component_updater', '../components/components.gyp:data_reduction_proxy_browser', '../components/components.gyp:domain_reliability', '../components/components.gyp:favicon_base', diff --git a/chrome/chrome_common.gypi b/chrome/chrome_common.gypi index 4f334c3..11a1afc 100644 --- a/chrome/chrome_common.gypi +++ b/chrome/chrome_common.gypi @@ -302,6 +302,7 @@ '<(DEPTH)/chrome/chrome_resources.gyp:theme_resources', '<(DEPTH)/chrome/common_constants.gyp:common_constants', '<(DEPTH)/components/components.gyp:cloud_devices_common', + '<(DEPTH)/components/components.gyp:component_updater', '<(DEPTH)/components/components.gyp:json_schema', '<(DEPTH)/components/components.gyp:metrics', '<(DEPTH)/components/components.gyp:policy_component_common', diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc index 3fef012..6960bf3 100644 --- a/chrome/common/chrome_paths.cc +++ b/chrome/common/chrome_paths.cc @@ -352,12 +352,6 @@ bool PathProvider(int key, base::FilePath* result) { #endif cur = cur.Append(FILE_PATH_LITERAL("pnacl")); break; - case chrome::DIR_RECOVERY_BASE: - if (!PathService::Get(chrome::DIR_USER_DATA, &cur)) - return false; - cur = cur.Append(FILE_PATH_LITERAL("recovery")); - create_dir = true; - break; #if defined(OS_POSIX) && !defined(OS_MACOSX) case chrome::FILE_O1D_PLUGIN: if (!PathService::Get(base::DIR_MODULE, &cur)) @@ -370,11 +364,6 @@ bool PathProvider(int key, base::FilePath* result) { cur = cur.Append(kGTalkPluginFileName); break; #endif - case chrome::DIR_COMPONENT_CLD2: - if (!PathService::Get(chrome::DIR_USER_DATA, &cur)) - return false; - cur = cur.Append(FILE_PATH_LITERAL("CLD")); - break; #if defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS) #if defined(WIDEVINE_CDM_IS_COMPONENT) case chrome::DIR_COMPONENT_WIDEVINE_CDM: diff --git a/chrome/common/chrome_paths.h b/chrome/common/chrome_paths.h index 135b876..b7e3bef 100644 --- a/chrome/common/chrome_paths.h +++ b/chrome/common/chrome_paths.h @@ -94,8 +94,6 @@ enum { FILE_O1D_PLUGIN, // Full path to the O1D Pepper plugin file. FILE_EFFECTS_PLUGIN, // Full path to the Effects Pepper plugin file. FILE_GTALK_PLUGIN, // Full path to the GTalk Pepper plugin file. - DIR_COMPONENT_CLD2, // Directory that contains component-updated - // Compact Language Detector files DIR_COMPONENT_WIDEVINE_CDM, // Directory that contains component-updated // Widevine CDM files. FILE_WIDEVINE_CDM_ADAPTER, // Full path to the Widevine CDM adapter file. @@ -103,7 +101,6 @@ enum { // binary data (e.g., html files and images // used by internal pages). DIR_RESOURCES_EXTENSION, // Full path to extension resources. - DIR_RECOVERY_BASE, // Full path to the dir for Recovery component. #if defined(OS_CHROMEOS) DIR_CHROMEOS_WALLPAPERS, // Directory where downloaded chromeos // wallpapers reside. diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc index 14f9083..205f010 100644 --- a/chrome/common/chrome_switches.cc +++ b/chrome/common/chrome_switches.cc @@ -167,10 +167,6 @@ const char kCloudPrintJobTitle[] = "cloud-print-job-title"; // service or register proxy for autostart. const char kCloudPrintSetupProxy[] = "cloud-print-setup-proxy"; -// Comma-separated options to troubleshoot the component updater. Only valid -// for the browser process. -const char kComponentUpdater[] = "component-updater"; - // Comma-separated list of BrowserThreads that cause browser process to crash // if the given browser thread is not responsive. UI,IO,DB,FILE,CACHE are the // list of BrowserThreads that are supported. diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h index 86f6ff1..a2df4eb 100644 --- a/chrome/common/chrome_switches.h +++ b/chrome/common/chrome_switches.h @@ -60,7 +60,6 @@ extern const char kCloudPrintJobTitle[]; extern const char kCloudPrintFileType[]; extern const char kCloudPrintPrintTicket[]; extern const char kCloudPrintSetupProxy[]; -extern const char kComponentUpdater[]; extern const char kCrashOnHangThreads[]; extern const char kCreateBrowserOnStartupForTests[]; extern const char kCustomLauncherPage[]; diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc index cdfe003..18d3c94 100644 --- a/chrome/common/pref_names.cc +++ b/chrome/common/pref_names.cc @@ -2090,14 +2090,6 @@ const char kCustomHandlersEnabled[] = "custom_handlers.enabled"; // by the cloud policy subsystem. const char kDevicePolicyRefreshRate[] = "policy.device_refresh_rate"; -// String that represents the recovery component last downloaded version. This -// takes the usual 'a.b.c.d' notation. -const char kRecoveryComponentVersion[] = "recovery_component.version"; - -// String that stores the component updater last known state. This is used for -// troubleshooting. -const char kComponentUpdaterState[] = "component_updater.state"; - // A boolean where true means that the browser has previously attempted to // enable autoupdate and failed, so the next out-of-date browser start should // not prompt the user to enable autoupdate, it should offer to reinstall Chrome diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h index 9e3c71d..0c18251 100644 --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h @@ -727,8 +727,6 @@ extern const char kMessageCenterShowedFirstRunBalloon[]; extern const char kMessageCenterShowIcon[]; extern const char kMessageCenterForcedOnTaskbar[]; -extern const char kRecoveryComponentVersion[]; -extern const char kComponentUpdaterState[]; extern const char kAttemptedToEnableAutoupdate[]; #if defined(OS_WIN) diff --git a/chrome/test/base/chrome_unit_test_suite.cc b/chrome/test/base/chrome_unit_test_suite.cc index 197f3e5..6d8b4ef 100644 --- a/chrome/test/base/chrome_unit_test_suite.cc +++ b/chrome/test/base/chrome_unit_test_suite.cc @@ -13,6 +13,7 @@ #include "chrome/common/chrome_paths.h" #include "chrome/test/base/testing_browser_process.h" #include "chrome/utility/chrome_content_utility_client.h" +#include "components/component_updater/component_updater_paths.h" #include "components/omaha_query_params/omaha_query_params.h" #include "content/public/common/content_paths.h" #include "testing/gtest/include/gtest/gtest.h" @@ -121,6 +122,10 @@ void ChromeUnitTestSuite::InitializeProviders() { content::RegisterPathProvider(); ui::RegisterPathProvider(); + base::FilePath user_data; + if (PathService::Get(chrome::DIR_USER_DATA, &user_data)) + component_updater::RegisterPathProvider(user_data); + #if defined(OS_CHROMEOS) chromeos::RegisterPathProvider(); #endif diff --git a/components/component_updater.gypi b/components/component_updater.gypi new file mode 100644 index 0000000..1cdfee4 --- /dev/null +++ b/components/component_updater.gypi @@ -0,0 +1,26 @@ +# 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. + +{ + 'targets': [ + { + 'target_name': 'component_updater', + 'type': 'static_library', + 'dependencies': [ + '../base/base.gyp:base', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'component_updater/component_updater_paths.cc', + 'component_updater/component_updater_paths.h', + 'component_updater/component_updater_switches.cc', + 'component_updater/component_updater_switches.h', + 'component_updater/pref_names.cc', + 'component_updater/pref_names.h', + ], + }, + ], +} diff --git a/components/component_updater/DEPS b/components/component_updater/DEPS new file mode 100644 index 0000000..48e8875 --- /dev/null +++ b/components/component_updater/DEPS @@ -0,0 +1,2 @@ +include_rules = [ +] diff --git a/components/component_updater/component_updater_paths.cc b/components/component_updater/component_updater_paths.cc new file mode 100644 index 0000000..62f484b --- /dev/null +++ b/components/component_updater/component_updater_paths.cc @@ -0,0 +1,50 @@ +// 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 "components/component_updater/component_updater_paths.h" + +#include "base/lazy_instance.h" +#include "base/path_service.h" + +namespace component_updater { + +namespace { + +static base::LazyInstance<base::FilePath> g_components_root = + LAZY_INSTANCE_INITIALIZER; + +} // namespace + +bool PathProvider(int key, base::FilePath* result) { + DCHECK(!g_components_root.Get().empty()); + base::FilePath cur = g_components_root.Get(); + switch (key) { + case DIR_COMPONENT_CLD2: + cur = cur.Append(FILE_PATH_LITERAL("CLD")); + break; + case DIR_RECOVERY_BASE: + cur = cur.Append(FILE_PATH_LITERAL("recovery")); + break; + case DIR_SWIFT_SHADER: + cur = cur.Append(FILE_PATH_LITERAL("SwiftShader")); + break; + default: + return false; + } + + *result = cur; + return true; +} + +// This cannot be done as a static initializer sadly since Visual Studio will +// eliminate this object file if there is no direct entry point into it. +void RegisterPathProvider(const base::FilePath& components_root) { + DCHECK(g_components_root.Get().empty()); + DCHECK(!components_root.empty()); + g_components_root.Get() = components_root; + + PathService::RegisterProvider(PathProvider, PATH_START, PATH_END); +} + +} // namespace component_updater diff --git a/components/component_updater/component_updater_paths.h b/components/component_updater/component_updater_paths.h new file mode 100644 index 0000000..b251895 --- /dev/null +++ b/components/component_updater/component_updater_paths.h @@ -0,0 +1,29 @@ +// 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. + +#ifndef COMPONENTS_COMPONENT_UPDATER_COMPONENT_UPDATER_PATHS_H_ +#define COMPONENTS_COMPONENT_UPDATER_COMPONENT_UPDATER_PATHS_H_ + +#include "base/files/file_path.h" + +namespace component_updater { + +enum { + PATH_START = 10000, + DIR_COMPONENT_CLD2 = PATH_START, // Directory that contains component-updated + // Compact Language Detector files. + DIR_RECOVERY_BASE, // Full path to the dir for Recovery + // component. + DIR_SWIFT_SHADER, // Path to the SwiftShader component. + PATH_END +}; + +// Call once to register the provider for the path keys defined above. +// |components_root_key| is the path provider key defining where the +// components should be installed. +void RegisterPathProvider(const base::FilePath& components_root_key); + +} // namespace component_updater + +#endif // COMPONENTS_COMPONENT_UPDATER_COMPONENT_UPDATER_PATHS_H_ diff --git a/components/component_updater/component_updater_switches.cc b/components/component_updater/component_updater_switches.cc new file mode 100644 index 0000000..dc9de60 --- /dev/null +++ b/components/component_updater/component_updater_switches.cc @@ -0,0 +1,13 @@ +// 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 "components/component_updater/component_updater_switches.h" + +namespace switches { + +// Comma-separated options to troubleshoot the component updater. Only valid +// for the browser process. +const char kComponentUpdater[] = "component-updater"; + +} // namespace switches diff --git a/components/component_updater/component_updater_switches.h b/components/component_updater/component_updater_switches.h new file mode 100644 index 0000000..52f3bd5 --- /dev/null +++ b/components/component_updater/component_updater_switches.h @@ -0,0 +1,16 @@ +// 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. + +#ifndef COMPONENTS_COMPONENT_UPDATER_COMPONENT_UPDATER_SWITCHES_H_ +#define COMPONENTS_COMPONENT_UPDATER_COMPONENT_UPDATER_SWITCHES_H_ + +namespace switches { + +// All switches in alphabetical order. The switches should be documented +// alongside the definition of their values in the .cc file. +extern const char kComponentUpdater[]; + +} // namespace switches + +#endif // COMPONENTS_COMPONENT_UPDATER_COMPONENT_UPDATER_SWITCHES_H_ diff --git a/components/component_updater/pref_names.cc b/components/component_updater/pref_names.cc new file mode 100644 index 0000000..389100e --- /dev/null +++ b/components/component_updater/pref_names.cc @@ -0,0 +1,13 @@ +// 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 "components/component_updater/pref_names.h" + +namespace prefs { + +// String that represents the recovery component last downloaded version. This +// takes the usual 'a.b.c.d' notation. +const char kRecoveryComponentVersion[] = "recovery_component.version"; + +} // namespace prefs diff --git a/components/component_updater/pref_names.h b/components/component_updater/pref_names.h new file mode 100644 index 0000000..aedc2b1 --- /dev/null +++ b/components/component_updater/pref_names.h @@ -0,0 +1,14 @@ +// 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. + +#ifndef COMPONENTS_COMPONENT_UPDATER_PREF_NAMES_H_ +#define COMPONENTS_COMPONENT_UPDATER_PREF_NAMES_H_ + +namespace prefs { + +extern const char kRecoveryComponentVersion[]; + +} // namespace prefs + +#endif // COMPONENTS_COMPONENT_UPDATER_PREF_NAMES_H_ diff --git a/components/components.gyp b/components/components.gyp index 9c2b35d..49254a2 100644 --- a/components/components.gyp +++ b/components/components.gyp @@ -17,6 +17,7 @@ 'breakpad.gypi', 'captive_portal.gypi', 'cloud_devices.gypi', + 'component_updater.gypi', 'cronet.gypi', 'data_reduction_proxy.gypi', 'dom_distiller.gypi', |