1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
# Copyright 2015 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//testing/libfuzzer/fuzzer_test.gni")
if (is_android) {
import("//build/config/android/rules.gni")
}
static_library("skeleton_generator") {
sources = [
"spoof_checks/skeleton_generator.cc",
"spoof_checks/skeleton_generator.h",
]
deps = [
"//base",
"//base:i18n",
]
}
static_library("url_formatter") {
sources = [
"elide_url.cc",
"elide_url.h",
"spoof_checks/idn_spoof_checker.cc",
"spoof_checks/idn_spoof_checker.h",
"url_fixer.cc",
"url_fixer.h",
"url_formatter.cc",
"url_formatter.h",
]
deps = [
"//base",
"//base:i18n",
"//build:robolectric_buildflags",
"//components/url_formatter:skeleton_generator",
"//components/url_formatter/spoof_checks/common_words:common",
"//components/url_formatter/spoof_checks/common_words:common_words_dafsa",
"//components/url_formatter/spoof_checks/top_domains:common",
"//components/url_formatter/spoof_checks/top_domains:generate_top_domains_trie",
"//net",
"//net:preload_decoder",
"//url",
]
public_deps = [ "//third_party/icu" ]
if (is_robolectric) {
# Make jni.h available.
configs += [ "//third_party/jdk" ]
}
if (is_android || is_robolectric) {
sources += [ "url_formatter_android.cc" ]
deps += [ "android:jni_headers" ]
} else {
# Used in elide_url.cc
deps += [ "//ui/gfx" ]
}
}
if (is_android) {
java_cpp_enum("url_formatter_java_enums_srcjar") {
sources = [ "elide_url.h" ]
}
}
source_set("unit_tests") {
testonly = true
sources = [
"elide_url_unittest.cc",
"spoof_checks/idn_spoof_checker_unittest.cc",
"url_fixer_unittest.cc",
"url_formatter_unittest.cc",
]
deps = [
":skeleton_generator",
":url_formatter",
"//base",
"//base/test:test_support",
"//components/url_formatter/spoof_checks/top_domains:generate_idn_top_domains_test_trie",
"//net",
"//net:preload_decoder",
"//testing/gtest",
"//ui/gfx",
"//url",
]
}
test("url_formatter_fixer_fuzzer") {
sources = [ "url_fixer_fuzzer.cc" ]
fuzztests = [
"URLFixerFuzzer.FuzzSegmentURL",
"URLFixerFuzzer.FuzzUTF16SegmentURL",
"URLFixerFuzzer.FuzzFormatURL",
"URLFixerFuzzer.FuzzFixupURL",
"URLFixerFuzzer.FuzzFixupRelativeFile",
]
deps = [
":url_formatter",
"//base",
"//base:i18n",
"//third_party/fuzztest:fuzztest_gtest_main",
"//url",
]
}
|