# Copyright 2015 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.

static_library("net_log") {
  sources = [
    "chrome_net_log.cc",
    "chrome_net_log.h",
    "net_export_file_writer.cc",
    "net_export_file_writer.h",
    "net_export_ui_constants.cc",
    "net_export_ui_constants.h",
  ]

  deps = [
    "//base",
    "//components/version_info",
    "//net",
    "//services/network/public/mojom",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "net_export_file_writer_unittest.cc",
  ]
  deps = [
    ":net_log",
    "//base",
    "//base/test:test_support",
    "//net",
    "//net:test_support",
    "//services/network:network_service",
    "//services/network:test_support",
    "//services/network/public/cpp",
    "//services/network/public/cpp:cpp_base",
    "//testing/gtest",
  ]
}
