# 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("../../../mojo_sdk_root.gni")
import("$mojo_sdk_root/mojo/public/tools/bindings/mojom.gni")

mojom("interfaces") {
  sources = [
    "navigation.mojom",
  ]

  import_dirs = [ get_path_info("../../../", "abspath") ]

  if (defined(network_service_root)) {
    import_dirs += [ network_service_root ]
  } else {
    network_service_root = "../../.."
  }

  deps = [
    "$network_service_root/network/public/interfaces",
  ]
}
