blob: 06cb620a29addf80912d33d8bb6061fe839df4c1 [file] [log] [blame]
# 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.
import("//net/features.gni")
source_set("network_public") {
sources = [
"net/network_chromium.h",
]
deps = [
"//base",
]
}
source_set("network") {
sources = [
"net/network_impl.cc",
"net/network_impl.h",
]
visibility = [ ":*" ]
deps = [
":network_public",
"//base",
"//net",
"//services/network/public/cpp:cpp",
"//url",
]
}
static_library("update_client") {
sources = [
"action_runner.cc",
"action_runner.h",
"action_runner_win.cc",
"activity_data_service.h",
"background_downloader_win.cc",
"background_downloader_win.h",
"command_line_config_policy.cc",
"command_line_config_policy.h",
"component.cc",
"component.h",
"component_patcher.cc",
"component_patcher.h",
"component_patcher_operation.cc",
"component_patcher_operation.h",
"component_unpacker.cc",
"component_unpacker.h",
"configurator.h",
"crx_downloader.cc",
"crx_downloader.h",
"crx_update_item.h",
"network.cc",
"network.h",
"persisted_data.cc",
"persisted_data.h",
"ping_manager.cc",
"ping_manager.h",
"protocol_definition.cc",
"protocol_definition.h",
"protocol_handler.cc",
"protocol_handler.h",
"protocol_parser.cc",
"protocol_parser.h",
"protocol_parser_json.cc",
"protocol_parser_json.h",
"protocol_parser_xml.cc",
"protocol_parser_xml.h",
"protocol_serializer.cc",
"protocol_serializer.h",
"protocol_serializer_json.cc",
"protocol_serializer_json.h",
"protocol_serializer_xml.cc",
"protocol_serializer_xml.h",
"request_sender.cc",
"request_sender.h",
"task.h",
"task_send_uninstall_ping.cc",
"task_send_uninstall_ping.h",
"task_traits.h",
"task_update.cc",
"task_update.h",
"update_checker.cc",
"update_checker.h",
"update_client.cc",
"update_client.h",
"update_client_errors.h",
"update_client_internal.h",
"update_engine.cc",
"update_engine.h",
"update_query_params.cc",
"update_query_params.h",
"update_query_params_delegate.cc",
"update_query_params_delegate.h",
"updater_state.cc",
"updater_state.h",
"updater_state_mac.mm",
"updater_state_win.cc",
"url_fetcher_downloader.cc",
"url_fetcher_downloader.h",
"utils.cc",
"utils.h",
]
# Allows callers to include the network factory through "update_client" deps.
public_deps = [
":network_public",
]
deps = [
":network",
":network_public",
"//base",
"//components/client_update_protocol",
"//components/crx_file",
"//components/data_use_measurement/core",
"//components/prefs",
"//components/services/patch/public/cpp",
"//components/services/unzip/public/cpp",
"//components/version_info:version_info",
"//courgette:courgette_lib",
"//crypto",
"//third_party/libxml",
"//url",
]
allow_circular_includes_from = [
":network",
":network_public",
]
}
static_library("test_support") {
testonly = true
sources = [
"net/url_loader_post_interceptor.cc",
"net/url_loader_post_interceptor.h",
"test_configurator.cc",
"test_configurator.h",
"test_installer.cc",
"test_installer.h",
]
public_deps = [
":update_client",
]
deps = [
"//base",
"//components/prefs",
"//components/services/patch:lib",
"//components/services/unzip:lib",
"//mojo/public/cpp/bindings",
"//net:test_support",
"//services/network:test_support",
"//services/service_manager/public/cpp",
"//services/service_manager/public/cpp/test:test_support",
"//services/service_manager/public/mojom",
"//testing/gmock",
"//testing/gtest",
"//url",
]
}
bundle_data("unit_tests_bundle_data") {
visibility = [ ":unit_tests" ]
testonly = true
sources = [
"//components/test/data/update_client/binary_bsdiff_patch.bin",
"//components/test/data/update_client/binary_courgette_patch.bin",
"//components/test/data/update_client/binary_input.bin",
"//components/test/data/update_client/binary_output.bin",
"//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc_1.crx",
"//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc_1to2.crx",
"//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc_2.crx",
"//components/test/data/update_client/jebgalgnebhfojomionfpkfelancnnkf.crx",
"//components/test/data/update_client/runaction_test_win.crx3",
"//components/test/data/update_client/updatecheck_reply_1.json",
"//components/test/data/update_client/updatecheck_reply_1.xml",
"//components/test/data/update_client/updatecheck_reply_4.json",
"//components/test/data/update_client/updatecheck_reply_4.xml",
"//components/test/data/update_client/updatecheck_reply_noupdate.json",
"//components/test/data/update_client/updatecheck_reply_noupdate.xml",
"//components/test/data/update_client/updatecheck_reply_parse_error.json",
"//components/test/data/update_client/updatecheck_reply_parse_error.xml",
"//components/test/data/update_client/updatecheck_reply_unknownapp.json",
"//components/test/data/update_client/updatecheck_reply_unknownapp.xml",
]
outputs = [
"{{bundle_resources_dir}}/" +
"{{source_root_relative_dir}}/{{source_file_part}}",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"component_patcher_unittest.cc",
"component_patcher_unittest.h",
"component_unpacker_unittest.cc",
"persisted_data_unittest.cc",
"ping_manager_unittest.cc",
"protocol_parser_json_unittest.cc",
"protocol_parser_xml_unittest.cc",
"protocol_serializer_json_unittest.cc",
"protocol_serializer_unittest.cc",
"protocol_serializer_xml_unittest.cc",
"request_sender_unittest.cc",
"update_checker_unittest.cc",
"update_client_unittest.cc",
"update_query_params_unittest.cc",
"updater_state_unittest.cc",
"utils_unittest.cc",
]
if (!disable_file_support) {
sources += [ "crx_downloader_unittest.cc" ]
}
deps = [
":network",
":test_support",
":unit_tests_bundle_data",
":update_client",
"//base",
"//components/crx_file",
"//components/prefs",
"//components/prefs:test_support",
"//components/services/patch:lib",
"//components/version_info:version_info",
"//courgette:courgette_lib",
"//net:test_support",
"//services/network:test_support",
"//services/network/public/cpp:cpp",
"//services/network/public/cpp:cpp_base",
"//services/service_manager/public/cpp",
"//services/service_manager/public/cpp/test:test_support",
"//testing/gmock",
"//testing/gtest",
"//third_party/libxml",
"//third_party/re2",
]
}