blob: ef76bcac3484959e83f8c6246967c26e02917a6e [file] [log] [blame]
# Copyright 2016 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/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",
"//ios/chrome/app/application_delegate:observing_app_state_agent",
"//ios/chrome/app/strings:ios_strings_grit",
"//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/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_strings_grit",
"//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/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_web_client.h",
"chrome_web_client.mm",
]
deps = [
":language_detection_js",
":web",
"//base",
"//components/autofill/ios/browser",
"//components/autofill/ios/form_util:form_handler_feature",
"//components/content_settings/core/browser",
"//components/dom_distiller/core",
"//components/google/core/common",
"//components/password_manager/core/common:features",
"//components/password_manager/ios:password_manager_feature",
"//components/payments/core",
"//components/prefs",
"//components/resources",
"//components/strings",
"//components/version_info",
"//ios/chrome/app/resources:ios_resources",
"//ios/chrome/app/strings",
"//ios/chrome/browser",
"//ios/chrome/browser:browser_impl",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/content_settings",
"//ios/chrome/browser/follow:javascript_feature",
"//ios/chrome/browser/https_upgrades",
"//ios/chrome/browser/link_to_text",
"//ios/chrome/browser/ntp",
"//ios/chrome/browser/passwords",
"//ios/chrome/browser/prerender",
"//ios/chrome/browser/reading_list",
"//ios/chrome/browser/safe_browsing",
"//ios/chrome/browser/search_engines",
"//ios/chrome/browser/ssl",
"//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/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/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",
"//services/metrics/public/cpp:metrics_cpp",
"//ui/base",
"//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_strings_grit",
"//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/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:chrome_url_constants",
"//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/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" ]
}