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

static_library("navigation_metrics") {
  sources = [
    "navigation_metrics.cc",
    "navigation_metrics.h",
  ]

  deps = [
    "//base",
    "//base:i18n",
    "//components/dom_distiller/core:core",
    "//components/profile_metrics",
    "//components/url_formatter:url_formatter",
    "//url",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [ "navigation_metrics_unittest.cc" ]
  deps = [
    ":navigation_metrics",
    "//base/test:test_support",
    "//components/profile_metrics",
    "//testing/gtest",
    "//url",
  ]
}
