123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- # 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("//build/buildflag_header.gni")
- import("//components/update_client/buildflags.gni")
- import("//net/features.gni")
- import("//testing/libfuzzer/fuzzer_test.gni")
- buildflag_header("buildflags") {
- header = "buildflags.h"
- flags = [ "ENABLE_PUFFIN_PATCHES=$enable_puffin_patches" ]
- }
- source_set("network_impl") {
- sources = [
- "net/network_chromium.h",
- "net/network_impl.cc",
- "net/network_impl.h",
- ]
- deps = [
- ":update_client",
- "//base",
- "//net",
- "//services/network/public/cpp:cpp",
- "//url",
- ]
- }
- source_set("in_process_unzipper") {
- sources = [
- "unzip/in_process_unzipper.cc",
- "unzip/in_process_unzipper.h",
- ]
- deps = [
- ":update_client",
- "//base",
- "//third_party/zlib/google:zip",
- ]
- }
- source_set("in_process_patcher") {
- sources = [
- "patch/in_process_patcher.cc",
- "patch/in_process_patcher.h",
- ]
- deps = [
- ":buildflags",
- ":update_client",
- "//base",
- "//courgette:bsdiff",
- "//courgette:courgette_lib",
- ]
- }
- source_set("unzip_impl") {
- sources = [
- "unzip/unzip_impl.cc",
- "unzip/unzip_impl.h",
- ]
- deps = [
- ":update_client",
- "//components/services/unzip/public/cpp",
- ]
- }
- source_set("patch_impl") {
- sources = [
- "patch/patch_impl.cc",
- "patch/patch_impl.h",
- ]
- deps = [
- ":buildflags",
- ":update_client",
- "//build:chromeos_buildflags",
- "//components/services/patch/public/cpp",
- "//components/services/patch/public/mojom",
- "//mojo/public/cpp/bindings",
- ]
- }
- group("common_impl") {
- public_deps = [
- ":network_impl",
- ":patch_impl",
- ":unzip_impl",
- ]
- }
- static_library("update_client") {
- sources = [
- "action_runner.cc",
- "action_runner.h",
- "activity_data_service.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_downloader_factory.cc",
- "crx_downloader_factory.h",
- "crx_update_item.h",
- "network.cc",
- "network.h",
- "patcher.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_serializer.cc",
- "protocol_serializer.h",
- "protocol_serializer_json.cc",
- "protocol_serializer_json.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",
- "unzipper.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",
- "url_fetcher_downloader.cc",
- "url_fetcher_downloader.h",
- "utils.cc",
- "utils.h",
- ]
- deps = [
- "//base",
- "//build:branding_buildflags",
- "//build:chromeos_buildflags",
- "//components/client_update_protocol",
- "//components/crx_file",
- "//components/prefs",
- "//components/version_info:version_info",
- "//courgette:courgette_lib",
- "//crypto",
- "//url",
- ]
- if (is_win) {
- sources += [
- "background_downloader_win.cc",
- "background_downloader_win.h",
- ]
- }
- # TODO(crbug.com/1349060) once Puffin patches are fully implemented,
- # we should remove the enable_puffin_patches flag.
- if (enable_puffin_patches) {
- include_dirs = [ "//third_party/puffin/src/include" ]
- sources += [
- "puffin_component_unpacker.cc",
- "puffin_component_unpacker.h",
- "puffin_patcher.cc",
- "puffin_patcher.h",
- ]
- }
- }
- static_library("test_support") {
- testonly = true
- sources = [
- "net/url_loader_post_interceptor.cc",
- "net/url_loader_post_interceptor.h",
- "test_activity_data_service.cc",
- "test_activity_data_service.h",
- "test_configurator.cc",
- "test_configurator.h",
- "test_installer.cc",
- "test_installer.h",
- ]
- public_deps = [ ":update_client" ]
- deps = [
- ":network_impl",
- ":patch_impl",
- ":unzip_impl",
- "//base",
- "//components/prefs",
- "//components/services/patch:in_process",
- "//components/services/unzip:in_process",
- "//mojo/public/cpp/bindings",
- "//net:test_support",
- "//services/network:test_support",
- "//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/empty_file",
- "//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_4.json",
- "//components/test/data/update_client/updatecheck_reply_noupdate.json",
- "//components/test/data/update_client/updatecheck_reply_parse_error.json",
- "//components/test/data/update_client/updatecheck_reply_unknownapp.json",
- ]
- outputs = [ "{{bundle_resources_dir}}/" +
- "{{source_root_relative_dir}}/{{source_file_part}}" ]
- }
- bundle_data("recovery_component_tests_bundle_data") {
- visibility = [ "//chrome/test:unit_tests" ]
- testonly = true
- sources = [ "//components/test/data/update_client/ChromeRecovery.crx3" ]
- 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_serializer_json_unittest.cc",
- "protocol_serializer_unittest.cc",
- "request_sender_unittest.cc",
- "update_checker_unittest.cc",
- "update_client_unittest.cc",
- "update_query_params_unittest.cc",
- "utils_unittest.cc",
- ]
- if (!disable_file_support) {
- sources += [ "crx_downloader_unittest.cc" ]
- }
- deps = [
- ":network_impl",
- ":patch_impl",
- ":test_support",
- ":unit_tests_bundle_data",
- ":unzip_impl",
- ":update_client",
- "//base",
- "//build:branding_buildflags",
- "//components/crx_file",
- "//components/prefs",
- "//components/prefs:test_support",
- "//components/services/patch:in_process",
- "//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",
- "//testing/gmock",
- "//testing/gtest",
- "//third_party/re2",
- ]
- # TODO(crbug.com/1349060) once Puffin patches are fully implemented,
- # we should remove the enable_puffin_patches flag.
- if (enable_puffin_patches) {
- sources += [
- "puffin_component_unpacker_unittest.cc",
- "puffin_patcher_unittest.cc",
- ]
- deps += [ "//third_party/puffin:libpuffpatch" ]
- data_deps = [ "//components/test/data/update_client/puffin_patch_test:puffin_patch_test_files" ]
- }
- }
- fuzzer_test("update_client_protocol_serializer_fuzzer") {
- sources = [ "protocol_serializer_fuzzer.cc" ]
- deps = [
- ":update_client",
- "//base:base",
- ]
- seed_corpus = "fuzzer_corpuses/protocol_serializer/"
- }
- fuzzer_test("update_client_protocol_parser_fuzzer") {
- sources = [ "protocol_parser_fuzzer.cc" ]
- deps = [
- ":update_client",
- "//base:base",
- ]
- seed_corpus = "fuzzer_corpuses/protocol_parser/"
- }
|