chromium/components/safe_browsing/content/renderer/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/config/features.gni")
import("//components/safe_browsing/buildflags.gni")
import("//extensions/buildflags/buildflags.gni")

source_set("renderer") {
  if (safe_browsing_mode != 0) {
    sources = [
      "threat_dom_details.cc",
      "threat_dom_details.h",
    ]

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

    deps = [
      "//base",
      "//components/safe_browsing/content/common:interfaces",
      "//components/safe_browsing/core/common:common",
      "//content/public/renderer",
      "//ipc",
      "//third_party/blink/public:blink",
      "//url/ipc:url_ipc",
    ]
  }
}

source_set("throttles") {
  if (safe_browsing_mode != 0) {
    sources = [
      "renderer_url_loader_throttle.cc",
      "renderer_url_loader_throttle.h",
    ]

    if (enable_extensions) {
      sources += [
        "websocket_sb_extensions_handshake_throttle.cc",
        "websocket_sb_extensions_handshake_throttle.h",
      ]
    }

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

    deps = [
      "//base:base",
      "//components/safe_browsing/content/common:interfaces",
      "//components/safe_browsing/core/common:common",
      "//components/safe_browsing/core/common:interfaces",
      "//content/public/common:common",
      "//extensions/buildflags",
      "//net",
      "//services/network/public/mojom",
      "//third_party/blink/public:blink",
      "//url:url",
    ]

    if (enable_extensions) {
      deps += [ "//extensions/common:common_constants" ]
    }
  }
}

source_set("throttles_unittest") {
  if (safe_browsing_mode != 0) {
    testonly = true
    sources = [ "renderer_url_loader_throttle_unittest.cc" ]
    if (enable_extensions) {
      sources += [ "websocket_sb_extensions_handshake_throttle_unittest.cc" ]
    }

    deps = [
      ":throttles",
      "//base:base",
      "//base/test:test_support",
      "//components/safe_browsing/content/common:interfaces",
      "//components/safe_browsing/core/common",
      "//components/safe_browsing/core/common:interfaces",
      "//ipc",
      "//services/network/public/mojom",
      "//testing/gmock",
      "//testing/gtest",
    ]

    if (enable_extensions) {
      deps += [ "//third_party/blink/public:blink" ]
    }
  }
}