summaryrefslogtreecommitdiff
path: root/chromium/ios/web/BUILD.gn
blob: 0f8e53342fd6e613cf9b6ce7e901dec9e19c49cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//ios/build/config.gni")
import("//ios/web/js_compile.gni")
import("//testing/test.gni")
import("//tools/grit/grit_rule.gni")

group("all_tests") {
  testonly = true
  deps = [
    ":ios_web_inttests",
    ":ios_web_unittests",
  ]
}

source_set("web_arc") {
  deps = [
    ":core",
    ":js_resources",
    ":resources",
    ":user_agent",
    "//base",
    "//components/url_formatter",
    "//ios/net",
    "//ios/third_party/blink:html_tokenizer",
    "//mojo/public/cpp/system",
    "//mojo/public/js",
    "//net",
    "//services/service_manager/public/cpp",
    "//ui/base",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//ui/resources",
    "//url",
  ]

  sources = [
    "active_state_manager_impl.h",
    "active_state_manager_impl.mm",
    "browser_state.mm",
    "browser_url_rewriter_impl.h",
    "browser_url_rewriter_impl.mm",
    "interstitials/html_web_interstitial_impl.h",
    "interstitials/html_web_interstitial_impl.mm",
    "interstitials/native_web_interstitial_impl.h",
    "interstitials/native_web_interstitial_impl.mm",
    "interstitials/web_interstitial_facade_delegate.h",
    "interstitials/web_interstitial_impl.h",
    "interstitials/web_interstitial_impl.mm",
    "load_committed_details.cc",
    "navigation/crw_session_certificate_policy_manager.h",
    "navigation/crw_session_certificate_policy_manager.mm",
    "navigation/crw_session_controller+private_constructors.h",
    "navigation/crw_session_controller.h",
    "navigation/crw_session_controller.mm",
    "navigation/crw_session_entry.h",
    "navigation/crw_session_entry.mm",
    "navigation/navigation_item_facade_delegate.h",
    "navigation/navigation_item_impl.h",
    "navigation/navigation_item_impl.mm",
    "navigation/navigation_item_impl_list.h",
    "navigation/navigation_item_impl_list.mm",
    "navigation/navigation_item_storage_builder.h",
    "navigation/navigation_item_storage_builder.mm",
    "navigation/navigation_manager_delegate.h",
    "navigation/navigation_manager_facade_delegate.h",
    "navigation/navigation_manager_impl.h",
    "navigation/navigation_manager_impl.mm",
    "navigation/nscoder_util.h",
    "navigation/nscoder_util.mm",
    "navigation/serializable_user_data_manager_impl.h",
    "navigation/serializable_user_data_manager_impl.mm",
    "navigation/session_storage_builder.h",
    "navigation/session_storage_builder.mm",
    "navigation/time_smoother.cc",
    "navigation/time_smoother.h",
    "net/cert_host_pair.cc",
    "net/cert_host_pair.h",
    "net/cert_policy.cc",
    "net/certificate_policy_cache.cc",
    "net/cookie_notification_bridge.h",
    "net/cookie_notification_bridge.mm",
    "net/crw_cert_verification_controller.h",
    "net/crw_cert_verification_controller.mm",
    "net/crw_request_tracker_delegate.h",
    "net/crw_ssl_status_updater.h",
    "net/crw_ssl_status_updater.mm",
    "net/request_group_util.h",
    "net/request_group_util.mm",
    "net/request_tracker_data_memoizing_store.h",
    "net/request_tracker_factory_impl.h",
    "net/request_tracker_factory_impl.mm",
    "net/request_tracker_impl.h",
    "net/request_tracker_impl.mm",
    "net/web_http_protocol_handler_delegate.h",
    "net/web_http_protocol_handler_delegate.mm",
    "payments/payment_request.cc",
    "public/active_state_manager.h",
    "public/block_types.h",
    "public/browser_state.h",
    "public/browser_url_rewriter.h",
    "public/cert_policy.h",
    "public/certificate_policy_cache.h",
    "public/crw_navigation_item_storage.h",
    "public/crw_navigation_item_storage.mm",
    "public/crw_session_storage.h",
    "public/crw_session_storage.mm",
    "public/favicon_status.cc",
    "public/favicon_status.h",
    "public/favicon_url.cc",
    "public/favicon_url.h",
    "public/interstitials/web_interstitial.h",
    "public/interstitials/web_interstitial_delegate.h",
    "public/java_script_dialog_callback.h",
    "public/java_script_dialog_presenter.h",
    "public/java_script_dialog_type.h",
    "public/load_committed_details.h",
    "public/navigation_item.h",
    "public/navigation_item_list.h",
    "public/navigation_item_list.mm",
    "public/navigation_manager.h",
    "public/origin_util.h",
    "public/origin_util.mm",
    "public/payments/payment_request.h",
    "public/referrer.h",
    "public/referrer_util.cc",
    "public/referrer_util.h",
    "public/security_style.h",
    "public/serializable_user_data_manager.h",
    "public/ssl_status.cc",
    "public/ssl_status.h",
    "public/url_data_source_ios.h",
    "public/url_scheme_util.h",
    "public/url_schemes.h",
    "public/url_schemes.mm",
    "public/url_util.h",
    "public/web_capabilities.cc",
    "public/web_capabilities.h",
    "public/web_client.h",
    "public/web_client.mm",
    "public/web_kit_constants.h",
    "public/web_state/context_menu_params.h",
    "public/web_state/credential.h",
    "public/web_state/crw_web_controller_observer.h",
    "public/web_state/crw_web_view_proxy.h",
    "public/web_state/crw_web_view_scroll_view_proxy.h",
    "public/web_state/global_web_state_observer.h",
    "public/web_state/js/credential_util.h",
    "public/web_state/js/crw_js_injection_evaluator.h",
    "public/web_state/js/crw_js_injection_manager.h",
    "public/web_state/js/crw_js_injection_receiver.h",
    "public/web_state/navigation_context.h",
    "public/web_state/page_display_state.h",
    "public/web_state/page_display_state.mm",
    "public/web_state/ui/crw_content_view.h",
    "public/web_state/ui/crw_context_menu_delegate.h",
    "public/web_state/ui/crw_generic_content_view.h",
    "public/web_state/ui/crw_native_content.h",
    "public/web_state/ui/crw_native_content_provider.h",
    "public/web_state/ui/crw_web_delegate.h",
    "public/web_state/ui/crw_web_view_content_view.h",
    "public/web_state/url_verification_constants.h",
    "public/web_state/web_state.h",
    "public/web_state/web_state_delegate.h",
    "public/web_state/web_state_delegate_bridge.h",
    "public/web_state/web_state_observer.h",
    "public/web_state/web_state_observer_bridge.h",
    "public/web_state/web_state_policy_decider.h",
    "public/web_state/web_state_user_data.h",
    "public/web_thread.h",
    "public/web_thread_delegate.h",
    "public/web_ui_ios_data_source.h",
    "public/web_view_creation_util.h",
    "public/webui/web_ui_ios.h",
    "public/webui/web_ui_ios_controller.cc",
    "public/webui/web_ui_ios_controller.h",
    "public/webui/web_ui_ios_controller_factory.h",
    "public/webui/web_ui_ios_message_handler.cc",
    "public/webui/web_ui_ios_message_handler.h",
    "url_scheme_util.mm",
    "url_util.cc",
    "web_kit_constants.cc",
    "web_state/context_menu_params.mm",
    "web_state/context_menu_params_utils.h",
    "web_state/context_menu_params_utils.mm",
    "web_state/credential.cc",
    "web_state/crw_pass_kit_downloader.h",
    "web_state/crw_pass_kit_downloader.mm",
    "web_state/crw_web_view_proxy_impl.h",
    "web_state/crw_web_view_proxy_impl.mm",
    "web_state/crw_web_view_scroll_view_proxy.mm",
    "web_state/error_translation_util.h",
    "web_state/error_translation_util.mm",
    "web_state/global_web_state_event_tracker.h",
    "web_state/global_web_state_event_tracker.mm",
    "web_state/global_web_state_observer.cc",
    "web_state/js/credential_util.mm",
    "web_state/js/crw_js_injection_manager.mm",
    "web_state/js/crw_js_injection_receiver.mm",
    "web_state/js/crw_js_plugin_placeholder_manager.h",
    "web_state/js/crw_js_plugin_placeholder_manager.mm",
    "web_state/js/crw_js_post_request_loader.h",
    "web_state/js/crw_js_post_request_loader.mm",
    "web_state/js/crw_js_window_id_manager.h",
    "web_state/js/crw_js_window_id_manager.mm",
    "web_state/js/page_script_util.h",
    "web_state/js/page_script_util.mm",
    "web_state/navigation_context_impl.h",
    "web_state/navigation_context_impl.mm",
    "web_state/page_viewport_state.h",
    "web_state/page_viewport_state.mm",
    "web_state/ui/crw_context_menu_controller.h",
    "web_state/ui/crw_context_menu_controller.mm",
    "web_state/ui/crw_generic_content_view.mm",
    "web_state/ui/crw_swipe_recognizer_provider.h",
    "web_state/ui/crw_touch_tracking_recognizer.h",
    "web_state/ui/crw_touch_tracking_recognizer.mm",
    "web_state/ui/crw_wk_navigation_states.h",
    "web_state/ui/crw_wk_navigation_states.mm",
    "web_thread_impl.cc",
    "web_thread_impl.h",
    "web_view_creation_util.mm",
    "webui/crw_web_ui_manager.h",
    "webui/crw_web_ui_manager.mm",
    "webui/crw_web_ui_page_builder.h",
    "webui/crw_web_ui_page_builder.mm",
    "webui/mojo_facade.h",
    "webui/mojo_facade.mm",
    "webui/mojo_js_constants.cc",
    "webui/mojo_js_constants.h",
    "webui/shared_resources_data_source_ios.h",
    "webui/shared_resources_data_source_ios.mm",
    "webui/url_data_manager_ios.cc",
    "webui/url_data_manager_ios.h",
    "webui/url_data_manager_ios_backend.h",
    "webui/url_data_manager_ios_backend.mm",
    "webui/url_data_source_ios.mm",
    "webui/url_data_source_ios_impl.cc",
    "webui/url_data_source_ios_impl.h",
    "webui/url_fetcher_block_adapter.h",
    "webui/url_fetcher_block_adapter.mm",
    "webui/web_ui_ios_controller_factory_registry.cc",
    "webui/web_ui_ios_controller_factory_registry.h",
    "webui/web_ui_ios_data_source_impl.h",
    "webui/web_ui_ios_data_source_impl.mm",
    "webui/web_ui_ios_impl.h",
    "webui/web_ui_ios_impl.mm",
  ]

  libs = [ "WebKit.framework" ]

  configs += [ "//build/config/compiler:enable_arc" ]
}

