blob: fe8f1f2d2f55ede5b68d32773c013df3bbe28925 [file] [log] [blame]
# Copyright 2018 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/features.gni")
import("//ios/web/public/js_messaging/optimize_js.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")
source_set("form_util") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"form_activity_observer.h",
"form_activity_observer_bridge.h",
"form_activity_observer_bridge.mm",
"form_activity_params.h",
"form_activity_params.mm",
"form_activity_tab_helper.h",
"form_activity_tab_helper.mm",
"unique_id_data_tab_helper.h",
"unique_id_data_tab_helper.mm",
]
deps = [
":form_util_feature",
"//base",
"//components/autofill/core/common",
"//components/autofill/ios/browser:util",
"//ios/web/public",
"//ios/web/public/js_messaging",
]
}
source_set("form_util_feature") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"form_util_java_script_feature.h",
"form_util_java_script_feature.mm",
]
deps = [
":fill_js",
":form_js",
"//base",
"//ios/web/public/js_messaging",
]
}
source_set("form_handler_feature") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"form_handlers_java_script_feature.h",
"form_handlers_java_script_feature.mm",
]
deps = [
":form_handlers_js",
":form_util",
":form_util_feature",
"//base",
"//components/password_manager/ios:password_manager_feature_header",
"//ios/web/public/js_messaging",
]
}
optimize_js("fill_js") {
primary_script = "resources/fill.js"
sources = [ "resources/fill.js" ]
}
optimize_js("form_js") {
primary_script = "resources/form.js"
sources = [ "resources/form.js" ]
}
optimize_js("form_handlers_js") {
primary_script = "resources/form_handlers.js"
sources = [ "resources/form_handlers.js" ]
}
source_set("test_support") {
testonly = true
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"autofill_test_with_web_state.h",
"autofill_test_with_web_state.mm",
"test_form_activity_observer.h",
"test_form_activity_observer.mm",
"test_form_activity_tab_helper.h",
"test_form_activity_tab_helper.mm",
]
deps = [
":form_handler_feature",
":form_util",
":form_util_feature",
"//base",
"//base/test:test_support",
"//ios/web/public",
"//ios/web/public/js_messaging",
"//ios/web/public/test",
"//ios/web/public/test:test_fixture",
"//testing/gtest",
]
}
source_set("unit_tests") {
testonly = true
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"fill_js_unittest.mm",
"form_activity_observer_bridge_unittest.mm",
"form_activity_tab_helper_unittest.mm",
"form_handlers_unittest.mm",
"form_unittest.mm",
"unique_id_data_tab_helper_unittest.mm",
]
deps = [
":fill_js",
":form_handlers_js",
":form_js",
":form_util",
":form_util_feature",
":test_support",
"//base",
"//base/test:test_support",
"//components/autofill/ios/form_util:form_handler_feature",
"//ios/web/public/js_messaging",
"//ios/web/public/test",
"//ios/web/public/test:javascript_test",
"//ios/web/public/test:test_fixture",
"//ios/web/public/test:util",
"//ios/web/public/test/fakes",
"//testing/gtest",
]
# TODO(crbug.com/1427365): Test currently fails on iOS blink.
if (is_ios && use_blink) {
sources -= [
"fill_js_unittest.mm",
"form_activity_tab_helper_unittest.mm",
"form_unittest.mm",
]
}
}
if (is_ios) {
fuzzer_test("form_activity_tab_helper_fuzzer") {
additional_configs = [
"//build/config/compiler:enable_arc",
"//testing/libfuzzer:build_for_ios_clusterfuzz_job",
]
sources = [ "form_activity_tab_helper_fuzzer.mm" ]
deps = [
":form_util",
"//base/test:test_support",
"//ios/web/public",
"//ios/web/public/js_messaging",
"//ios/web/public/js_messaging/fuzzer_support",
"//ios/web/public/js_messaging/fuzzer_support:js_message_proto",
"//ios/web/public/test",
"//ios/web/public/test:fuzzer_support",
"//ios/web/public/test:test_fixture",
"//third_party/libprotobuf-mutator",
]
}
}