# Copyright 2018 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")

jumbo_component("platform_window_handler") {
  output_name = "platform_window_handler_libs"

  sources = [
    "wm_drag_handler.cc",
    "wm_drag_handler.h",
    "wm_drop_handler.cc",
    "wm_drop_handler.h",
    "wm_move_resize_handler.cc",
    "wm_move_resize_handler.h",
    "wm_platform_export.h",
  ]

  defines = [ "PLATFORM_WINDOW_HANDLER_IMPLEMENTATION" ]

  deps = [
    "//ui/base",
    "//ui/platform_window",
  ]
}