source_set("web") {
  deps = [
    ":core",
    ":js_resources",
    ":resources",
    ":user_agent",
    "//base",
    "//components/url_formatter",
    "//ios/net",
    "//ios/third_party/blink:html_tokenizer",
    "//mojo/public/cpp/system",
    "//mojo/public/js",
    "//net",
    "//services/service_manager/public/cpp",
    "//ui/base",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//ui/resources",
    "//url",
  ]

  public_deps = [
    ":web_arc",
  ]

  sources = [
    "web_state/ui/crw_web_controller.h",
    "web_state/ui/crw_web_controller.mm",
    "web_state/ui/crw_web_controller_container_view.h",
    "web_state/ui/crw_web_controller_container_view.mm",
    "web_state/ui/crw_web_view_content_view.mm",
    "web_state/ui/crw_wk_script_message_router.h",
    "web_state/ui/crw_wk_script_message_router.mm",
    "web_state/ui/web_view_js_utils.h",
    "web_state/ui/web_view_js_utils.mm",
    "web_state/ui/wk_back_forward_list_item_holder.h",
    "web_state/ui/wk_back_forward_list_item_holder.mm",
    "web_state/ui/wk_web_view_configuration_provider.h",
    "web_state/ui/wk_web_view_configuration_provider.mm",
    "web_state/web_controller_observer_bridge.h",
    "web_state/web_controller_observer_bridge.mm",
    "web_state/web_state.mm",
    "web_state/web_state_delegate.mm",
    "web_state/web_state_delegate_bridge.mm",
    "web_state/web_state_facade_delegate.h",
    "web_state/web_state_impl.h",
    "web_state/web_state_impl.mm",
    "web_state/web_state_observer.mm",
    "web_state/web_state_observer_bridge.mm",
    "web_state/web_state_policy_decider.mm",
    "web_state/web_state_weak_ptr_factory.h",
    "web_state/web_state_weak_ptr_factory.mm",
    "web_state/web_view_internal_creation_util.h",
    "web_state/web_view_internal_creation_util.mm",
    "web_state/wk_web_view_security_util.h",
    "web_state/wk_web_view_security_util.mm",
  ]

  libs = [
    "CoreGraphics.framework",
    "WebKit.framework",
  ]

  allow_circular_includes_from = [ ":web_arc" ]
}

