# Copyright 2014 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("//build/config/features.gni")
import("//build/config/jumbo.gni")
import("//chrome/common/features.gni")
import("//components/nacl/features.gni")
import("//components/offline_pages/buildflags/features.gni")
import("//components/spellcheck/spellcheck_build_features.gni")
import("//extensions/buildflags/buildflags.gni")
import("//media/media_options.gni")
import("//ppapi/buildflags/buildflags.gni")
import("//third_party/widevine/cdm/widevine.gni")
import("//tools/grit/grit_rule.gni")

grit("resources") {
  source = "resources/renderer_resources.grd"
  defines = chrome_grit_defines
  output_dir = "$root_gen_dir/chrome"
  output_name = "renderer_resources"
  outputs = [
    "grit/renderer_resources.h",
    "renderer_resources_100_percent.pak",
    "renderer_resources_200_percent.pak",
    "renderer_resources_300_percent.pak",
  ]
  grit_flags = [
    "-E",
    "mojom_root=" + rebase_path(root_gen_dir, root_build_dir),
  ]
  deps = [
    "//chrome/common/media_router/mojo:media_controller_js",
    "//chrome/common/media_router/mojo:media_router_js",
    "//services/network/public/mojom:mojom_js",
    "//url/mojom:url_mojom_gurl_js",
    "//url/mojom:url_mojom_origin_js",
  ]
  if (is_chromeos) {
    deps += [ "//chromeos/services/ime/public/mojom:mojom_js" ]
  }
}

