blob: f478b0b0910cdb970070377542f54ab76a8edfd4 [file] [log] [blame]
# 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("//build/config/jumbo.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//testing/test.gni")
import("//third_party/google_input_tools/closure.gni")
import("//third_party/google_input_tools/inputview.gni")
import("//tools/grit/grit_rule.gni")
assert(is_chromeos)
jumbo_component("keyboard") {
sources = [
"container_behavior.h",
"container_floating_behavior.cc",
"container_floating_behavior.h",
"container_full_width_behavior.cc",
"container_full_width_behavior.h",
"container_fullscreen_behavior.cc",
"container_fullscreen_behavior.h",
"display_util.cc",
"display_util.h",
"drag_descriptor.h",
"keyboard_controller.cc",
"keyboard_controller.h",
"keyboard_controller_observer.h",
"keyboard_event_filter.cc",
"keyboard_event_filter.h",
"keyboard_export.h",
"keyboard_layout_delegate.h",
"keyboard_layout_manager.cc",
"keyboard_layout_manager.h",
"keyboard_resource_util.cc",
"keyboard_resource_util.h",
"keyboard_switches.cc",
"keyboard_switches.h",
"keyboard_ui.cc",
"keyboard_ui.h",
"keyboard_ukm_recorder.cc",
"keyboard_ukm_recorder.h",
"keyboard_util.cc",
"keyboard_util.h",
"notification_manager.cc",
"notification_manager.h",
"queued_container_type.cc",
"queued_container_type.h",
"queued_display_change.cc",
"queued_display_change.h",
"shaped_window_targeter.cc",
"shaped_window_targeter.h",
]
defines = [ "KEYBOARD_IMPLEMENTATION" ]
deps = [
":mojom",
":resources",
"//base",
"//chromeos",
"//services/metrics/public/cpp:ukm_builders",
"//ui/aura",
"//ui/base",
"//ui/base/ime",
"//ui/compositor",
"//ui/display:display",
"//ui/events",
"//ui/events:dom_keycode_converter",
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/wm",
]
if (use_ozone) {
deps += [ "//ui/ozone" ]
}
data_deps = [
":resources",
]
}
static_library("test_support") {
testonly = true
sources = [
"test/keyboard_test_util.cc",
"test/keyboard_test_util.h",
]
deps = [
":keyboard",
"//base",
"//ui/aura",
"//ui/aura:test_support",
"//ui/base:test_support",
]
}
grit("resources_grit") {
source = "keyboard_resources.grd"
outputs = [
"grit/keyboard_resources.h",
"grit/keyboard_resources_map.h",
"keyboard_resources.pak",
]
input_tools_root_dir = "//third_party/google_input_tools/src/chrome/os"
inputview_gen_js = "$root_gen_dir/ui/keyboard/resources/inputview.js"
grit_flags = [
"-E",
"input_tools_root_dir=" + rebase_path(input_tools_root_dir, "."),
"-E",
"inputview_gen_js=" + rebase_path(inputview_gen_js, root_build_dir),
]
deps = [
":inputview",
]
}
copy("resources") {
sources = [
"$target_gen_dir/keyboard_resources.pak",
]
outputs = [
"$root_out_dir/keyboard_resources.pak",
]
public_deps = [
":resources_grit",
]
}
build_closure("inputview") {
sources = inputview_sources
target = "$target_gen_dir/resources/inputview.js"
json_file = "//third_party/google_input_tools/inputview.gypi"
sources += [ json_file ]
json_sources = "variables.inputview_sources"
path = rebase_path("//third_party/google_input_tools")
}
mojom("mojom") {
sources = [
"public/keyboard_config.mojom",
]
}
test("keyboard_unittests") {
sources = [
"container_floating_behavior_unittest.cc",
"container_full_width_behavior_unittest.cc",
"keyboard_controller_unittest.cc",
"keyboard_event_filter_unittest.cc",
"keyboard_ukm_recorder_unittest.cc",
"keyboard_util_unittest.cc",
"notification_manager_unittest.cc",
"test/run_all_unittests.cc",
]
deps = [
":keyboard",
":mojom",
":test_support",
"//base",
"//base/test:test_support",
"//components/ukm:test_support",
"//services/service_manager/public/cpp",
"//testing/gmock",
"//testing/gtest",
"//ui/aura:test_support",
"//ui/base",
"//ui/base:test_support",
"//ui/base/ime",
"//ui/compositor:test_support",
"//ui/events:test_support",
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/gl:test_support",
"//ui/resources:ui_test_pak",
"//ui/wm",
]
data_deps = [
"//ui/resources:ui_test_pak_data",
]
if (use_ozone) {
deps += [ "//ui/ozone" ]
}
}