source_set("core") {
  configs += [ "//build/config/compiler:enable_arc" ]
  deps = [
    "//base",
    "//url",
  ]

  sources = [
    "history_state_util.cc",
    "history_state_util.h",
  ]
}

source_set("user_agent") {
  deps = [
    "//base",
  ]

  sources = [
    "public/user_agent.h",
    "public/user_agent.mm",
  ]

  configs += [ "//build/config/compiler:enable_arc" ]
}

source_set("earl_grey_test_support") {
  testonly = true

  deps = [
    ":test_support",
    ":web",
    "//base",
    "//base/test:test_support",
    "//ios/testing:ios_test_support",
    "//ios/testing/earl_grey:earl_grey_support",
    "//ios/third_party/earl_grey",
    "//net",
  ]

  sources = [
    "public/test/earl_grey/js_test_util.h",
    "public/test/earl_grey/js_test_util.mm",
    "public/test/earl_grey/web_view_actions.h",
    "public/test/earl_grey/web_view_actions.mm",
    "public/test/earl_grey/web_view_matchers.h",
    "public/test/earl_grey/web_view_matchers.mm",
  ]
}

source_set("test_support") {
  testonly = true

  deps = [
    ":web",
    "//base",
    "//base/test:test_support",
    "//ios/testing:ios_test_support",
    "//ios/testing:ocmock_support",
    "//ios/third_party/gcdwebserver",
    "//ios/web/test:mojo_bindings",
    "//net:test_support",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/ocmock",
    "//ui/base",
  ]

  sources = [
    "public/test/fakes/crw_test_js_injection_receiver.h",
    "public/test/fakes/crw_test_js_injection_receiver.mm",
    "public/test/fakes/crw_test_web_state_observer.h",
    "public/test/fakes/crw_test_web_state_observer.mm",
    "public/test/fakes/test_browser_state.cc",
    "public/test/fakes/test_browser_state.h",
    "public/test/fakes/test_java_script_dialog_presenter.h",
    "public/test/fakes/test_java_script_dialog_presenter.mm",
    "public/test/fakes/test_native_content.h",
    "public/test/fakes/test_native_content.mm",
    "public/test/fakes/test_native_content_provider.h",
    "public/test/fakes/test_native_content_provider.mm",
    "public/test/fakes/test_navigation_manager.h",
    "public/test/fakes/test_navigation_manager.mm",
    "public/test/fakes/test_web_client.h",
    "public/test/fakes/test_web_client.mm",
    "public/test/fakes/test_web_state.h",
    "public/test/fakes/test_web_state.mm",
    "public/test/fakes/test_web_state_delegate.h",
    "public/test/fakes/test_web_state_delegate.mm",
    "public/test/fakes/test_web_state_observer.h",
    "public/test/fakes/test_web_state_observer.mm",
    "public/test/fakes/test_web_state_observer_util.h",
    "public/test/fakes/test_web_state_observer_util.mm",
    "public/test/fakes/test_web_view_content_view.h",
    "public/test/fakes/test_web_view_content_view.mm",
    "public/test/http_server.h",
    "public/test/http_server.mm",
    "public/test/http_server_util.h",
    "public/test/http_server_util.mm",
    "public/test/js_test_util.h",
    "public/test/js_test_util.mm",
    "public/test/native_controller_test_util.h",
    "public/test/native_controller_test_util.mm",
    "public/test/navigation_test_util.h",
    "public/test/navigation_test_util.mm",
    "public/test/response_providers/data_response_provider.h",
    "public/test/response_providers/data_response_provider.mm",
    "public/test/response_providers/delayed_response_provider.h",
    "public/test/response_providers/delayed_response_provider.mm",
    "public/test/response_providers/error_page_response_provider.h",
    "public/test/response_providers/error_page_response_provider.mm",
    "public/test/response_providers/file_based_response_provider.h",
    "public/test/response_providers/file_based_response_provider.mm",
    "public/test/response_providers/file_based_response_provider_impl.h",
    "public/test/response_providers/file_based_response_provider_impl.mm",
    "public/test/response_providers/html_response_provider.h",
    "public/test/response_providers/html_response_provider.mm",
    "public/test/response_providers/html_response_provider_impl.h",
    "public/test/response_providers/html_response_provider_impl.mm",
    "public/test/response_providers/http_auth_response_provider.h",
    "public/test/response_providers/http_auth_response_provider.mm",
    "public/test/response_providers/response_provider.h",
    "public/test/response_providers/response_provider.mm",
    "public/test/response_providers/string_response_provider.h",
    "public/test/response_providers/string_response_provider.mm",
    "public/test/scoped_testing_web_client.h",
    "public/test/scoped_testing_web_client.mm",
    "public/test/test_redirect_observer.h",
    "public/test/test_redirect_observer.mm",
    "public/test/test_web_thread.h",
    "public/test/test_web_thread_bundle.h",
    "public/test/web_js_test.h",
    "public/test/web_test.h",
    "public/test/web_test.mm",
    "public/test/web_test_suite.h",
    "public/test/web_test_with_web_state.h",
    "public/test/web_test_with_web_state.mm",
    "public/test/web_view_interaction_test_util.h",
    "public/test/web_view_interaction_test_util.mm",
    "test/crw_fake_web_controller_observer.h",
    "test/crw_fake_web_controller_observer.mm",
    "test/test_url_constants.cc",
    "test/test_url_constants.h",
    "test/test_web_thread.cc",
    "test/test_web_thread_bundle.cc",
    "test/web_int_test.h",
    "test/web_int_test.mm",
    "test/web_test_suite.mm",
    "test/web_test_with_web_controller.h",
    "test/web_test_with_web_controller.mm",
    "test/wk_web_view_crash_utils.h",
    "test/wk_web_view_crash_utils.mm",
  ]
}

