1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 import("//build/buildflag_header.gni")
6 import("//testing/libfuzzer/fuzzer_test.gni")
7 import("//testing/test.gni")
11 import("//build/config/android/rules.gni")
14 buildflag_header("buildflags") {
15 header = "buildflags.h"
16 flags = [ "USE_PLATFORM_ICU_ALTERNATIVES=$use_platform_icu_alternatives" ]
25 "scheme_host_port.cc",
27 "third_party/mozilla/url_parse.cc",
28 "third_party/mozilla/url_parse.h",
32 "url_canon_filesystemurl.cc",
33 "url_canon_fileurl.cc",
35 "url_canon_internal.cc",
36 "url_canon_internal.h",
37 "url_canon_internal_file.h",
40 "url_canon_mailtourl.cc",
42 "url_canon_pathurl.cc",
44 "url_canon_relative.cc",
45 "url_canon_stdstring.cc",
46 "url_canon_stdstring.h",
47 "url_canon_stdurl.cc",
52 "url_parse_internal.h",
55 "url_util_internal.h",
58 defines = [ "IS_URL_IMPL" ]
62 "//base/third_party/dynamic_annotations",
67 # Don't conflict with Windows' "url.dll".
68 output_name = "url_lib"
72 if (use_platform_icu_alternatives) {
74 sources += [ "url_idna_icu_alternatives_android.cc" ]
80 "//base/third_party/dynamic_annotations",
83 sources += [ "url_idna_icu_alternatives_ios.mm" ]
86 "ICU alternative is not implemented for platform: " + target_os)
95 deps += [ "//third_party/icu" ]
100 android_library("url_java") {
101 java_files = [ "android/java/src/org/chromium/url/IDNStringUtil.java" ]
107 generate_jni("url_jni_headers") {
109 "android/java/src/org/chromium/url/IDNStringUtil.java",
115 test("url_unittests") {
118 "origin_unittest.cc",
119 "run_all_unittests.cc",
120 "scheme_host_port_unittest.cc",
121 "url_canon_icu_unittest.cc",
122 "url_canon_unittest.cc",
123 "url_parse_unittest.cc",
125 "url_util_unittest.cc",
131 "//base/test:test_support",
137 sources += [ "mojom/url_gurl_mojom_traits_unittest.cc" ]
140 if (use_platform_icu_alternatives) {
141 # Unit tests that are not supported by the current ICU alternatives on Android.
144 "url_canon_icu_unittest.cc",
145 "url_canon_unittest.cc",
147 deps += [ ":url_java" ]
150 # Unit tests that are not supported by the current ICU alternatives on iOS.
153 "origin_unittest.cc",
154 "scheme_host_port_unittest.cc",
155 "url_canon_icu_unittest.cc",
156 "url_canon_unittest.cc",
159 } else { # !use_platform_icu_alternatives
160 deps += [ "//third_party/icu:icuuc" ]
165 "//mojo/core/embedder",
166 "//url/mojom:test_url_mojom_gurl",
171 test("url_perftests") {
173 "run_all_perftests.cc",
174 "url_parse_perftest.cc",
180 "//base/test:test_support",
185 fuzzer_test("gurl_fuzzer") {
194 dict = "gurl_fuzzer.dict"