1# Copyright 2019 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.
4
5import("//ios/build/config.gni")
6
7source_set("js_messaging") {
8  configs += [ "//build/config/compiler:enable_arc" ]
9  deps = [
10    "//base",
11    "//crypto",
12    "//ios/web/common:features",
13    "//ios/web/navigation:wk_navigation_util",
14    "//ios/web/public",
15    "//ios/web/public/deprecated",
16    "//ios/web/public/js_messaging",
17    "//ios/web/web_view:util",
18    "//url",
19  ]
20
21  sources = [
22    "crw_js_injector.h",
23    "crw_js_injector.mm",
24    "crw_js_window_id_manager.h",
25    "crw_js_window_id_manager.mm",
26    "crw_wk_script_message_router.h",
27    "crw_wk_script_message_router.mm",
28    "page_script_util.h",
29    "page_script_util.mm",
30    "web_frame_impl.h",
31    "web_frame_impl.mm",
32    "web_frame_util.mm",
33    "web_frames_manager_impl.h",
34    "web_frames_manager_impl.mm",
35    "web_view_js_utils.h",
36    "web_view_js_utils.mm",
37  ]
38}
39
40source_set("unittests") {
41  configs += [ "//build/config/compiler:enable_arc" ]
42  testonly = true
43  deps = [
44    ":js_messaging",
45    "//base",
46    "//base/test:test_support",
47    "//crypto",
48    "//ios/web/common:web_view_creation_util",
49    "//ios/web/public/js_messaging",
50    "//ios/web/public/test",
51    "//ios/web/public/test/fakes",
52    "//testing/gtest",
53    "//third_party/ocmock",
54  ]
55
56  sources = [
57    "crw_js_window_id_manager_unittest.mm",
58    "crw_wk_script_message_router_unittest.mm",
59    "page_script_util_unittest.mm",
60    "web_frame_impl_unittest.mm",
61    "web_frame_util_unittest.mm",
62    "web_frames_manager_impl_unittest.mm",
63  ]
64}
65
66source_set("inttests") {
67  configs += [ "//build/config/compiler:enable_arc" ]
68  testonly = true
69  deps = [
70    "//base",
71    "//base/test:test_support",
72    "//ios/web/common",
73    "//ios/web/js_messaging",
74    "//ios/web/public",
75    "//ios/web/public/js_messaging",
76    "//ios/web/public/test",
77    "//ios/web/public/test:util",
78    "//ios/web/public/test/fakes",
79    "//ios/web/test:test_support",
80    "//net:test_support",
81    "//testing/gmock",
82    "//testing/gtest",
83  ]
84  sources = [
85    "web_frame_impl_inttest.mm",
86    "web_frame_web_state_observer_inttest.mm",
87    "web_frames_manager_inttest.mm",
88  ]
89}
90