# Copyright 2016 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/optimize_js.gni") source_set("web") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "blocked_popup_tab_helper.h", "blocked_popup_tab_helper.mm", "certificate_policy_app_agent.h", "certificate_policy_app_agent.mm", "dom_altering_lock.h", "dom_altering_lock.mm", "error_page_controller_bridge.h", "error_page_controller_bridge.mm", "error_page_util.h", "error_page_util.mm", "invalid_url_tab_helper.h", "invalid_url_tab_helper.mm", "load_timing_tab_helper.h", "load_timing_tab_helper.mm", "repost_form_tab_helper.h", "repost_form_tab_helper.mm", "sad_tab_tab_helper.h", "sad_tab_tab_helper.mm", "web_navigation_browser_agent.h", "web_navigation_browser_agent.mm", "web_navigation_ntp_delegate.h", "web_navigation_util.h", "web_navigation_util.mm", ] deps = [ ":feature_flags", ":page_placeholder", ":tab_helper_delegates", "//base", "//components/content_settings/core/browser", "//components/error_page/common", "//components/feature_engagement/public", "//components/pref_registry", "//components/resources:components_resources_grit", "//components/resources:dev_ui_components_resources_grit", "//components/search_engines", "//components/strings", "//components/ukm/ios:ukm_url_recorder", "//components/variations/net", "//ios/chrome/app/application_delegate:observing_app_state_agent", "//ios/chrome/app/strings", "//ios/chrome/browser", "//ios/chrome/browser/browser_state", "//ios/chrome/browser/content_settings", "//ios/chrome/browser/feature_engagement", "//ios/chrome/browser/infobars", "//ios/chrome/browser/infobars:public", "//ios/chrome/browser/main:public", "//ios/chrome/browser/ntp", "//ios/chrome/browser/ui/commands", "//ios/chrome/browser/ui/elements", "//ios/chrome/browser/ui/fullscreen", "//ios/chrome/browser/ui/util", "//ios/chrome/browser/url:constants", "//ios/chrome/browser/web_state_list", "//ios/chrome/common/ui/util", "//ios/components/ui_util", "//ios/components/webui:url_constants", "//ios/net", "//ios/web", "//ios/web/common", "//ios/web/common:user_agent", "//ios/web/public/js_messaging", "//ios/web/public/security", "//ios/web/public/session", "//services/metrics/public/cpp:ukm_builders", "//ui/base", "//url", ] public_deps = [ "//components/infobars/core" ] } source_set("delegate") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "web_state_delegate_browser_agent.h", "web_state_delegate_browser_agent.mm", ] deps = [ ":tab_helper_delegates", ":web", "//base", "//components/url_param_filter/core", "//ios/chrome/browser/main:public", "//ios/chrome/browser/overlays", "//ios/chrome/browser/overlays/public/web_content_area", "//ios/chrome/browser/snapshots", "//ios/chrome/browser/ui/context_menu", "//ios/chrome/browser/ui/dialogs:dialogs_internal", "//ios/chrome/browser/url_loading", "//ios/chrome/browser/url_loading:url_loading_params_header", "//ios/chrome/browser/web_state_list", "//ios/chrome/browser/web_state_list:agents", "//ios/components/security_interstitials", "//ios/web/public", "//url", ] frameworks = [ "UIKit.framework", "Foundation.framework", ] } source_set("page_placeholder") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "page_placeholder_tab_helper.h", "page_placeholder_tab_helper.mm", ] deps = [ "//base", "//ios/chrome/browser/snapshots", "//ios/chrome/browser/ui/elements", "//ios/chrome/browser/ui/util", "//ios/chrome/common/ui/util", "//ios/net", "//ios/web", ] } source_set("tab_helper_delegates") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "repost_form_tab_helper_delegate.h", "sad_tab_tab_helper_delegate.h", "web_state_container_view_provider.h", ] deps = [ "//ios/web/public" ] } source_set("unit_tests") { configs += [ "//build/config/compiler:enable_arc" ] testonly = true sources = [ "certificate_policy_app_agent_unittest.mm", "error_page_util_unittest.mm", "invalid_url_tab_helper_unittest.mm", "load_timing_tab_helper_unittest.mm", "page_placeholder_tab_helper_unittest.mm", "repost_form_tab_helper_unittest.mm", "sad_tab_tab_helper_unittest.mm", "web_navigation_browser_agent_unittest.mm", "web_navigation_util_unittest.mm", "web_state_delegate_browser_agent_unittest.mm", ] deps = [ ":delegate", ":page_placeholder", ":tab_helper_delegates", ":web", "//base", "//base/test:test_support", "//components/search_engines", "//components/strings", "//components/sync_preferences:sync_preferences", "//components/sync_preferences:test_support", "//ios/chrome/app:app_internal", "//ios/chrome/app/application_delegate:application_delegate_internal", "//ios/chrome/browser", "//ios/chrome/browser/browser_state:test_support", "//ios/chrome/browser/main", "//ios/chrome/browser/main:test_support", "//ios/chrome/browser/ntp", "//ios/chrome/browser/overlays", "//ios/chrome/browser/overlays/public/web_content_area", "//ios/chrome/browser/prefs:browser_prefs", "//ios/chrome/browser/snapshots", "//ios/chrome/browser/ui/util", "//ios/chrome/browser/url:constants", "//ios/chrome/browser/web:feature_flags", "//ios/chrome/browser/web_state_list", "//ios/chrome/browser/web_state_list:agents", "//ios/chrome/test:test_support", "//ios/net", "//ios/net:test_support", "//ios/web", "//ios/web/public/security", "//ios/web/public/session", "//ios/web/public/test", "//ios/web/public/test/fakes", "//ios/web/public/test/http_server", "//net:test_support", "//services/network:test_support", "//testing/gmock", "//testing/gtest", "//third_party/ocmock", "//ui/base", "//url:url", ] } optimize_js("language_detection_js") { primary_script = "//components/translate/ios/browser/resources/language_detection.js" sources = [ "//components/translate/ios/browser/resources/language_detection.js" ] } source_set("web_internal") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "chrome_main_parts.h", "chrome_main_parts.mm", "chrome_web_client.h", "chrome_web_client.mm", ] deps = [ ":language_detection_js", ":web", "//base", "//base/allocator:buildflags", "//components/autofill/ios/browser", "//components/autofill/ios/form_util:form_handler_feature", "//components/content_settings/core/browser", "//components/crash/core/common:crash_key_lib", "//components/crash/core/common:reporter_running_ios", "//components/dom_distiller/core", "//components/flags_ui", "//components/google/core/common", "//components/heap_profiling/in_process", "//components/language/core/browser", "//components/metrics", "//components/metrics:call_stack_profile_params", "//components/metrics:child_call_stack_profile_builder", "//components/metrics_services_manager", "//components/open_from_clipboard", "//components/password_manager/core/common:features", "//components/password_manager/ios:password_manager_feature", "//components/payments/core", "//components/prefs", "//components/resources", "//components/signin/public/identity_manager", "//components/strings", "//components/translate/core/browser", "//components/translate/ios/browser", "//components/variations", "//components/variations/field_trial_config", "//components/variations/service", "//components/version_info", "//ios/chrome/app/resources:ios_resources", "//ios/chrome/browser", "//ios/chrome/browser:browser_impl", "//ios/chrome/browser/application_context:application_context_impl", "//ios/chrome/browser/browser_state", "//ios/chrome/browser/browser_state:browser_state_impl", "//ios/chrome/browser/content_settings", "//ios/chrome/browser/crash_report", "//ios/chrome/browser/first_run", "//ios/chrome/browser/flags", "//ios/chrome/browser/flags:client_side", "//ios/chrome/browser/flags:system_flags", "//ios/chrome/browser/follow:javascript_feature", "//ios/chrome/browser/https_upgrades", "//ios/chrome/browser/link_to_text", "//ios/chrome/browser/metrics:accessor", "//ios/chrome/browser/metrics:expired_histograms_array", "//ios/chrome/browser/ntp", "//ios/chrome/browser/open_from_clipboard", "//ios/chrome/browser/passwords", "//ios/chrome/browser/policy", "//ios/chrome/browser/prerender", "//ios/chrome/browser/promos_manager", "//ios/chrome/browser/reading_list", "//ios/chrome/browser/safe_browsing", "//ios/chrome/browser/search_engines", "//ios/chrome/browser/signin:signin_util", "//ios/chrome/browser/ssl", "//ios/chrome/browser/translate", "//ios/chrome/browser/ui:feature_flags", "//ios/chrome/browser/ui/elements", "//ios/chrome/browser/ui/infobars/coordinators", "//ios/chrome/browser/ui/util", "//ios/chrome/browser/url", "//ios/chrome/browser/url:constants", "//ios/chrome/browser/web:feature_flags", "//ios/chrome/browser/web/font_size", "//ios/chrome/browser/web/image_fetch", "//ios/chrome/browser/web/java_script_console", "//ios/chrome/browser/web/print", "//ios/chrome/browser/web/session_state", "//ios/chrome/browser/web/web_performance_metrics", "//ios/chrome/common", "//ios/components/security_interstitials", "//ios/components/security_interstitials/https_only_mode", "//ios/components/security_interstitials/lookalikes", "//ios/components/security_interstitials/safe_browsing", "//ios/components/webui:url_constants", "//ios/net", "//ios/public/provider/chrome/browser/url_rewriters:url_rewriters_api", "//ios/web", "//ios/web/common", "//ios/web/common:user_agent", "//ios/web/public", "//ios/web/public/js_messaging", "//net", "//rlz/buildflags", "//services/metrics/public/cpp:metrics_cpp", "//ui/base", "//ui/display", "//ui/gfx", "//url", ] frameworks = [ "UIKit.framework", "Foundation.framework", ] } source_set("unit_tests_internal") { configs += [ "//build/config/compiler:enable_arc" ] testonly = true sources = [ "blocked_popup_tab_helper_unittest.mm", "chrome_web_client_unittest.mm", ] deps = [ ":feature_flags", ":web_internal", "//base", "//base/test:test_support", "//components/captive_portal/core", "//components/content_settings/core/browser", "//components/infobars/core", "//components/lookalikes/core", "//components/payments/core", "//components/safe_browsing/ios/browser:allow_list", "//components/security_interstitials/core:unsafe_resource", "//components/strings", "//components/version_info", "//ios/chrome/browser", "//ios/chrome/browser/browser_state:test_support", "//ios/chrome/browser/content_settings:content_settings", "//ios/chrome/browser/find_in_page", "//ios/chrome/browser/infobars", "//ios/chrome/browser/infobars:public", "//ios/chrome/browser/passwords", "//ios/chrome/browser/reading_list", "//ios/chrome/browser/safe_browsing", "//ios/chrome/browser/ssl", "//ios/chrome/browser/url:constants", "//ios/chrome/browser/web", "//ios/chrome/test/fakes", "//ios/components/security_interstitials", "//ios/components/security_interstitials/https_only_mode", "//ios/components/security_interstitials/lookalikes", "//ios/components/security_interstitials/safe_browsing", "//ios/net", "//ios/web/common:features", "//ios/web/common:web_view_creation_util", "//ios/web/public/test", "//ios/web/public/test/fakes", "//net", "//net:test_support", "//services/network:test_support", "//services/network/public/mojom", "//testing/gtest", "//third_party/ocmock", "//ui/base", "//url", ] } source_set("constants") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "lookalike_url_constants.h", "lookalike_url_constants.mm", ] } source_set("eg_test_support+eg2") { configs += [ "//build/config/compiler:enable_arc", "//build/config/ios:xctest_config", ] testonly = true sources = [ "lookalike_url_app_interface.h", "lookalike_url_app_interface_stub.mm", "progress_indicator_app_interface.h", "progress_indicator_app_interface_stub.mm", ] deps = [ "//ios/chrome/test/earl_grey:eg_test_support+eg2", "//ios/third_party/earl_grey2:test_lib", ] } source_set("eg_app_support+eg2") { configs += [ "//build/config/compiler:enable_arc", "//build/config/ios:xctest_config", ] testonly = true sources = [ "lookalike_url_app_interface.h", "lookalike_url_app_interface.mm", "progress_indicator_app_interface.h", "progress_indicator_app_interface.mm", ] deps = [ ":constants", "//base", "//components/content_settings/core/browser", "//components/lookalikes/core", "//ios/chrome/browser/browser_state", "//ios/chrome/test/app:test_support", "//ios/components/security_interstitials/lookalikes", "//ios/testing/earl_grey:eg_app_support+eg2", "//ios/third_party/earl_grey2:app_framework+link", "//ios/third_party/material_components_ios", "//ios/web/public", "//net", ] } source_set("eg2_tests") { configs += [ "//build/config/compiler:enable_arc", "//build/config/ios:xctest_config", ] testonly = true sources = [ "browsing_egtest.mm", "browsing_prevent_default_egtest.mm", "cache_egtest.mm", "child_window_open_by_dom_egtest.mm", "content_mode_egtest.mm", "error_page_egtest.mm", "forms_egtest.mm", "http_auth_egtest.mm", "js_print_egtest.mm", "lookalike_url_egtest.mm", "navigation_egtest.mm", "progress_indicator_egtest.mm", "push_and_replace_state_navigation_egtest.mm", "restore_egtest.mm", "ssl_egtest.mm", "stop_loading_egtest.mm", "tab_order_egtest.mm", "visible_url_egtest.mm", "web_share_egtest.mm", "window_open_by_dom_egtest.mm", ] deps = [ ":constants", ":eg_test_support+eg2", "//components/content_settings/core/common", "//components/omnibox/common", "//components/security_interstitials/core", "//components/strings", "//components/url_formatter", "//components/version_info:version_info", "//ios/chrome/app/strings", "//ios/chrome/browser/metrics:eg_test_support+eg2", "//ios/chrome/browser/prefs:pref_names", "//ios/chrome/browser/ui/infobars/banners:public", "//ios/chrome/browser/ui/popup_menu:constants", "//ios/chrome/browser/ui/start_surface:feature_flags", "//ios/chrome/browser/url:constants", "//ios/chrome/browser/web:feature_flags", "//ios/chrome/test:eg_test_support+eg2", "//ios/chrome/test/earl_grey:eg_test_support+eg2", "//ios/net:test_support", "//ios/testing:embedded_test_server_support", "//ios/testing/earl_grey:eg_test_support+eg2", "//ios/third_party/earl_grey2:test_lib", "//ios/web/common:features", "//ios/web/public/test:element_selector", "//ios/web/public/test/http_server", "//net:test_support", "//ui/base", "//url", ] frameworks = [ "UIKit.framework" ] } source_set("feature_flags") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "features.cc", "features.h", ] deps = [ "//base" ] }