jumbo_static_library("renderer") {
  sources = [
    "app_categorizer.cc",
    "app_categorizer.h",
    "benchmarking_extension.cc",
    "benchmarking_extension.h",
    "chrome_content_renderer_client.cc",
    "chrome_content_renderer_client.h",
    "chrome_render_frame_observer.cc",
    "chrome_render_frame_observer.h",
    "chrome_render_thread_observer.cc",
    "chrome_render_thread_observer.h",
    "chrome_render_view_observer.cc",
    "chrome_render_view_observer.h",
    "content_settings_observer.cc",
    "content_settings_observer.h",
    "custom_menu_commands.h",
    "instant_restricted_id_cache.h",
    "loadtimes_extension_bindings.cc",
    "loadtimes_extension_bindings.h",
    "media/chrome_key_systems.cc",
    "media/chrome_key_systems.h",
    "media/chrome_key_systems_provider.cc",
    "media/chrome_key_systems_provider.h",
    "media/chrome_webrtc_log_message_delegate.cc",
    "media/chrome_webrtc_log_message_delegate.h",
    "media/flash_embed_rewrite.cc",
    "media/flash_embed_rewrite.h",
    "media/webrtc_logging_message_filter.cc",
    "media/webrtc_logging_message_filter.h",
    "net/net_error_helper.cc",
    "net/net_error_helper.h",
    "net/net_error_helper_core.cc",
    "net/net_error_helper_core.h",
    "net/net_error_page_controller.cc",
    "net/net_error_page_controller.h",
    "net_benchmarking_extension.cc",
    "net_benchmarking_extension.h",
    "page_load_metrics/metrics_render_frame_observer.cc",
    "page_load_metrics/metrics_render_frame_observer.h",
    "page_load_metrics/page_resource_data_use.cc",
    "page_load_metrics/page_resource_data_use.h",
    "page_load_metrics/page_timing_metrics_sender.cc",
    "page_load_metrics/page_timing_metrics_sender.h",
    "page_load_metrics/page_timing_sender.h",
    "plugins/non_loadable_plugin_placeholder.cc",
    "plugins/non_loadable_plugin_placeholder.h",
    "plugins/pdf_plugin_placeholder.cc",
    "plugins/pdf_plugin_placeholder.h",
    "plugins/plugin_uma.cc",
    "plugins/plugin_uma.h",
    "prerender/prerender_dispatcher.cc",
    "prerender/prerender_dispatcher.h",
    "prerender/prerender_extra_data.cc",
    "prerender/prerender_extra_data.h",
    "prerender/prerender_helper.cc",
    "prerender/prerender_helper.h",
    "prerender/prerenderer_client.cc",
    "prerender/prerenderer_client.h",
    "sandbox_status_extension_android.cc",
    "sandbox_status_extension_android.h",
    "security_filter_peer.cc",
    "security_filter_peer.h",
    "ssl/ssl_certificate_error_page_controller.cc",
    "ssl/ssl_certificate_error_page_controller.h",
    "supervised_user/supervised_user_error_page_controller.cc",
    "supervised_user/supervised_user_error_page_controller.h",
    "tts_dispatcher.cc",
    "tts_dispatcher.h",
    "url_loader_throttle_provider_impl.cc",
    "url_loader_throttle_provider_impl.h",
    "web_apps.cc",
    "web_apps.h",
    "websocket_handshake_throttle_provider_impl.cc",
    "websocket_handshake_throttle_provider_impl.h",
    "worker_content_settings_client.cc",
    "worker_content_settings_client.h",
  ]

  defines = []

  deps = [
    "//chrome:resources",
    "//chrome:strings",
    "//chrome/common",
    "//chrome/common:mojo_bindings",
    "//chrome/common:search_mojom",
    "//chrome/common/net",
    "//components/autofill/content/renderer",
    "//components/cdm/renderer",
    "//components/contextual_search/content:renderer",
    "//components/data_reduction_proxy/content/common",
    "//components/data_reduction_proxy/content/renderer",
    "//components/data_reduction_proxy/core/common",
    "//components/dom_distiller/content/renderer",
    "//components/network_hints/renderer",
    "//components/omnibox/common",
    "//components/plugins/renderer",
    "//components/rappor/public/interfaces",
    "//components/resources:components_resources",
    "//components/safe_browsing/common:interfaces",
    "//components/safe_browsing/renderer:throttles",
    "//components/security_interstitials/core:",
    "//components/security_interstitials/core/common/interfaces:",
    "//components/spellcheck:buildflags",
    "//components/startup_metric_utils/common:interfaces",
    "//components/subresource_filter/content/renderer",
    "//components/task_scheduler_util",
    "//components/translate/content/renderer",
    "//components/translate/core/common",
    "//components/translate/core/language_detection",
    "//components/visitedlink/renderer",
    "//components/web_cache/renderer",
    "//content/app/resources",
    "//content/app/strings",
    "//content/public/common",
    "//content/public/renderer",
    "//extensions/buildflags",
    "//media",
    "//media:media_buildflags",
    "//media/capture",
    "//mojo/public/cpp/bindings",
    "//net",
    "//ppapi/buildflags",
    "//printing/buildflags",
    "//services/metrics/public/cpp:metrics_cpp",
    "//services/metrics/public/mojom",
    "//services/service_manager/public/cpp",
    "//skia",
    "//storage/common",
    "//third_party/blink/public:blink",
    "//third_party/blink/public:resources",
    "//third_party/blink/public:scaled_resources",
    "//third_party/icu",
    "//third_party/re2",
    "//third_party/widevine/cdm:buildflags",
    "//ui/surface",
    "//v8:v8",
  ]

  data_deps = [
    "//tools/v8_context_snapshot",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]

  if (enable_nacl) {
    deps += [
      "//components/nacl/loader",
      "//components/nacl/renderer",
    ]
  }

  if (enable_plugins) {
    sources += [
      "pepper/chrome_renderer_pepper_host_factory.cc",
      "pepper/chrome_renderer_pepper_host_factory.h",
      "pepper/pepper_flash_drm_renderer_host.cc",
      "pepper/pepper_flash_drm_renderer_host.h",
      "pepper/pepper_flash_font_file_host.cc",
      "pepper/pepper_flash_font_file_host.h",
      "pepper/pepper_flash_fullscreen_host.cc",
      "pepper/pepper_flash_fullscreen_host.h",
      "pepper/pepper_flash_menu_host.cc",
      "pepper/pepper_flash_menu_host.h",
      "pepper/pepper_flash_renderer_host.cc",
      "pepper/pepper_flash_renderer_host.h",
      "pepper/pepper_helper.cc",
      "pepper/pepper_helper.h",
      "pepper/pepper_shared_memory_message_filter.cc",
      "pepper/pepper_shared_memory_message_filter.h",
      "pepper/pepper_uma_host.cc",
      "pepper/pepper_uma_host.h",
      "plugins/chrome_plugin_placeholder.cc",
      "plugins/chrome_plugin_placeholder.h",
      "plugins/plugin_preroller.cc",
      "plugins/plugin_preroller.h",
      "plugins/power_saver_info.cc",
      "plugins/power_saver_info.h",
    ]
    deps += [
      "//components/pdf/renderer",
      "//components/strings",
      "//media:media_buildflags",
      "//ppapi/host",
      "//ppapi/proxy",
      "//ppapi/proxy:ipc",
      "//ppapi/shared_impl",
    ]

    if (is_linux) {
      deps += [ "//components/services/font/public/cpp" ]
    }
  }

  if (enable_widevine_cdm_component) {
    deps += [ "//third_party/widevine/cdm:headers" ]
  }

  if (safe_browsing_mode != 0) {
    deps += [
      "//components/safe_browsing/common:common",
      "//components/safe_browsing/renderer",
    ]
    if (safe_browsing_mode == 1) {
      sources += [
        "safe_browsing/feature_extractor_clock.cc",
        "safe_browsing/feature_extractor_clock.h",
        "safe_browsing/features.cc",
        "safe_browsing/features.h",
        "safe_browsing/murmurhash3_util.cc",
        "safe_browsing/murmurhash3_util.h",
        "safe_browsing/phishing_classifier.cc",
        "safe_browsing/phishing_classifier.h",
        "safe_browsing/phishing_classifier_delegate.cc",
        "safe_browsing/phishing_classifier_delegate.h",
        "safe_browsing/phishing_dom_feature_extractor.cc",
        "safe_browsing/phishing_dom_feature_extractor.h",
        "safe_browsing/phishing_term_feature_extractor.cc",
        "safe_browsing/phishing_term_feature_extractor.h",
        "safe_browsing/phishing_url_feature_extractor.cc",
        "safe_browsing/phishing_url_feature_extractor.h",
        "safe_browsing/scorer.cc",
        "safe_browsing/scorer.h",
      ]
      deps += [
        "//chrome/common/safe_browsing:proto",
        "//components/safe_browsing:csd_proto",
        "//third_party/smhasher:murmurhash3",
      ]
    }
  }

  if (enable_extensions) {
    sources += [
      "extensions/app_bindings.cc",
      "extensions/app_bindings.h",
      "extensions/app_bindings_core.cc",
      "extensions/app_bindings_core.h",
      "extensions/app_hooks_delegate.cc",
      "extensions/app_hooks_delegate.h",
      "extensions/automation_ax_tree_wrapper.cc",
      "extensions/automation_ax_tree_wrapper.h",
      "extensions/automation_internal_custom_bindings.cc",
      "extensions/automation_internal_custom_bindings.h",
      "extensions/chrome_extensions_dispatcher_delegate.cc",
      "extensions/chrome_extensions_dispatcher_delegate.h",
      "extensions/chrome_extensions_renderer_client.cc",
      "extensions/chrome_extensions_renderer_client.h",
      "extensions/chrome_v8_extension_handler.cc",
      "extensions/chrome_v8_extension_handler.h",
      "extensions/extension_hooks_delegate.cc",
      "extensions/extension_hooks_delegate.h",
      "extensions/extension_localization_peer.cc",
      "extensions/extension_localization_peer.h",
      "extensions/extension_process_policy.cc",
      "extensions/extension_process_policy.h",
      "extensions/media_galleries_custom_bindings.cc",
      "extensions/media_galleries_custom_bindings.h",
      "extensions/notifications_native_handler.cc",
      "extensions/notifications_native_handler.h",
      "extensions/page_capture_custom_bindings.cc",
      "extensions/page_capture_custom_bindings.h",
      "extensions/renderer_permissions_policy_delegate.cc",
      "extensions/renderer_permissions_policy_delegate.h",
      "extensions/resource_request_policy.cc",
      "extensions/resource_request_policy.h",
      "extensions/sync_file_system_custom_bindings.cc",
      "extensions/sync_file_system_custom_bindings.h",
      "extensions/tabs_hooks_delegate.cc",
      "extensions/tabs_hooks_delegate.h",
      "media/cast_ipc_dispatcher.cc",
      "media/cast_ipc_dispatcher.h",
      "media/cast_receiver_audio_valve.cc",
      "media/cast_receiver_audio_valve.h",
      "media/cast_receiver_session.cc",
      "media/cast_receiver_session.h",
      "media/cast_receiver_session_delegate.cc",
      "media/cast_receiver_session_delegate.h",
      "media/cast_rtp_stream.cc",
      "media/cast_rtp_stream.h",
      "media/cast_session.cc",
      "media/cast_session.h",
      "media/cast_session_delegate.cc",
      "media/cast_session_delegate.h",
      "media/cast_threads.cc",
      "media/cast_threads.h",
      "media/cast_transport_ipc.cc",
      "media/cast_transport_ipc.h",
      "media/cast_udp_transport.cc",
      "media/cast_udp_transport.h",
      "resources/extensions/app_custom_bindings.js",
      "resources/extensions/automation_custom_bindings.js",
      "resources/extensions/browser_action_custom_bindings.js",
      "resources/extensions/chrome_setting.js",
      "resources/extensions/content_setting.js",
      "resources/extensions/declarative_content_custom_bindings.js",
      "resources/extensions/easy_unlock_proximity_required.js",
      "resources/extensions/enterprise_platform_keys_custom_bindings.js",
      "resources/extensions/gcm_custom_bindings.js",
      "resources/extensions/identity_custom_bindings.js",
      "resources/extensions/image_writer_private_custom_bindings.js",
      "resources/extensions/input.ime_custom_bindings.js",
      "resources/extensions/notifications_custom_bindings.js",
      "resources/extensions/omnibox_custom_bindings.js",
      "resources/extensions/page_action_custom_bindings.js",
      "resources/extensions/page_capture_custom_bindings.js",
      "resources/extensions/system_indicator_custom_bindings.js",
      "resources/extensions/tts_custom_bindings.js",
      "resources/extensions/tts_engine_custom_bindings.js",
    ]
    deps += [
      # TODO(hclam): See crbug.com/298380 for details.
      # We should isolate the APIs needed by the renderer.
      "//chrome/common/extensions/api",
      "//components/guest_view/renderer",
      "//extensions:extensions_resources",
      "//extensions/renderer",
      "//media/cast:net",
      "//media/cast:receiver",
      "//media/cast:sender",
      "//services/network/public/cpp",
    ]
    public_deps = [
      "//ipc",
    ]
  }
  if (enable_extensions) {
    sources += [
      "extensions/cast_streaming_native_handler.cc",
      "extensions/cast_streaming_native_handler.h",
    ]
  }
  if (enable_spellcheck) {
    deps += [ "//components/spellcheck/renderer:renderer" ]
  }

  if (enable_basic_printing) {
    deps += [
      "//components/printing/renderer",
      "//printing",
    ]
    sources += [
      "printing/chrome_print_render_frame_helper_delegate.cc",
      "printing/chrome_print_render_frame_helper_delegate.h",
    ]
    if (enable_print_preview) {
      sources += [
        "pepper/chrome_pdf_print_client.cc",
        "pepper/chrome_pdf_print_client.h",
      ]
    }
  }

  if (is_win) {
    deps += [ "//third_party/wtl" ]
  }

  if (is_chromeos) {
    sources += [
      "extensions/file_browser_handler_custom_bindings.cc",
      "extensions/file_browser_handler_custom_bindings.h",
      "extensions/file_manager_private_custom_bindings.cc",
      "extensions/file_manager_private_custom_bindings.h",
      "extensions/platform_keys_natives.cc",
      "extensions/platform_keys_natives.h",
      "resources/extensions/certificate_provider_custom_bindings.js",
      "resources/extensions/file_browser_handler_custom_bindings.js",
      "resources/extensions/file_manager_private_custom_bindings.js",
      "resources/extensions/file_system_provider_custom_bindings.js",
    ]
  }

  if (!is_android) {
    sources += [
      "searchbox/search_bouncer.cc",
      "searchbox/search_bouncer.h",
      "searchbox/searchbox.cc",
      "searchbox/searchbox.h",
      "searchbox/searchbox_extension.cc",
      "searchbox/searchbox_extension.h",
    ]
  }

  if (is_android) {
    sources += [
      "net/available_offline_content_helper.cc",
      "net/available_offline_content_helper.h",
      "net/page_auto_fetcher_helper_android.cc",
      "net/page_auto_fetcher_helper_android.h",
    ]
  }
}

jumbo_static_library("test_support") {
  testonly = true
  visibility = [ "//chrome/test:test_support" ]

  sources = [
    "chrome_mock_render_thread.cc",
    "chrome_mock_render_thread.h",
    "media/mock_webrtc_logging_message_filter.cc",
    "media/mock_webrtc_logging_message_filter.h",
    "safe_browsing/mock_feature_extractor_clock.cc",
    "safe_browsing/mock_feature_extractor_clock.h",
    "safe_browsing/test_utils.cc",
    "safe_browsing/test_utils.h",
  ]

  deps = [
    ":renderer",
    "//chrome/common:search_mojom",
    "//content/test:test_support",
    "//extensions/buildflags",
    "//testing/gmock",
    "//testing/gtest",
  ]

  if (is_android) {
    sources -= [
      "safe_browsing/mock_feature_extractor_clock.cc",
      "safe_browsing/mock_feature_extractor_clock.h",
    ]
  }
}
