# Copyright 2017 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/build/config.gni")

source_set("ui") {
  deps = [
    ":crw_context_menu_controller",
    ":crw_web_view_navigation_proxy",
    ":crw_wk_script_message_router",
    ":favicon_util",
    ":web_view_js_utils",
    "//base",
    "//ios/net",
    "//ios/web:core",
    "//ios/web/interstitials",
    "//ios/web/navigation",
    "//ios/web/navigation:core",
    "//ios/web/net:net",
    "//ios/web/public",
    "//ios/web/public/download",
    "//ios/web/web_state:context_menu",
    "//ios/web/web_state:error_translation_util",
    "//ios/web/web_state:navigation_context",
    "//ios/web/web_state:page_viewport_state",
    "//ios/web/web_state:web_frame",
    "//ios/web/web_state:web_state_impl_header",
    "//ios/web/web_state:web_view_internal_creation_util",
    "//ios/web/web_state:wk_web_view_security_util",
    "//ios/web/web_state/js",
    "//ios/web/web_state/ui:wk_web_view_configuration_provider",
    "//ios/web/webui:webui",
    "//ui/base",
    "//url",
  ]

  sources = [
    "crw_generic_content_view.mm",
    "crw_swipe_recognizer_provider.h",
    "crw_touch_tracking_recognizer.h",
    "crw_touch_tracking_recognizer.mm",
    "crw_web_controller.h",
    "crw_web_controller.mm",
    "crw_web_controller_container_view.h",
    "crw_web_controller_container_view.mm",
    "crw_web_view_content_view.mm",
    "crw_web_view_proxy_impl.h",
    "crw_web_view_proxy_impl.mm",
    "crw_web_view_scroll_view_proxy.mm",
    "crw_wk_navigation_states.h",
    "crw_wk_navigation_states.mm",
    "wk_back_forward_list_item_holder.h",
    "wk_back_forward_list_item_holder.mm",
    "wk_navigation_action_util.h",
    "wk_navigation_action_util.mm",
  ]

  libs = [ "WebKit.framework" ]

  configs += [ "//build/config/compiler:enable_arc" ]
}

source_set("crw_wk_script_message_router") {
  deps = [
    "//base",
  ]

  sources = [
    "crw_wk_script_message_router.h",
    "crw_wk_script_message_router.mm",
  ]

  libs = [ "WebKit.framework" ]

  configs += [ "//build/config/compiler:enable_arc" ]
}

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

  libs = [ "WebKit.framework" ]

  configs += [ "//build/config/compiler:enable_arc" ]
}

source_set("crw_context_menu_controller") {
  deps = [
    "//base",
    "//ios/web/public",
    "//ios/web/web_state:context_menu",
    "//ios/web/web_state/ui:crw_wk_script_message_router",
    "//ios/web/web_state/ui:wk_web_view_configuration_provider",
  ]

  sources = [
    "crw_context_menu_controller.h",
    "crw_context_menu_controller.mm",
    "html_element_fetch_request.h",
    "html_element_fetch_request.mm",
  ]

  configs += [ "//build/config/compiler:enable_arc" ]
}

source_set("wk_web_view_configuration_provider") {
  deps = [
    ":crw_wk_script_message_router",
    "//base",
    "//ios/web/public",
    "//ios/web/web_state/js",
  ]

  sources = [
    "wk_web_view_configuration_provider.h",
    "wk_web_view_configuration_provider.mm",
  ]

  libs = [ "WebKit.framework" ]

  configs += [ "//build/config/compiler:enable_arc" ]
}

source_set("web_view_js_utils") {
  deps = [
    "//base",
    "//ios/web/public",
  ]

  sources = [
    "web_view_js_utils.h",
    "web_view_js_utils.mm",
  ]

  libs = [ "WebKit.framework" ]

  configs += [ "//build/config/compiler:enable_arc" ]
}

source_set("favicon_util") {
  deps = [
    "//base",
    "//ios/web/public",
  ]

  sources = [
    "favicon_util.h",
    "favicon_util.mm",
  ]

  libs = [ "WebKit.framework" ]

  configs += [ "//build/config/compiler:enable_arc" ]
}
