This patch defines three mechanisms for acquiring CLD2's data:

1. Static linking (the way it is done today)
2. Standalone dynamic data file bundled with the application
3. Dynamic data file downloaded via the Component Updater

This change does NOT switch any implementation to a different cld data source.
Android/iOS remain pinned to CLD1, and all platforms continue to statically
link the data with cld2_data_source="static".

This change has several important side effects:
1. The gyp variables "cld2_dynamic" and "cld2_is_component" have been removed.
   There is now a single variable, "cld2_data_source", that defines which
   implementation is to be used.
2. cld_component_installer.[h,cc] and cld_component_installer_unittest.cc are
   now conditionally built if and only if cld2_data_source=="component" and
   have direct dependencies upon components/translate/content/browser.
3. Almost all preprocesser checks for the CLD data source have been removed,
   greatly simplifying code flow. The logic previously gated by these checks
   has been split into separate implementation classes whose inclusion is
   controlled by the cld2_data_source gyp variable.

For more information, refer to crbug/383769.

BUG=383769

Review URL: https://codereview.chromium.org/333603002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@279415 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: cf78eecf38ea51a8a4c0b78974d7a5d88bbb0b54
1 file changed
tree: ec7dbae85675a255e18db2404481bc34132efccd
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/