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