# 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.

source_set("js") {
  sources = [
    "core.cc",
    "core.h",
    "drain_data.cc",
    "drain_data.h",
    "handle.cc",
    "handle.h",
    "handle_close_observer.h",
    "mojo_runner_delegate.cc",
    "mojo_runner_delegate.h",
    "support.cc",
    "support.h",
    "threading.cc",
    "threading.h",
    "waiting_callback.cc",
    "waiting_callback.h",
  ]

  public_deps = [
    "//base",
    "//gin",
    "//v8",
  ]

  deps = [
    "//mojo/public/cpp/environment",
    "//mojo/public/cpp/system",
  ]
}

source_set("js_unittests") {
  testonly = true
  sources = [
    "handle_unittest.cc",
  ]

  deps = [
    "//mojo/edk/js",
    "//mojo/edk/test:test_support",
    "//mojo/public/cpp/system",
    "//testing/gtest",
  ]

}
