blob: 2c354d3feca01451b2fa022b37183e07447e36e6 [file] [log] [blame]
# Copyright 2023 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//ios/web/public/js_messaging/optimize_ts.gni")
source_set("choose_file") {
sources = [
"choose_file_controller.h",
"choose_file_controller.mm",
"choose_file_controller_impl.h",
"choose_file_controller_impl.mm",
"choose_file_controller_observer_bridge.h",
"choose_file_controller_observer_bridge.mm",
"choose_file_event.h",
"choose_file_event.mm",
"choose_file_event_holder.h",
"choose_file_event_holder.mm",
"choose_file_java_script_feature.h",
"choose_file_java_script_feature.mm",
"choose_file_tab_helper.h",
"choose_file_tab_helper.mm",
"choose_file_util.h",
"choose_file_util.mm",
]
deps = [
":choose_file_file_utils",
":choose_file_js",
":last_tap_location_tab_helper",
"//base",
"//ios/chrome/browser/shared/public/commands",
"//ios/chrome/browser/shared/public/features",
"//ios/web/public",
"//ios/web/public/js_messaging",
]
frameworks = [ "Foundation.framework" ]
}
source_set("choose_file_file_utils") {
sources = [
"choose_file_file_utils.h",
"choose_file_file_utils.mm",
]
deps = [
"//base",
"//ios/web/public",
]
# TODO(crbug.com/40031409): Fix code that adds exit-time destructors and
# enable the diagnostic by removing this line.
configs += [ "//build/config/compiler:no_exit_time_destructors" ]
}
source_set("last_tap_location_tab_helper") {
sources = [
"last_tap_location_tab_helper.h",
"last_tap_location_tab_helper.mm",
]
deps = [
"//base",
"//ios/web/public",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"choose_file_controller_impl_unittest.mm",
"choose_file_controller_observer_bridge_unittest.mm",
"choose_file_controller_unittest.mm",
"choose_file_java_script_feature_unittest.mm",
"choose_file_tab_helper_unittest.mm",
]
deps = [
":choose_file",
":last_tap_location_tab_helper",
":test_support",
"//base",
"//base/test:test_support",
"//ios/chrome/browser/shared/model/profile/test",
"//ios/chrome/browser/shared/public/commands",
"//ios/chrome/browser/shared/public/features",
"//ios/web/public/test",
"//testing/gtest",
"//third_party/ocmock",
]
}
source_set("test_support") {
testonly = true
sources = [
"fake_choose_file_controller.h",
"fake_choose_file_controller.mm",
]
deps = [
":choose_file",
"//base",
]
}
compile_ts("choose_file_utils_js") {
sources = [ "resources/choose_file_utils.ts" ]
}
optimize_ts("choose_file_js") {
visibility = [ ":choose_file" ]
sources = [ "resources/choose_file.ts" ]
deps = [
":choose_file_utils_js",
"//ios/web/public/js_messaging:util_scripts",
]
}