| # Copyright 2020 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/compile_ts.gni") |
| import("//ios/web/public/js_messaging/optimize_js.gni") |
| |
| source_set("model") { |
| sources = [ |
| "link_to_text_java_script_feature.h", |
| "link_to_text_java_script_feature.mm", |
| "link_to_text_payload.h", |
| "link_to_text_payload.mm", |
| "link_to_text_response.h", |
| "link_to_text_response.mm", |
| "link_to_text_tab_helper.h", |
| "link_to_text_tab_helper.mm", |
| ] |
| deps = [ |
| ":internal", |
| ":link_to_text_js", |
| "//components/shared_highlighting/core/common", |
| "//components/shared_highlighting/ios", |
| "//components/ukm/ios:ukm_url_recorder", |
| "//ios/chrome/browser/tabs/model", |
| "//ios/web/public", |
| "//ios/web/public/js_messaging", |
| ] |
| } |
| |
| source_set("internal") { |
| sources = [ |
| "link_generation_outcome.h", |
| "link_to_text_constants.h", |
| "link_to_text_utils.h", |
| "link_to_text_utils.mm", |
| ] |
| deps = [ |
| "//base", |
| "//components/shared_highlighting/core/common", |
| "//ios/web/public", |
| "//ios/web/public/ui", |
| "//url", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "link_to_text_java_script_feature_unittest.mm", |
| "link_to_text_tab_helper_unittest.mm", |
| "link_to_text_utils_unittest.mm", |
| ] |
| deps = [ |
| ":internal", |
| ":model", |
| "//base", |
| "//base/test:test_support", |
| "//components/shared_highlighting/core/common", |
| "//components/ukm/ios:ukm_url_recorder", |
| "//ios/web/public/test", |
| "//ios/web/public/test/fakes", |
| "//testing/gtest", |
| "//url", |
| ] |
| } |
| |
| compile_ts("compile_link_to_text_js") { |
| allow_js = true |
| sources = [ |
| "//third_party/text-fragments-polyfill/src/src/fragment-generation-utils.js", |
| "//third_party/text-fragments-polyfill/src/src/text-fragment-utils.js", |
| "resources/link_to_text.ts", |
| ] |
| deps = [ "//ios/web/public/js_messaging:gcrweb" ] |
| } |
| |
| optimize_js("link_to_text_js") { |
| visibility = [ ":model" ] |
| _script = filter_include(get_target_outputs(":compile_link_to_text_js"), |
| [ "*link_to_text.js" ]) |
| primary_script = _script[0] |
| |
| sources = _script |
| |
| deps = [ |
| ":compile_link_to_text_js", |
| "//ios/web/public/js_messaging:gcrweb", |
| ] |
| } |