# 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("//third_party/wayland/wayland_protocol.gni")

wayland_protocol("xdg_shell_protocol") {
  sources = [
    "src/unstable/xdg-shell/xdg-shell-unstable-v5.xml",
    "src/unstable/xdg-shell/xdg-shell-unstable-v6.xml",
  ]
}

wayland_protocol("linux_dmabuf_protocol") {
  sources = [
    "src/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml",
  ]
}

wayland_protocol("viewporter_protocol") {
  sources = [
    "src/stable/viewporter/viewporter.xml",
  ]
}

wayland_protocol("presentation_time_protocol") {
  sources = [
    "src/stable/presentation-time/presentation-time.xml",
  ]
}

wayland_protocol("vsync_feedback_protocol") {
  sources = [
    "unstable/vsync-feedback/vsync-feedback-unstable-v1.xml",
  ]
}

wayland_protocol("secure_output_protocol") {
  sources = [
    "unstable/secure-output/secure-output-unstable-v1.xml",
  ]
}

wayland_protocol("alpha_compositing_protocol") {
  sources = [
    "unstable/alpha-compositing/alpha-compositing-unstable-v1.xml",
  ]
}

wayland_protocol("remote_shell_protocol") {
  sources = [
    "unstable/remote-shell/remote-shell-unstable-v1.xml",
  ]
}

wayland_protocol("gaming_input_protocol") {
  sources = [
    "unstable/gaming-input/gaming-input-unstable-v1.xml",
    "unstable/gaming-input/gaming-input-unstable-v2.xml",
  ]
}

wayland_protocol("stylus_protocol") {
  sources = [
    "unstable/stylus/stylus-unstable-v2.xml",
  ]
}

wayland_protocol("pointer_gestures_protocol") {
  sources = [
    "src/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml",
  ]
}

wayland_protocol("relative_pointer_protocol") {
  sources = [
    "src/unstable/relative-pointer/relative-pointer-unstable-v1.xml",
  ]
}

wayland_protocol("keyboard_configuration_protocol") {
  sources = [
    "unstable/keyboard/keyboard-configuration-unstable-v1.xml",
  ]
}

wayland_protocol("stylus_tools_protocol") {
  sources = [
    "unstable/stylus-tools/stylus-tools-unstable-v1.xml",
  ]
}

wayland_protocol("keyboard_extension_protocol") {
  sources = [
    "unstable/keyboard/keyboard-extension-unstable-v1.xml",
  ]
}

wayland_protocol("input_timestamps_protocol") {
  sources = [
    "src/unstable/input-timestamps/input-timestamps-unstable-v1.xml",
  ]
}

wayland_protocol("cursor_shapes_protocol") {
  sources = [
    "unstable/cursor-shapes/cursor-shapes-unstable-v1.xml",
  ]
}

wayland_protocol("text_input_protocol") {
  sources = [
    "src/unstable/text-input/text-input-unstable-v1.xml",
  ]
}

wayland_protocol("notification_shell_protocol") {
  sources = [
    "unstable/notification-shell/notification-shell-unstable-v1.xml",
  ]
}

wayland_protocol("fullscreen_shell_protocol") {
  sources = [
    "src/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml",
  ]
}

wayland_protocol("linux_explicit_synchronization_protocol") {
  sources = [
    "src/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml",
  ]
}
