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

mojo_native_application("viewer") {
  output_name = "sky_viewer"

  sources = [
    "content_handler_impl.cc",
    "content_handler_impl.h",
    "converters/basic_types.cc",
    "converters/basic_types.h",
    "converters/input_event_types.cc",
    "converters/input_event_types.h",
    "converters/url_request_types.cc",
    "converters/url_request_types.h",
    "document_view.cc",
    "document_view.h",
    "internals.cc",
    "internals.h",
    "platform/platform_impl.cc",
    "platform/platform_impl.h",
    "platform/weburlloader_impl.cc",
    "platform/weburlloader_impl.h",
    "runtime_flags.cc",
    "runtime_flags.h",
    "script/script_runner.cc",
    "script/script_runner.h",
    "services/inspector_impl.cc",
    "services/inspector_impl.h",
    "viewer.cc",
  ]

  include_dirs = [ ".." ]

  deps = [
    ":bindings",
    ":sky_modules",
    "//gin",
    "//mojo/application",
    "//mojo/common",
    "//mojo/common:tracing_impl",
    "//mojo/converters/geometry",
    "//mojo/converters/surfaces",
    "//mojo/edk/js",
    "//mojo/icu",
    "//mojo/public/cpp/bindings",
    "//mojo/public/cpp/system",
    "//mojo/public/cpp/utility",
    "//mojo/public/interfaces/application",
    "//mojo/services/content_handler/public/interfaces",
    "//mojo/services/gpu/public/interfaces",
    "//mojo/services/input_events/public/interfaces",
    "//mojo/services/navigation/public/interfaces",
    "//mojo/services/network/public/interfaces",
    "//mojo/services/surfaces/public/interfaces",
    "//mojo/services/view_manager/public/cpp",
    "//net",
    "//skia",
    "//sky/compositor",
    "//sky/engine",
    "//sky/engine/v8_inspector",
    "//sky/services/inspector:bindings",
    "//sky/services/testing:bindings",
    "//third_party/icu",
    "//url",
  ]
}

mojom("bindings") {
  sources = [
    "services/inspector.mojom",
  ]
}

copy("sky_modules") {
  sources = [
    "script/core.sky",
    "script/support.sky",
    "script/threading.sky",
  ]
  outputs = [
    "$root_gen_dir/mojo/public/sky/{{source_file_part}}",
  ]
}
