# Copyright 2015 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("//testing/test.gni")

component("blink") {
  output_name = "mojo_blink_lib"

  sources = [
    "blink_input_events_type_converters.cc",
    "blink_input_events_type_converters.h",
    "mojo_blink_export.h",
  ]

  defines = [ "MOJO_CONVERTERS_BLINK_IMPLEMENTATION" ]

  public_deps = [
    "//mojo/public/cpp/bindings",
  ]

  deps = [
    "//base",
    "//third_party/WebKit/public:blink",
    "//ui/events",
    "//ui/events:dom_keycode_converter",
  ]
}

test("blink_converters_unittests") {
  sources = [
    "blink_input_events_type_converters_unittest.cc",
  ]
  deps = [
    ":blink",
    "//base:message_loop_tests",
    "//base/test:run_all_unittests",
    "//base/test:test_support",
    "//mojo/public/cpp/bindings:bindings",
    "//testing/gtest",
    "//third_party/WebKit/public:blink",
    "//ui/events",
  ]
}
