1*6777b538SAndroid Build Coastguard Worker# Copyright 2013 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Workerimport("//build/buildflag_header.gni") 6*6777b538SAndroid Build Coastguard Workerimport("//testing/libfuzzer/fuzzer_test.gni") 7*6777b538SAndroid Build Coastguard Workerimport("//testing/test.gni") 8*6777b538SAndroid Build Coastguard Workerimport("features.gni") 9*6777b538SAndroid Build Coastguard Worker 10*6777b538SAndroid Build Coastguard Workerimport("//build/config/cronet/config.gni") 11*6777b538SAndroid Build Coastguard Workerimport("//third_party/jni_zero/jni_zero.gni") 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard Workerif (is_android) { 14*6777b538SAndroid Build Coastguard Worker import("//build/config/android/rules.gni") 15*6777b538SAndroid Build Coastguard Worker} 16*6777b538SAndroid Build Coastguard Worker 17*6777b538SAndroid Build Coastguard Workerbuildflag_header("buildflags") { 18*6777b538SAndroid Build Coastguard Worker header = "buildflags.h" 19*6777b538SAndroid Build Coastguard Worker flags = [ "USE_PLATFORM_ICU_ALTERNATIVES=$use_platform_icu_alternatives" ] 20*6777b538SAndroid Build Coastguard Worker} 21*6777b538SAndroid Build Coastguard Worker 22*6777b538SAndroid Build Coastguard Workercomponent("url") { 23*6777b538SAndroid Build Coastguard Worker sources = [ 24*6777b538SAndroid Build Coastguard Worker "gurl.cc", 25*6777b538SAndroid Build Coastguard Worker "gurl.h", 26*6777b538SAndroid Build Coastguard Worker "origin.cc", 27*6777b538SAndroid Build Coastguard Worker "origin.h", 28*6777b538SAndroid Build Coastguard Worker "scheme_host_port.cc", 29*6777b538SAndroid Build Coastguard Worker "scheme_host_port.h", 30*6777b538SAndroid Build Coastguard Worker "third_party/mozilla/url_parse.cc", 31*6777b538SAndroid Build Coastguard Worker "third_party/mozilla/url_parse.h", 32*6777b538SAndroid Build Coastguard Worker "url_canon.cc", 33*6777b538SAndroid Build Coastguard Worker "url_canon.h", 34*6777b538SAndroid Build Coastguard Worker "url_canon_etc.cc", 35*6777b538SAndroid Build Coastguard Worker "url_canon_filesystemurl.cc", 36*6777b538SAndroid Build Coastguard Worker "url_canon_fileurl.cc", 37*6777b538SAndroid Build Coastguard Worker "url_canon_host.cc", 38*6777b538SAndroid Build Coastguard Worker "url_canon_internal.cc", 39*6777b538SAndroid Build Coastguard Worker "url_canon_internal.h", 40*6777b538SAndroid Build Coastguard Worker "url_canon_internal_file.h", 41*6777b538SAndroid Build Coastguard Worker "url_canon_ip.cc", 42*6777b538SAndroid Build Coastguard Worker "url_canon_ip.h", 43*6777b538SAndroid Build Coastguard Worker "url_canon_mailtourl.cc", 44*6777b538SAndroid Build Coastguard Worker "url_canon_non_special_url.cc", 45*6777b538SAndroid Build Coastguard Worker "url_canon_path.cc", 46*6777b538SAndroid Build Coastguard Worker "url_canon_pathurl.cc", 47*6777b538SAndroid Build Coastguard Worker "url_canon_query.cc", 48*6777b538SAndroid Build Coastguard Worker "url_canon_relative.cc", 49*6777b538SAndroid Build Coastguard Worker "url_canon_stdstring.cc", 50*6777b538SAndroid Build Coastguard Worker "url_canon_stdstring.h", 51*6777b538SAndroid Build Coastguard Worker "url_canon_stdurl.cc", 52*6777b538SAndroid Build Coastguard Worker "url_constants.h", 53*6777b538SAndroid Build Coastguard Worker "url_features.cc", 54*6777b538SAndroid Build Coastguard Worker "url_features.h", 55*6777b538SAndroid Build Coastguard Worker "url_file.h", 56*6777b538SAndroid Build Coastguard Worker "url_parse_file.cc", 57*6777b538SAndroid Build Coastguard Worker "url_parse_internal.h", 58*6777b538SAndroid Build Coastguard Worker "url_util.cc", 59*6777b538SAndroid Build Coastguard Worker "url_util.h", 60*6777b538SAndroid Build Coastguard Worker "url_util_internal.h", 61*6777b538SAndroid Build Coastguard Worker ] 62*6777b538SAndroid Build Coastguard Worker 63*6777b538SAndroid Build Coastguard Worker defines = [ "IS_URL_IMPL" ] 64*6777b538SAndroid Build Coastguard Worker 65*6777b538SAndroid Build Coastguard Worker deps = [] 66*6777b538SAndroid Build Coastguard Worker 67*6777b538SAndroid Build Coastguard Worker public_deps = [ 68*6777b538SAndroid Build Coastguard Worker "//base", 69*6777b538SAndroid Build Coastguard Worker "//build:robolectric_buildflags", 70*6777b538SAndroid Build Coastguard Worker ] 71*6777b538SAndroid Build Coastguard Worker 72*6777b538SAndroid Build Coastguard Worker configs += [ "//build/config/compiler:wexit_time_destructors" ] 73*6777b538SAndroid Build Coastguard Worker 74*6777b538SAndroid Build Coastguard Worker if (is_android || is_robolectric) { 75*6777b538SAndroid Build Coastguard Worker deps += [ ":url_jni_headers" ] 76*6777b538SAndroid Build Coastguard Worker if (!is_cronet_build) { 77*6777b538SAndroid Build Coastguard Worker sources += [ 78*6777b538SAndroid Build Coastguard Worker "android/gurl_android.cc", 79*6777b538SAndroid Build Coastguard Worker "android/gurl_android.h", 80*6777b538SAndroid Build Coastguard Worker "android/origin_android.cc", 81*6777b538SAndroid Build Coastguard Worker "android/parsed_android.cc", 82*6777b538SAndroid Build Coastguard Worker "android/parsed_android.h", 83*6777b538SAndroid Build Coastguard Worker ] 84*6777b538SAndroid Build Coastguard Worker } 85*6777b538SAndroid Build Coastguard Worker } 86*6777b538SAndroid Build Coastguard Worker 87*6777b538SAndroid Build Coastguard Worker if (is_robolectric) { 88*6777b538SAndroid Build Coastguard Worker # Make jni.h available. 89*6777b538SAndroid Build Coastguard Worker public_configs = [ "//third_party/jdk" ] 90*6777b538SAndroid Build Coastguard Worker } 91*6777b538SAndroid Build Coastguard Worker 92*6777b538SAndroid Build Coastguard Worker if (is_win) { 93*6777b538SAndroid Build Coastguard Worker # Don't conflict with Windows' "url.dll". 94*6777b538SAndroid Build Coastguard Worker output_name = "url_lib" 95*6777b538SAndroid Build Coastguard Worker } 96*6777b538SAndroid Build Coastguard Worker 97*6777b538SAndroid Build Coastguard Worker # ICU support. 98*6777b538SAndroid Build Coastguard Worker if (use_platform_icu_alternatives) { 99*6777b538SAndroid Build Coastguard Worker if (is_android) { 100*6777b538SAndroid Build Coastguard Worker sources += [ "url_idna_icu_alternatives_android.cc" ] 101*6777b538SAndroid Build Coastguard Worker deps += [ ":buildflags" ] 102*6777b538SAndroid Build Coastguard Worker } else if (is_ios) { 103*6777b538SAndroid Build Coastguard Worker sources += [ "url_idna_icu_alternatives_ios.mm" ] 104*6777b538SAndroid Build Coastguard Worker } else { 105*6777b538SAndroid Build Coastguard Worker assert(false, 106*6777b538SAndroid Build Coastguard Worker "ICU alternative is not implemented for platform: " + target_os) 107*6777b538SAndroid Build Coastguard Worker } 108*6777b538SAndroid Build Coastguard Worker } else { 109*6777b538SAndroid Build Coastguard Worker # Use ICU. 110*6777b538SAndroid Build Coastguard Worker sources += [ 111*6777b538SAndroid Build Coastguard Worker "url_canon_icu.cc", 112*6777b538SAndroid Build Coastguard Worker "url_canon_icu.h", 113*6777b538SAndroid Build Coastguard Worker "url_idna_icu.cc", 114*6777b538SAndroid Build Coastguard Worker ] 115*6777b538SAndroid Build Coastguard Worker deps += [ 116*6777b538SAndroid Build Coastguard Worker "//base:i18n", 117*6777b538SAndroid Build Coastguard Worker "//third_party/icu", 118*6777b538SAndroid Build Coastguard Worker ] 119*6777b538SAndroid Build Coastguard Worker } 120*6777b538SAndroid Build Coastguard Worker} 121*6777b538SAndroid Build Coastguard Worker 122*6777b538SAndroid Build Coastguard Workerif (is_android || is_robolectric) { 123*6777b538SAndroid Build Coastguard Worker generate_jni("url_jni_headers") { 124*6777b538SAndroid Build Coastguard Worker sources = [ "android/java/src/org/chromium/url/IDNStringUtil.java" ] 125*6777b538SAndroid Build Coastguard Worker if (!is_cronet_build) { 126*6777b538SAndroid Build Coastguard Worker sources += [ 127*6777b538SAndroid Build Coastguard Worker "android/java/src/org/chromium/url/GURL.java", 128*6777b538SAndroid Build Coastguard Worker "android/java/src/org/chromium/url/Origin.java", 129*6777b538SAndroid Build Coastguard Worker "android/java/src/org/chromium/url/Parsed.java", 130*6777b538SAndroid Build Coastguard Worker ] 131*6777b538SAndroid Build Coastguard Worker } 132*6777b538SAndroid Build Coastguard Worker } 133*6777b538SAndroid Build Coastguard Worker} 134*6777b538SAndroid Build Coastguard Workerif (is_android && current_toolchain == default_toolchain) { 135*6777b538SAndroid Build Coastguard Worker # TODO(agrieve): Remove alias once usages are removed. 136*6777b538SAndroid Build Coastguard Worker java_group("gurl_java") { 137*6777b538SAndroid Build Coastguard Worker deps = [ ":url_java" ] 138*6777b538SAndroid Build Coastguard Worker } 139*6777b538SAndroid Build Coastguard Worker 140*6777b538SAndroid Build Coastguard Worker android_library("url_java") { 141*6777b538SAndroid Build Coastguard Worker sources = [ "android/java/src/org/chromium/url/IDNStringUtil.java" ] 142*6777b538SAndroid Build Coastguard Worker srcjar_deps = [ ":url_jni_headers" ] 143*6777b538SAndroid Build Coastguard Worker deps = [ "//third_party/jni_zero:jni_zero_java" ] 144*6777b538SAndroid Build Coastguard Worker if (!is_cronet_build) { 145*6777b538SAndroid Build Coastguard Worker sources += [ 146*6777b538SAndroid Build Coastguard Worker "android/java/src/org/chromium/url/GURL.java", 147*6777b538SAndroid Build Coastguard Worker "android/java/src/org/chromium/url/Origin.java", 148*6777b538SAndroid Build Coastguard Worker "android/java/src/org/chromium/url/Parsed.java", 149*6777b538SAndroid Build Coastguard Worker "android/java/src/org/chromium/url/URI.java", 150*6777b538SAndroid Build Coastguard Worker ] 151*6777b538SAndroid Build Coastguard Worker deps += [ 152*6777b538SAndroid Build Coastguard Worker "//base:base_java", 153*6777b538SAndroid Build Coastguard Worker "//build/android:build_java", 154*6777b538SAndroid Build Coastguard Worker "//mojo/public/java:bindings_java", 155*6777b538SAndroid Build Coastguard Worker "//mojo/public/mojom/base:base_java", 156*6777b538SAndroid Build Coastguard Worker "//third_party/android_deps:com_google_errorprone_error_prone_annotations_java", 157*6777b538SAndroid Build Coastguard Worker "//third_party/androidx:androidx_annotation_annotation_java", 158*6777b538SAndroid Build Coastguard Worker "//url/mojom:url_mojom_gurl_java", 159*6777b538SAndroid Build Coastguard Worker "//url/mojom:url_mojom_origin_java", 160*6777b538SAndroid Build Coastguard Worker ] 161*6777b538SAndroid Build Coastguard Worker } 162*6777b538SAndroid Build Coastguard Worker } 163*6777b538SAndroid Build Coastguard Worker} 164*6777b538SAndroid Build Coastguard Worker 165*6777b538SAndroid Build Coastguard Workersource_set("url_test_support") { 166*6777b538SAndroid Build Coastguard Worker testonly = true 167*6777b538SAndroid Build Coastguard Worker 168*6777b538SAndroid Build Coastguard Worker sources = [ 169*6777b538SAndroid Build Coastguard Worker "gurl_abstract_tests.h", 170*6777b538SAndroid Build Coastguard Worker "origin_abstract_tests.cc", 171*6777b538SAndroid Build Coastguard Worker "origin_abstract_tests.h", 172*6777b538SAndroid Build Coastguard Worker "url_canon_icu_test_helpers.h", 173*6777b538SAndroid Build Coastguard Worker ] 174*6777b538SAndroid Build Coastguard Worker 175*6777b538SAndroid Build Coastguard Worker public_deps = [ 176*6777b538SAndroid Build Coastguard Worker ":url", 177*6777b538SAndroid Build Coastguard Worker "//base", 178*6777b538SAndroid Build Coastguard Worker "//base/test:test_support", 179*6777b538SAndroid Build Coastguard Worker "//testing/gmock", 180*6777b538SAndroid Build Coastguard Worker "//testing/gtest", 181*6777b538SAndroid Build Coastguard Worker ] 182*6777b538SAndroid Build Coastguard Worker} 183*6777b538SAndroid Build Coastguard Worker 184*6777b538SAndroid Build Coastguard Workertest("url_unittests") { 185*6777b538SAndroid Build Coastguard Worker sources = [ 186*6777b538SAndroid Build Coastguard Worker "gurl_unittest.cc", 187*6777b538SAndroid Build Coastguard Worker "origin_unittest.cc", 188*6777b538SAndroid Build Coastguard Worker "run_all_unittests.cc", 189*6777b538SAndroid Build Coastguard Worker "scheme_host_port_unittest.cc", 190*6777b538SAndroid Build Coastguard Worker "url_canon_icu_unittest.cc", 191*6777b538SAndroid Build Coastguard Worker "url_canon_unittest.cc", 192*6777b538SAndroid Build Coastguard Worker "url_parse_unittest.cc", 193*6777b538SAndroid Build Coastguard Worker "url_test_utils.h", 194*6777b538SAndroid Build Coastguard Worker "url_util_unittest.cc", 195*6777b538SAndroid Build Coastguard Worker ] 196*6777b538SAndroid Build Coastguard Worker 197*6777b538SAndroid Build Coastguard Worker deps = [ 198*6777b538SAndroid Build Coastguard Worker ":url", 199*6777b538SAndroid Build Coastguard Worker ":url_test_support", 200*6777b538SAndroid Build Coastguard Worker "//base", 201*6777b538SAndroid Build Coastguard Worker "//base/test:test_support", 202*6777b538SAndroid Build Coastguard Worker "//testing/gmock", 203*6777b538SAndroid Build Coastguard Worker "//testing/gtest", 204*6777b538SAndroid Build Coastguard Worker ] 205*6777b538SAndroid Build Coastguard Worker 206*6777b538SAndroid Build Coastguard Worker if (use_platform_icu_alternatives) { 207*6777b538SAndroid Build Coastguard Worker # Unit tests that are not supported by the current ICU alternatives on Android. 208*6777b538SAndroid Build Coastguard Worker if (is_android) { 209*6777b538SAndroid Build Coastguard Worker sources -= [ 210*6777b538SAndroid Build Coastguard Worker "url_canon_icu_unittest.cc", 211*6777b538SAndroid Build Coastguard Worker "url_canon_unittest.cc", 212*6777b538SAndroid Build Coastguard Worker ] 213*6777b538SAndroid Build Coastguard Worker deps += [ ":url_java" ] 214*6777b538SAndroid Build Coastguard Worker } 215*6777b538SAndroid Build Coastguard Worker 216*6777b538SAndroid Build Coastguard Worker # Unit tests that are not supported by the current ICU alternatives on iOS. 217*6777b538SAndroid Build Coastguard Worker if (is_ios) { 218*6777b538SAndroid Build Coastguard Worker sources -= [ 219*6777b538SAndroid Build Coastguard Worker "origin_unittest.cc", 220*6777b538SAndroid Build Coastguard Worker "scheme_host_port_unittest.cc", 221*6777b538SAndroid Build Coastguard Worker "url_canon_icu_unittest.cc", 222*6777b538SAndroid Build Coastguard Worker "url_canon_unittest.cc", 223*6777b538SAndroid Build Coastguard Worker ] 224*6777b538SAndroid Build Coastguard Worker } 225*6777b538SAndroid Build Coastguard Worker } else { # !use_platform_icu_alternatives 226*6777b538SAndroid Build Coastguard Worker deps += [ "//third_party/icu:icuuc" ] 227*6777b538SAndroid Build Coastguard Worker } 228*6777b538SAndroid Build Coastguard Worker 229*6777b538SAndroid Build Coastguard Worker if (!is_ios && !is_cronet_build) { 230*6777b538SAndroid Build Coastguard Worker sources += [ 231*6777b538SAndroid Build Coastguard Worker "mojom/scheme_host_port_mojom_traits_unittest.cc", 232*6777b538SAndroid Build Coastguard Worker "mojom/url_gurl_mojom_traits_unittest.cc", 233*6777b538SAndroid Build Coastguard Worker ] 234*6777b538SAndroid Build Coastguard Worker deps += [ 235*6777b538SAndroid Build Coastguard Worker "//mojo/core/embedder", 236*6777b538SAndroid Build Coastguard Worker "//mojo/public/cpp/test_support:test_utils", 237*6777b538SAndroid Build Coastguard Worker "//url/ipc:url_ipc_unittests", 238*6777b538SAndroid Build Coastguard Worker "//url/mojom:mojom_traits", 239*6777b538SAndroid Build Coastguard Worker "//url/mojom:test_url_mojom_gurl", 240*6777b538SAndroid Build Coastguard Worker ] 241*6777b538SAndroid Build Coastguard Worker } 242*6777b538SAndroid Build Coastguard Worker} 243*6777b538SAndroid Build Coastguard Worker 244*6777b538SAndroid Build Coastguard Workertest("url_perftests") { 245*6777b538SAndroid Build Coastguard Worker sources = [ 246*6777b538SAndroid Build Coastguard Worker "run_all_perftests.cc", 247*6777b538SAndroid Build Coastguard Worker "url_parse_perftest.cc", 248*6777b538SAndroid Build Coastguard Worker ] 249*6777b538SAndroid Build Coastguard Worker 250*6777b538SAndroid Build Coastguard Worker deps = [ 251*6777b538SAndroid Build Coastguard Worker ":url", 252*6777b538SAndroid Build Coastguard Worker "//base", 253*6777b538SAndroid Build Coastguard Worker "//base/test:test_support", 254*6777b538SAndroid Build Coastguard Worker "//testing/gtest", 255*6777b538SAndroid Build Coastguard Worker ] 256*6777b538SAndroid Build Coastguard Worker} 257*6777b538SAndroid Build Coastguard Worker 258*6777b538SAndroid Build Coastguard Workerfuzzer_test("gurl_fuzzer") { 259*6777b538SAndroid Build Coastguard Worker sources = [ "gurl_fuzzer.cc" ] 260*6777b538SAndroid Build Coastguard Worker deps = [ 261*6777b538SAndroid Build Coastguard Worker ":url", 262*6777b538SAndroid Build Coastguard Worker "//base", 263*6777b538SAndroid Build Coastguard Worker "//base:i18n", 264*6777b538SAndroid Build Coastguard Worker ] 265*6777b538SAndroid Build Coastguard Worker dict = "gurl_fuzzer.dict" 266*6777b538SAndroid Build Coastguard Worker} 267*6777b538SAndroid Build Coastguard Worker 268*6777b538SAndroid Build Coastguard Workerfuzzer_test("url_idna_icu_fuzzer") { 269*6777b538SAndroid Build Coastguard Worker sources = [ "url_idna_icu_fuzzer.cc" ] 270*6777b538SAndroid Build Coastguard Worker deps = [ 271*6777b538SAndroid Build Coastguard Worker ":url", 272*6777b538SAndroid Build Coastguard Worker "//third_party/icu:icuuc", 273*6777b538SAndroid Build Coastguard Worker "//third_party/icu/fuzzers:fuzzer_support", 274*6777b538SAndroid Build Coastguard Worker ] 275*6777b538SAndroid Build Coastguard Worker} 276*6777b538SAndroid Build Coastguard Worker 277*6777b538SAndroid Build Coastguard Workerfuzzer_test("url_canon_icu_fuzzer") { 278*6777b538SAndroid Build Coastguard Worker sources = [ "url_canon_icu_fuzzer.cc" ] 279*6777b538SAndroid Build Coastguard Worker deps = [ 280*6777b538SAndroid Build Coastguard Worker ":url", 281*6777b538SAndroid Build Coastguard Worker ":url_test_support", 282*6777b538SAndroid Build Coastguard Worker "//third_party/icu:icuuc", 283*6777b538SAndroid Build Coastguard Worker ] 284*6777b538SAndroid Build Coastguard Worker} 285*6777b538SAndroid Build Coastguard Worker 286*6777b538SAndroid Build Coastguard Workerif (is_android && !is_cronet_build) { 287*6777b538SAndroid Build Coastguard Worker source_set("android_test_helper") { 288*6777b538SAndroid Build Coastguard Worker testonly = true 289*6777b538SAndroid Build Coastguard Worker sources = [ 290*6777b538SAndroid Build Coastguard Worker "android/gurl_java_test_helper.cc", 291*6777b538SAndroid Build Coastguard Worker "android/origin_java_test_helper.cc", 292*6777b538SAndroid Build Coastguard Worker ] 293*6777b538SAndroid Build Coastguard Worker deps = [ 294*6777b538SAndroid Build Coastguard Worker ":j_test_jni_headers($default_toolchain)", 295*6777b538SAndroid Build Coastguard Worker ":url", 296*6777b538SAndroid Build Coastguard Worker "//base/test:test_support", 297*6777b538SAndroid Build Coastguard Worker ] 298*6777b538SAndroid Build Coastguard Worker } 299*6777b538SAndroid Build Coastguard Worker 300*6777b538SAndroid Build Coastguard Worker if (current_toolchain == default_toolchain) { 301*6777b538SAndroid Build Coastguard Worker android_library("android_test_helper_java") { 302*6777b538SAndroid Build Coastguard Worker testonly = true 303*6777b538SAndroid Build Coastguard Worker 304*6777b538SAndroid Build Coastguard Worker srcjar_deps = [ ":j_test_jni_headers" ] 305*6777b538SAndroid Build Coastguard Worker sources = [ 306*6777b538SAndroid Build Coastguard Worker "android/javatests/src/org/chromium/url/GURLJavaTestHelper.java", 307*6777b538SAndroid Build Coastguard Worker "android/javatests/src/org/chromium/url/OriginJavaTestHelper.java", 308*6777b538SAndroid Build Coastguard Worker ] 309*6777b538SAndroid Build Coastguard Worker deps = [ 310*6777b538SAndroid Build Coastguard Worker ":url_java", 311*6777b538SAndroid Build Coastguard Worker "//base:base_java_test_support", 312*6777b538SAndroid Build Coastguard Worker "//third_party/jni_zero:jni_zero_java", 313*6777b538SAndroid Build Coastguard Worker ] 314*6777b538SAndroid Build Coastguard Worker } 315*6777b538SAndroid Build Coastguard Worker 316*6777b538SAndroid Build Coastguard Worker # Targets depending on gurl_junit_test_support do not need to bypass platform 317*6777b538SAndroid Build Coastguard Worker # checks. 318*6777b538SAndroid Build Coastguard Worker android_library("gurl_junit_test_support") { 319*6777b538SAndroid Build Coastguard Worker testonly = true 320*6777b538SAndroid Build Coastguard Worker sources = [ "android/test/java/src/org/chromium/url/JUnitTestGURLs.java" ] 321*6777b538SAndroid Build Coastguard Worker deps = [ ":url_java" ] 322*6777b538SAndroid Build Coastguard Worker } 323*6777b538SAndroid Build Coastguard Worker 324*6777b538SAndroid Build Coastguard Worker android_library("url_java_unit_tests") { 325*6777b538SAndroid Build Coastguard Worker testonly = true 326*6777b538SAndroid Build Coastguard Worker sources = [ 327*6777b538SAndroid Build Coastguard Worker "android/javatests/src/org/chromium/url/GURLJavaTest.java", 328*6777b538SAndroid Build Coastguard Worker "android/javatests/src/org/chromium/url/OriginJavaTest.java", 329*6777b538SAndroid Build Coastguard Worker ] 330*6777b538SAndroid Build Coastguard Worker deps = [ 331*6777b538SAndroid Build Coastguard Worker ":android_test_helper_java", 332*6777b538SAndroid Build Coastguard Worker ":gurl_junit_test_support", 333*6777b538SAndroid Build Coastguard Worker ":url_java", 334*6777b538SAndroid Build Coastguard Worker "//base:base_java", 335*6777b538SAndroid Build Coastguard Worker "//base:base_java_test_support", 336*6777b538SAndroid Build Coastguard Worker "//build/android:build_java", 337*6777b538SAndroid Build Coastguard Worker "//content/public/test/android:content_java_test_support", 338*6777b538SAndroid Build Coastguard Worker "//mojo/public/mojom/base:base_java", 339*6777b538SAndroid Build Coastguard Worker "//third_party/androidx:androidx_core_core_java", 340*6777b538SAndroid Build Coastguard Worker "//third_party/androidx:androidx_test_runner_java", 341*6777b538SAndroid Build Coastguard Worker "//third_party/jni_zero:jni_zero_java", 342*6777b538SAndroid Build Coastguard Worker "//third_party/junit", 343*6777b538SAndroid Build Coastguard Worker "//third_party/mockito:mockito_java", 344*6777b538SAndroid Build Coastguard Worker "//url/mojom:url_mojom_gurl_java", 345*6777b538SAndroid Build Coastguard Worker "//url/mojom:url_mojom_origin_java", 346*6777b538SAndroid Build Coastguard Worker ] 347*6777b538SAndroid Build Coastguard Worker } 348*6777b538SAndroid Build Coastguard Worker 349*6777b538SAndroid Build Coastguard Worker # See https://bugs.chromium.org/p/chromium/issues/detail?id=908819 for why we 350*6777b538SAndroid Build Coastguard Worker # can't put 'java' in the name here. 351*6777b538SAndroid Build Coastguard Worker generate_jni("j_test_jni_headers") { 352*6777b538SAndroid Build Coastguard Worker testonly = true 353*6777b538SAndroid Build Coastguard Worker sources = [ 354*6777b538SAndroid Build Coastguard Worker "android/javatests/src/org/chromium/url/GURLJavaTestHelper.java", 355*6777b538SAndroid Build Coastguard Worker "android/javatests/src/org/chromium/url/OriginJavaTestHelper.java", 356*6777b538SAndroid Build Coastguard Worker ] 357*6777b538SAndroid Build Coastguard Worker } 358*6777b538SAndroid Build Coastguard Worker } 359*6777b538SAndroid Build Coastguard Worker} 360*6777b538SAndroid Build Coastguard Worker 361*6777b538SAndroid Build Coastguard Worker# Use this in robolectric_binary() targets if you just need GURL and //base 362*6777b538SAndroid Build Coastguard Worker# functionality. Otherwise, define a custom shared_library(). 363*6777b538SAndroid Build Coastguard Workerif (!is_cronet_build && target_os == "android") { 364*6777b538SAndroid Build Coastguard Worker shared_library_with_jni("libgurl_robolectric") { 365*6777b538SAndroid Build Coastguard Worker testonly = true 366*6777b538SAndroid Build Coastguard Worker enable_target = is_robolectric 367*6777b538SAndroid Build Coastguard Worker java_targets = [ 368*6777b538SAndroid Build Coastguard Worker ":gurl_java", 369*6777b538SAndroid Build Coastguard Worker ":url_java", 370*6777b538SAndroid Build Coastguard Worker ] 371*6777b538SAndroid Build Coastguard Worker deps = [ ":robolectric_jni_onload($robolectric_toolchain)" ] 372*6777b538SAndroid Build Coastguard Worker } 373*6777b538SAndroid Build Coastguard Worker if (is_robolectric) { 374*6777b538SAndroid Build Coastguard Worker # Depend on this if you need to write a custom JNI_OnLoad() 375*6777b538SAndroid Build Coastguard Worker source_set("gurl_test_init") { 376*6777b538SAndroid Build Coastguard Worker testonly = true 377*6777b538SAndroid Build Coastguard Worker sources = [ 378*6777b538SAndroid Build Coastguard Worker "android/gurl_test_init.cc", 379*6777b538SAndroid Build Coastguard Worker "android/gurl_test_init.h", 380*6777b538SAndroid Build Coastguard Worker ] 381*6777b538SAndroid Build Coastguard Worker deps = [ ":url" ] 382*6777b538SAndroid Build Coastguard Worker } 383*6777b538SAndroid Build Coastguard Worker 384*6777b538SAndroid Build Coastguard Worker # Depend on this if you do not need to write a custom JNI_OnLoad() 385*6777b538SAndroid Build Coastguard Worker source_set("robolectric_jni_onload") { 386*6777b538SAndroid Build Coastguard Worker testonly = true 387*6777b538SAndroid Build Coastguard Worker sources = [ "android/robolectric_jni_onload.cc" ] 388*6777b538SAndroid Build Coastguard Worker deps = [ 389*6777b538SAndroid Build Coastguard Worker ":gurl_test_init", 390*6777b538SAndroid Build Coastguard Worker "//base", 391*6777b538SAndroid Build Coastguard Worker ] 392*6777b538SAndroid Build Coastguard Worker 393*6777b538SAndroid Build Coastguard Worker # Make jni.h available. 394*6777b538SAndroid Build Coastguard Worker configs += [ "//third_party/jdk" ] 395*6777b538SAndroid Build Coastguard Worker } 396*6777b538SAndroid Build Coastguard Worker } 397*6777b538SAndroid Build Coastguard Worker} 398