| # 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("//testing/test.gni") |
| import("//ios/web/js_compile.gni") |
| |
| config("config") { |
| visibility = [ ":web" ] |
| |
| # The WebKit framework is only available since iOS 8.0 but Chrome on iOS do |
| # supports iOS 7.0 so need to use weak linking. |
| # TODO(crbug.com/541549): change to regular linking once support for iOS 7 is |
| # dropped. |
| ldflags = [ |
| "-weak_framework", |
| "WebKit", |
| ] |
| } |
| |
| source_set("web") { |
| deps = [ |
| ":core", |
| ":js_resources", |
| ":user_agent", |
| "//base", |
| "//components/url_formatter", |
| "//ios/net", |
| "//ios/third_party/blink:html_tokenizer", |
| "//net", |
| "//ui/base", |
| "//ui/gfx", |
| "//ui/gfx/geometry:geometry", |
| "//ui/resources", |
| "//url", |
| ] |
| |
| sources = [ |
| "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.cc", |
| "browser_url_rewriter_impl.h", |
| "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_recurring_task_delegate.h", |
| "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.cc", |
| "web_state/global_web_state_event_tracker.h", |
| "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/ui/crw_context_menu_provider.h", |
| "web_state/ui/crw_context_menu_provider.mm", |
| "web_state/ui/crw_debug_web_view.h", |
| "web_state/ui/crw_debug_web_view.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_ui_simple_web_view_controller.h", |
| "web_state/ui/crw_ui_simple_web_view_controller.mm", |
| "web_state/ui/crw_ui_web_view_web_controller.h", |
| "web_state/ui/crw_ui_web_view_web_controller.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.cc", |
| "web_state/web_state_facade_delegate.h", |
| "web_state/web_state_impl.h", |
| "web_state/web_state_impl.mm", |
| "web_state/web_state_observer.cc", |
| "web_state/web_state_observer_bridge.mm", |
| "web_state/web_state_policy_decider.mm", |
| "web_state/web_state_weak_ptr_factory.cc", |
| "web_state/web_state_weak_ptr_factory.h", |
| "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.cc", |
| "webui/shared_resources_data_source_ios.h", |
| "webui/url_data_manager_ios.cc", |
| "webui/url_data_manager_ios.h", |
| "webui/url_data_manager_ios_backend.cc", |
| "webui/url_data_manager_ios_backend.h", |
| "webui/url_data_source_ios.cc", |
| "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.cc", |
| "webui/web_ui_ios_data_source_impl.h", |
| "webui/web_ui_ios_impl.h", |
| "webui/web_ui_ios_impl.mm", |
| ] |
| |
| public_configs = [ ":config" ] |
| } |
| |
| source_set("core") { |
| deps = [ |
| "//base", |
| ] |
| |
| sources = [ |
| "crw_network_activity_indicator_manager.h", |
| "crw_network_activity_indicator_manager.mm", |
| "history_state_util.h", |
| "history_state_util.mm", |
| ] |
| } |
| |
| source_set("user_agent") { |
| deps = [ |
| "//base", |
| ] |
| |
| sources = [ |
| "public/user_agent.h", |
| "public/user_agent.mm", |
| ] |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| |
| deps = [ |
| ":web", |
| "//ios/testing:ocmock_support", |
| "//ios/third_party/gcdwebserver", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/ocmock", |
| ] |
| |
| 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.cc", |
| "public/test/response_providers/file_based_response_provider_impl.h", |
| "public/test/response_providers/response_provider.cc", |
| "public/test/response_providers/response_provider.h", |
| "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.cc", |
| "public/test/test_web_state.h", |
| "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", |
| "public/test/web_test_util.h", |
| "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_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", |
| ] |
| } |
| |
| test("ios_web_unittests") { |
| deps = [ |
| ":test_support", |
| ":web", |
| "//base", |
| "//base/test:test_support", |
| "//ios/testing:ocmock_support", |
| "//net:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/ocmock", |
| "//ui/base:test_support", |
| ] |
| |
| sources = [ |
| "active_state_manager_impl_unittest.mm", |
| "alloc_with_zone_interceptor_unittest.mm", |
| "browser_state_unittest.cc", |
| "browsing_data_partition_impl_unittest.mm", |
| "crw_browsing_data_store_unittest.mm", |
| "crw_network_activity_indicator_manager_unittest.mm", |
| "history_state_util_unittest.mm", |
| "navigation/crw_session_controller_unittest.mm", |
| "navigation/crw_session_entry_unittest.mm", |
| "navigation/navigation_item_impl_unittest.mm", |
| "navigation/navigation_manager_impl_unittest.mm", |
| "navigation/nscoder_util_unittest.mm", |
| "net/cert_host_pair_unittest.cc", |
| "net/cert_policy_unittest.cc", |
| "net/cert_verifier_block_adapter_unittest.cc", |
| "net/clients/crw_csp_network_client_unittest.mm", |
| "net/clients/crw_js_injection_network_client_unittest.mm", |
| "net/clients/crw_passkit_network_client_unittest.mm", |
| "net/crw_cert_verification_controller_unittest.mm", |
| "net/crw_url_verifying_protocol_handler_unittest.mm", |
| "net/request_group_util_unittest.mm", |
| "net/request_tracker_impl_unittest.mm", |
| "net/web_http_protocol_handler_delegate_unittest.mm", |
| "public/referrer_util_unittest.cc", |
| "string_util_unittest.cc", |
| "test/crw_fake_web_controller_observer_unittest.mm", |
| "test/run_all_unittests.cc", |
| "ui_web_view_util_unittest.mm", |
| "url_scheme_util_unittest.mm", |
| "url_util_unittest.cc", |
| "weak_nsobject_counter_unittest.mm", |
| "web_state/crw_pass_kit_downloader_unittest.mm", |
| "web_state/crw_web_view_scroll_view_proxy_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_early_script_manager_unittest.mm", |
| "web_state/js/crw_js_injection_manager_unittest.mm", |
| "web_state/js/crw_js_invoke_parameter_queue_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/ui/crw_static_file_web_view_unittest.mm", |
| "web_state/ui/crw_ui_simple_web_view_controller_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_script_message_router_unittest.mm", |
| "web_state/ui/crw_wk_simple_web_view_controller_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_impl_unittest.mm", |
| "web_state/web_view_internal_creation_util_unittest.mm", |
| "web_state/wk_web_view_security_util_unittest.mm", |
| "web_view_counter_impl_unittest.mm", |
| "webui/crw_web_ui_manager_unittest.mm", |
| "webui/crw_web_ui_page_builder_unittest.mm", |
| "webui/url_fetcher_block_adapter_unittest.mm", |
| ] |
| } |
| |
| js_compile_bundle("web_bundle_ui") { |
| 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/core_dynamic_ui.js", |
| "web_state/js/resources/dialog_overrides.js", |
| "web_state/js/resources/message.js", |
| "web_state/js/resources/message_dynamic_ui.js", |
| "web_state/js/resources/web_bundle_ui.js", |
| "web_state/js/resources/window_open_ui.js", |
| ] |
| } |
| |
| js_compile_bundle("web_bundle_wk") { |
| 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/core_dynamic_wk.js", |
| "web_state/js/resources/dialog_overrides.js", |
| "web_state/js/resources/message.js", |
| "web_state/js/resources/message_dynamic_wk.js", |
| "web_state/js/resources/web_bundle_wk.js", |
| "web_state/js/resources/window_open_wk.js", |
| ] |
| } |
| |
| js_compile_checked("js_resources") { |
| deps = [ |
| ":web_bundle_ui", |
| ":web_bundle_wk", |
| ] |
| |
| sources = [ |
| "web_state/js/resources/plugin_placeholder.js", |
| "web_state/js/resources/window_id.js", |
| "webui/resources/web_ui.js", |
| ] |
| } |