chromium/ios/web/web_state/ui/BUILD.gn

# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/buildflag_header.gni")
import("//ios/build/config.gni")
import("//ios/features.gni")

source_set("ui") {
  public_deps = [ ":web_controller_header" ]
  deps = [
    ":crw_context_menu_controller",
    ":crw_web_view_navigation_proxy",
    ":web_view_handler",
    "//base",
    "//build:branding_buildflags",
    "//ios/net",
    "//ios/third_party/webkit",
    "//ios/web:core",
    "//ios/web/annotations",
    "//ios/web/browsing_data",
    "//ios/web/common",
    "//ios/web/common:uikit",
    "//ios/web/download",
    "//ios/web/favicon",
    "//ios/web/find_in_page",
    "//ios/web/js_features/context_menu",
    "//ios/web/js_features/scroll_helper",
    "//ios/web/js_messaging",
    "//ios/web/js_messaging:java_script_feature_util",
    "//ios/web/js_messaging:web_view_js_utils",
    "//ios/web/navigation",
    "//ios/web/navigation:core",
    "//ios/web/navigation:navigation_manager_util",
    "//ios/web/navigation:wk_navigation_util",
    "//ios/web/net:net",
    "//ios/web/public",
    "//ios/web/public/annotations",
    "//ios/web/public/deprecated",
    "//ios/web/public/download",
    "//ios/web/public/find_in_page",
    "//ios/web/public/js_messaging",
    "//ios/web/public/permissions",
    "//ios/web/public/security",
    "//ios/web/public/webui",
    "//ios/web/security",
    "//ios/web/session",
    "//ios/web/text_fragments",
    "//ios/web/web_state:user_interaction",
    "//ios/web/web_state:web_state_impl_header",
    "//ios/web/web_state:web_view_internal_creation_util",
    "//ios/web/web_state/ui:wk_web_view_configuration_provider",
    "//ios/web/web_view:util",
    "//ios/web/webui:webui",
    "//net",
    "//services/metrics/public/cpp:ukm_builders",
    "//ui/base",
    "//url",
  ]

  sources = [
    "crw_media_capture_permission_request.h",
    "crw_media_capture_permission_request.mm",
    "crw_touch_tracking_recognizer.mm",
    "crw_web_controller.mm",
    "crw_web_controller_container_view.h",
    "crw_web_controller_container_view.mm",
    "crw_web_request_controller.h",
    "crw_web_request_controller.mm",
    "crw_web_view_proxy_impl.h",
    "crw_web_view_proxy_impl.mm",
    "crw_web_view_scroll_view_delegate_proxy.h",
    "crw_web_view_scroll_view_delegate_proxy.mm",
    "crw_web_view_scroll_view_proxy+internal.h",
    "crw_web_view_scroll_view_proxy.mm",
    "crw_wk_ui_handler.h",
    "crw_wk_ui_handler.mm",
    "crw_wk_ui_handler_delegate.h",
  ]
}

source_set("web_controller_header") {
  sources = [
    "crw_touch_tracking_recognizer.h",
    "crw_web_controller.h",
  ]

  deps = [
    ":crw_web_view_navigation_proxy",
    "//ios/web/public/deprecated",
  ]

  public_deps = [ "//base" ]
}

source_set("web_view_handler") {
  sources = [
    "crw_web_view_handler.h",
    "crw_web_view_handler.mm",
    "crw_web_view_handler_delegate.h",
  ]
}

source_set("crw_web_view_navigation_proxy") {
  sources = [ "crw_web_view_navigation_proxy.h" ]

  deps = [ "//ios/third_party/webkit" ]
}

source_set("crw_context_menu_controller") {
  deps = [
    ":wk_web_view_configuration_provider",
    "//base",
    "//ios/web/common",
    "//ios/web/js_features/context_menu",
    "//ios/web/js_messaging",
    "//ios/web/public",
    "//ios/web/public/js_messaging",
    "//ios/web/web_state:web_state_impl_header",
    "//ui/gfx",
    "//ui/gfx/geometry",
  ]

  sources = [
    "crw_context_menu_controller.h",
    "crw_context_menu_controller.mm",
    "crw_context_menu_element_fetcher.h",
    "crw_context_menu_element_fetcher.mm",
    "crw_html_element_fetch_request.h",
    "crw_html_element_fetch_request.mm",
  ]
}

source_set("wk_web_view_configuration_provider_header") {
  deps = [ "//base" ]
  sources = [ "wk_web_view_configuration_provider.h" ]
}

source_set("wk_web_view_configuration_provider") {
  public_deps = [ ":wk_web_view_configuration_provider_header" ]
  deps = [
    "//base",
    "//components/safe_browsing/core/common",
    "//ios/components/security_interstitials/https_only_mode:feature",
    "//ios/third_party/webkit",
    "//ios/web/common",
    "//ios/web/js_messaging",
    "//ios/web/js_messaging:java_script_feature",
    "//ios/web/js_messaging:java_script_feature_util",
    "//ios/web/navigation:session_restore_feature",
    "//ios/web/public",
    "//ios/web/webui",
  ]

  sources = [
    "wk_content_rule_list_provider.h",
    "wk_content_rule_list_provider.mm",
    "wk_content_rule_list_util.h",
    "wk_content_rule_list_util.mm",
    "wk_web_view_configuration_provider.mm",
  ]
}