source_set("run_all_unittests") {
  testonly = true
  sources = [
    "test/run_all_unittests.cc",
  ]
  deps = [
    ":test_support",
    "//base",
    "//base/test:test_support",
    "//mojo/edk/system",
  ]
}

bundle_data("ios_web_unittests_bundle_data") {
  testonly = true
  sources = [
    "test/data/chrome.html",
    "test/data/testbadpass.pkpass",
    "test/data/testfavicon.png",
    "test/data/testpass.pkpass",
  ]
  outputs = [
    "{{bundle_resources_dir}}/{{source_root_relative_dir}}/" +
        "{{source_file_part}}",
  ]
}

test("ios_web_unittests") {
  deps = [
    ":core",
    ":ios_web_unittests_bundle_data",
    ":run_all_unittests",
    ":test_support",
    ":user_agent",
    ":web",
    "//base",
    "//base/test:test_support",
    "//components/url_formatter",
    "//ios/net",
    "//ios/testing:ocmock_support",
    "//ios/web/test:mojo_bindings",
    "//net:test_support",
    "//services/service_manager/public/cpp",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/ocmock",
    "//ui/base:test_support",
  ]

  sources = [
    "active_state_manager_impl_unittest.mm",
    "browser_state_unittest.cc",
    "history_state_util_unittest.mm",
    "navigation/crw_navigation_item_storage_unittest.mm",
    "navigation/crw_session_controller_unittest.mm",
    "navigation/crw_session_entry_unittest.mm",
    "navigation/crw_session_storage_unittest.mm",
    "navigation/navigation_item_impl_unittest.mm",
    "navigation/navigation_item_storage_test_util.h",
    "navigation/navigation_item_storage_test_util.mm",
    "navigation/navigation_manager_impl_unittest.mm",
    "navigation/nscoder_util_unittest.mm",
    "net/cert_host_pair_unittest.cc",
    "net/cert_policy_unittest.cc",
    "net/crw_cert_verification_controller_unittest.mm",
    "net/crw_ssl_status_updater_unittest.mm",
    "net/request_group_util_unittest.mm",
    "net/request_tracker_impl_unittest.mm",
    "net/web_http_protocol_handler_delegate_unittest.mm",
    "payments/payment_request_unittest.cc",
    "public/origin_util_unittest.mm",
    "public/referrer_util_unittest.cc",
    "public/serializable_user_data_manager_unittest.mm",
    "public/test/crw_mock_web_state_delegate.h",
    "public/test/crw_mock_web_state_delegate.mm",
    "public/user_agent_unittest.mm",
    "public/web_state/page_viewport_state_unittest.mm",
    "test/web_test_unittest.mm",
    "url_scheme_util_unittest.mm",
    "url_util_unittest.cc",
    "web_state/context_menu_params_utils_unittest.mm",
    "web_state/crw_pass_kit_downloader_unittest.mm",
    "web_state/crw_web_view_scroll_view_proxy_unittest.mm",
    "web_state/error_translation_util_unittest.mm",
    "web_state/js/common_js_unittest.mm",
    "web_state/js/core_js_unittest.mm",
    "web_state/js/credential_util_unittest.mm",
    "web_state/js/crw_js_injection_manager_unittest.mm",
    "web_state/js/crw_js_post_request_loader_unittest.mm",
    "web_state/js/crw_js_window_id_manager_unittest.mm",
    "web_state/js/page_script_util_unittest.mm",
    "web_state/navigation_context_impl_unittest.mm",
    "web_state/page_display_state_unittest.mm",
    "web_state/ui/crw_web_controller_container_view_unittest.mm",
    "web_state/ui/crw_web_controller_observer_unittest.mm",
    "web_state/ui/crw_web_controller_unittest.mm",
    "web_state/ui/crw_wk_navigation_states_unittest.mm",
    "web_state/ui/crw_wk_script_message_router_unittest.mm",
    "web_state/ui/web_view_js_utils_unittest.mm",
    "web_state/ui/wk_back_forward_list_item_holder_unittest.mm",
    "web_state/ui/wk_web_view_configuration_provider_unittest.mm",
    "web_state/web_state_delegate_bridge_unittest.mm",
    "web_state/web_state_impl_unittest.mm",
    "web_state/web_state_observer_bridge_unittest.mm",
    "web_state/web_state_unittest.mm",
    "web_state/web_view_internal_creation_util_unittest.mm",
    "web_state/wk_web_view_security_util_unittest.mm",
    "webui/crw_web_ui_manager_unittest.mm",
    "webui/crw_web_ui_page_builder_unittest.mm",
    "webui/mojo_facade_unittest.mm",
    "webui/url_fetcher_block_adapter_unittest.mm",
  ]

  assert_no_deps = ios_assert_no_deps
}

