# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
source_set("lib") {
sources = [
"unzipper_impl.cc",
"unzipper_impl.h",
]
deps = [
"//base",
"//mojo/public/cpp/bindings",
"//third_party/ced",
"//third_party/zlib",
"//third_party/zlib/google:zip",
]
public_deps = [
"//components/services/storage/public/cpp/filesystem",
"//components/services/unzip/public/mojom",
]
}
source_set("in_process") {
# NOTE: In-process unzipping is unsafe! Unfortunately on iOS we have no other
# choice. On all other platforms, this target is restricted to tests.
testonly = !is_ios
sources = [
"in_process_unzipper.cc",
"in_process_unzipper.h",
]
deps = [
":lib",
"//base",
]
public_deps = [
"//components/services/unzip/public/mojom",
"//mojo/public/cpp/bindings",
]
}
bundle_data("unit_tests_bundle_data") {
visibility = [ ":unit_tests" ]
testonly = true
sources = [
"//components/test/data/unzip_service/DifferentEncryptions.zip",
"//components/test/data/unzip_service/Duplicate Filenames.zip",
"//components/test/data/unzip_service/SJIS 00.zip",
"//components/test/data/unzip_service/SJIS 01.zip",
"//components/test/data/unzip_service/SJIS 02.zip",
"//components/test/data/unzip_service/SJIS 03.zip",
"//components/test/data/unzip_service/SJIS 04.zip",
"//components/test/data/unzip_service/SJIS 05.zip",
"//components/test/data/unzip_service/SJIS 06.zip",
"//components/test/data/unzip_service/SJIS 07.zip",
"//components/test/data/unzip_service/SJIS 08.zip",
"//components/test/data/unzip_service/SJIS 09.zip",
"//components/test/data/unzip_service/SJIS 10.zip",
"//components/test/data/unzip_service/SJIS 11.zip",
"//components/test/data/unzip_service/SJIS 12.zip",
"//components/test/data/unzip_service/SJIS 13.zip",
"//components/test/data/unzip_service/UTF8 (Bug 903664).zip",
"//components/test/data/unzip_service/Wrong CRC.zip",
"//components/test/data/unzip_service/bad_archive.zip",
"//components/test/data/unzip_service/bug953599.zip",
"//components/test/data/unzip_service/encrypted_archive.zip",
"//components/test/data/unzip_service/good_archive.zip",
]
outputs = [ "{{bundle_resources_dir}}/" +
"{{source_root_relative_dir}}/{{source_file_part}}" ]
}
source_set("unit_tests") {
testonly = true
sources = [ "public/cpp/unzip_unittest.cc" ]
deps = [
":lib",
":unit_tests_bundle_data",
"//base",
"//base/test:test_support",
"//components/services/unzip/public/cpp",
"//testing/gtest",
]
}