summaryrefslogtreecommitdiffstats
path: root/ios/web/ios_web.gyp
blob: bd99b58b3fe06dc65c8801bd370977012906150a (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
# Copyright 2014 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.

{
  'variables': {
    'chromium_code': 1,
   },
  'targets': [
    {
      # GN version: //ios/web/public/app
      'target_name': 'ios_web_app',
      'type': 'static_library',
      'include_dirs': [
        '../..',
      ],
      'dependencies': [
        'ios_web',
        '../../base/base.gyp:base',
        '../../base/base.gyp:base_i18n',
        '../../crypto/crypto.gyp:crypto',
        '../../net/net.gyp:net',
        '../../ui/base/ui_base.gyp:ui_base',
        '../../ui/gfx/gfx.gyp:gfx',
        '../../ui/gfx/gfx.gyp:gfx_geometry',
      ],
      'sources': [
        'app/web_main.mm',
        'app/web_main_loop.h',
        'app/web_main_loop.mm',
        'app/web_main_runner.h',
        'app/web_main_runner.mm',
        'public/app/web_main.h',
        'public/app/web_main_delegate.h',
        'public/app/web_main_parts.h',
      ],
    },
    {
      # GN version: //ios/web
      'target_name': 'ios_web',
      'type': 'static_library',
      'include_dirs': [
        '../..',
      ],
      'dependencies': [
        'ios_web_core',
        'js_resources',
        'user_agent',
        '../../base/base.gyp:base',
        '../../components/url_formatter/url_formatter.gyp:url_formatter',
        '../../ios/net/ios_net.gyp:ios_net',
        '../../ios/third_party/blink/blink_html_tokenizer.gyp:blink_html_tokenizer',
        '../../net/net.gyp:net',
        '../../ui/base/ui_base.gyp:ui_base',
        '../../ui/gfx/gfx.gyp:gfx',
        '../../ui/gfx/gfx.gyp:gfx_geometry',
        '../../ui/resources/ui_resources.gyp:ui_resources',
        '../../url/url.gyp:url_lib',
      ],
      'sources': [
        '<(SHARED_INTERMEDIATE_DIR)/ui/resources/grit/webui_resources_map.cc',
        'active_state_manager_impl.h',
        'active_state_manager_impl.mm',
        'alloc_with_zone_interceptor.h',
        'alloc_with_zone_interceptor.mm',
        'browser_state.mm',
        'browser_url_rewriter_impl.h',
        'browser_url_rewriter_impl.mm',
        'browsing_data_managers/crw_browsing_data_manager.h',
        'browsing_data_managers/crw_cookie_browsing_data_manager.h',
        'browsing_data_managers/crw_cookie_browsing_data_manager.mm',
        'browsing_data_partition_impl.h',
        'browsing_data_partition_impl.mm',
        'crw_browsing_data_store.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_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/time_smoother.cc',
        'navigation/time_smoother.h',
        'navigation/web_load_params.h',
        'navigation/web_load_params.mm',
        'net/cert_host_pair.cc',
        'net/cert_host_pair.h',
        'net/cert_policy.cc',
        'net/cert_store_impl.cc',
        'net/cert_store_impl.h',
        'net/cert_verifier_block_adapter.cc',
        'net/cert_verifier_block_adapter.h',
        'net/certificate_policy_cache.cc',
        'net/clients/crw_csp_network_client.h',
        'net/clients/crw_csp_network_client.mm',
        'net/clients/crw_js_injection_network_client.h',
        'net/clients/crw_js_injection_network_client.mm',
        'net/clients/crw_js_injection_network_client_factory.h',
        'net/clients/crw_js_injection_network_client_factory.mm',
        'net/clients/crw_passkit_delegate.h',
        'net/clients/crw_passkit_network_client.h',
        'net/clients/crw_passkit_network_client.mm',
        'net/clients/crw_passkit_network_client_factory.h',
        'net/clients/crw_passkit_network_client_factory.mm',
        'net/clients/crw_redirect_network_client.h',
        'net/clients/crw_redirect_network_client.mm',
        'net/clients/crw_redirect_network_client_factory.h',
        'net/clients/crw_redirect_network_client_factory.mm',
        '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_url_verifying_protocol_handler.h',
        'net/crw_url_verifying_protocol_handler.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',
        'public/active_state_manager.h',
        'public/block_types.h',
        'public/browser_state.h',
        'public/browser_url_rewriter.h',
        'public/browsing_data_partition.h',
        'public/browsing_data_partition_client.cc',
        'public/browsing_data_partition_client.h',
        'public/cert_policy.h',
        'public/cert_store.h',
        'public/certificate_policy_cache.h',
        'public/crw_browsing_data_store.h',
        'public/crw_browsing_data_store_delegate.h',
        '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/load_committed_details.h',
        'public/navigation_item.h',
        'public/navigation_manager.h',
        'public/origin_util.cc',
        'public/origin_util.h',
        'public/referrer.h',
        'public/referrer_util.cc',
        'public/referrer_util.h',
        'public/security_style.h',
        'public/ssl_status.cc',
        'public/ssl_status.h',
        'public/string_util.h',
        'public/url_scheme_util.h',
        'public/url_schemes.h',
        'public/url_schemes.mm',
        'public/url_util.h',
        'public/user_metrics.h',
        'public/web/url_data_source_ios.h',
        'public/web_client.h',
        'public/web_client.mm',
        'public/web_controller_factory.h',
        'public/web_controller_factory.mm',
        'public/web_kit_constants.h',
        'public/web_state/credential.h',
        'public/web_state/crw_web_controller_observer.h',
        'public/web_state/crw_web_user_interface_delegate.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/page_display_state.h',
        'public/web_state/page_display_state.mm',
        'public/web_state/ui/crw_content_view.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_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_counter.h',
        'public/web_view_creation_util.h',
        'public/web_view_type.h',
        'string_util.cc',
        'ui_web_view_util.h',
        'ui_web_view_util.mm',
        'url_scheme_util.mm',
        'url_util.cc',
        'user_metrics.cc',
        'weak_nsobject_counter.h',
        'weak_nsobject_counter.mm',
        'web_kit_constants.cc',
        'web_state/blocked_popup_info.h',
        'web_state/blocked_popup_info.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/frame_info.h',
        '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_early_script_manager.h',
        'web_state/js/crw_js_early_script_manager.mm',
        'web_state/js/crw_js_injection_manager.mm',
        'web_state/js/crw_js_injection_receiver.mm',
        'web_state/js/crw_js_invoke_parameter_queue.h',
        'web_state/js/crw_js_invoke_parameter_queue.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/page_viewport_state.h',
        'web_state/page_viewport_state.mm',
        'web_state/ui/crw_context_menu_provider.h',
        'web_state/ui/crw_context_menu_provider.mm',
        'web_state/ui/crw_generic_content_view.mm',
        'web_state/ui/crw_simple_web_view_controller.h',
        'web_state/ui/crw_static_file_web_view.h',
        'web_state/ui/crw_static_file_web_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_web_controller+protected.h',
        '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/crw_wk_simple_web_view_controller.h',
        'web_state/ui/crw_wk_simple_web_view_controller.mm',
        'web_state/ui/crw_wk_web_view_web_controller.h',
        'web_state/ui/crw_wk_web_view_web_controller.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_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',
        'web_thread_impl.cc',
        'web_thread_impl.h',
        'web_view_counter_impl.h',
        'web_view_counter_impl.mm',
        '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/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',
      ],
      'link_settings': {
        'libraries': [
          '$(SDKROOT)/System/Library/Frameworks/WebKit.framework',
        ],
      },
    },
    # Target shared by ios_web and CrNet.
    {
      # GN version: //ios/web:core
      'target_name': 'ios_web_core',
      'type': 'static_library',
      'dependencies': [
        '../../base/base.gyp:base',
      ],
      'include_dirs': [
        '../..',
      ],
      'sources': [
        'crw_network_activity_indicator_manager.h',
        'crw_network_activity_indicator_manager.mm',
        'history_state_util.h',
        'history_state_util.mm',
      ],
    },
    {
      # GN version: //ios/web:web_bundle
      'target_name': 'ios_web_js_bundle',
      'type': 'none',
      'variables': {
        'closure_entry_point': '__crWeb.webBundle',
        'js_bundle_files': [
          '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',
        ],
      },
      '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',
      ],
      '!sources': [
        # Remove all js files except web_bundle. Those files should not be
        # copied with the rest of resources, as they just Closure dependencies
        # for web_bundle.js. Dependencies were added as sources, so they get
        # indexed by Xcode.
        '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',
      ],
      'link_settings': {
        'mac_bundle_resources': [
          '<(SHARED_INTERMEDIATE_DIR)/web_bundle.js',
        ],
      },
      'includes': [
        'js_compile_bundle.gypi'
      ],
    },
    {
      # GN version: //ios/web:js_resources
      'target_name': 'js_resources',
      'type': 'none',
      'dependencies': [
        'ios_web_js_bundle',
      ],
      'sources': [
        'web_state/js/resources/post_request.js',
        'web_state/js/resources/plugin_placeholder.js',
        'web_state/js/resources/window_id.js',
        'webui/resources/web_ui.js',
      ],
      'link_settings': {
        'mac_bundle_resources': [
          '<(SHARED_INTERMEDIATE_DIR)/post_request.js',
          '<(SHARED_INTERMEDIATE_DIR)/plugin_placeholder.js',
          '<(SHARED_INTERMEDIATE_DIR)/window_id.js',
          '<(SHARED_INTERMEDIATE_DIR)/web_ui.js',
        ],
      },
      'includes': [
        'js_compile_checked.gypi'
      ],
    },
    {
      # GN version: //ios/web:test_support
      'target_name': 'ios_web_test_support',
      'type': 'static_library',
      'dependencies': [
        '../../ios/testing/ios_testing.gyp:ocmock_support',
        '../../ios/third_party/gcdwebserver/gcdwebserver.gyp:gcdwebserver',
        '../../testing/gmock.gyp:gmock',
        '../../testing/gtest.gyp:gtest',
        '../../third_party/ocmock/ocmock.gyp:ocmock',
        'ios_web',
      ],
      'include_dirs': [
        '../..',
      ],
      'sources': [
        'public/test/crw_test_js_injection_receiver.h',
        'public/test/crw_test_js_injection_receiver.mm',
        'public/test/http_server.h',
        'public/test/http_server.mm',
        'public/test/js_test_util.h',
        'public/test/js_test_util.mm',
        'public/test/response_providers/data_response_provider.h',
        'public/test/response_providers/data_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/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_browser_state.cc',
        'public/test/test_browser_state.h',
        'public/test/test_web_client.h',
        'public/test/test_web_client.mm',
        'public/test/test_web_state.h',
        'public/test/test_web_state.mm',
        'public/test/test_web_thread.h',
        'public/test/test_web_thread_bundle.h',
        'public/test/test_web_view_content_view.h',
        'public/test/test_web_view_content_view.mm',
        'test/crw_fake_web_controller_observer.h',
        'test/crw_fake_web_controller_observer.mm',
        'test/test_web_thread.cc',
        'test/test_web_thread_bundle.cc',
        'test/web_int_test.h',
        'test/web_int_test.mm',
        'test/web_test.h',
        'test/web_test.mm',
        'test/web_test_suite.cc',
        'test/web_test_suite.h',
        'test/wk_web_view_crash_utils.h',
        'test/wk_web_view_crash_utils.mm',
      ],
    },
    {
      # GN version: //ios/web:user_agent
      'target_name': 'user_agent',
      'type': 'static_library',
      'include_dirs': [
        '../..',
      ],
      'dependencies': [
        '../../base/base.gyp:base'
      ],
      'sources': [
        'public/user_agent.h',
        'public/user_agent.mm',
      ],
    },
  ],
}