# 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/input_events",
    "//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",
    "//ui/events",
    "//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}}",
  ]
}