test("ios_web_inttests") {
  deps = [
    ":test_support",
    ":web",
    "//base/test:test_support",
    "//ios/testing:http_server_bundle_data",
    "//ios/web/test:mojo_bindings",
    "//ios/web/test:packed_resources",
    "//ios/web/test:resources",
    "//mojo/edk/system",
    "//net:test_support",
    "//services/service_manager/public/cpp",
    "//testing/gtest",
    "//ui/base:test_support",
  ]
  sources = [
    "browser_state_web_view_partition_inttest.mm",
    "navigation/history_state_operations_inttest.mm",
    "navigation/window_location_inttest.mm",
    "public/test/http_server_inttest.mm",
    "test/run_all_unittests.cc",
    "web_state/http_auth_inttest.mm",
    "web_state/navigation_callbacks_inttest.mm",
    "webui/web_ui_mojo_inttest.mm",
  ]

  assert_no_deps = ios_assert_no_deps
}

js_compile_bundle("web_ui_bundle") {
  visibility = [ ":js_resources" ]
  closure_entry_point = "__crWeb.webUIBundle"

  sources = [
    "../third_party/requirejs/require.js",
    "webui/resources/web_ui_base.js",
    "webui/resources/web_ui_bind.js",
    "webui/resources/web_ui_bundle.js",
    "webui/resources/web_ui_module_load_notifier.js",
    "webui/resources/web_ui_send.js",
  ]
}

js_compile_bundle("web_bundle") {
  visibility = [ ":js_resources" ]
  closure_entry_point = "__crWeb.webBundle"

  sources = [
    "web_state/js/resources/base.js",
    "web_state/js/resources/common.js",
    "web_state/js/resources/console.js",
    "web_state/js/resources/core.js",
    "web_state/js/resources/dialog_overrides.js",
    "web_state/js/resources/message.js",
    "web_state/js/resources/web_bundle.js",
  ]
}

js_compile_checked("js_resources") {
  public_deps = [
    ":web_bundle",
    ":web_ui_bundle",
  ]

  sources = [
    "web_state/js/resources/plugin_placeholder.js",
    "web_state/js/resources/post_request.js",
    "web_state/js/resources/window_id.js",
  ]
}

grit("resources") {
  source = "ios_web_resources.grd"
  use_qualified_include = true
  outputs = [
    "grit/ios_web_resources.h",
    "ios_web_resources.pak",
  ]
  grit_flags = [
    "-E",
    "root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir),
  ]
  deps = [
    "//mojo/public/js:bindings",
  ]
}