chromium/components/remote_cocoa/app_shim/BUILD.gn

# Copyright 2019 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//mojo/public/tools/bindings/mojom.gni")

config("app_shim_warnings") {
  if (is_mac) {
    # TODO(thakis): Remove this once http://crbug.com/383820 is figured out
    cflags = [ "-Wno-nonnull" ]
  }
}

# This component is for code that is to run in the app shim process.
component("app_shim") {
  assert(is_mac)

  configs += [ ":app_shim_warnings" ]
  sources = [
    "NSToolbar+Private.h",
    "NSToolbar+Private.mm",
    "alert.h",
    "alert.mm",
    "application_bridge.h",
    "application_bridge.mm",
    "bridged_content_view.h",
    "bridged_content_view.mm",
    "bridged_content_view_touch_bar.mm",
    "browser_native_widget_window_mac.h",
    "browser_native_widget_window_mac.mm",
    "context_menu_runner.h",
    "context_menu_runner.mm",
    "drag_drop_client.h",
    "features.cc",
    "features.h",
    "immersive_mode_controller_cocoa.h",
    "immersive_mode_controller_cocoa.mm",
    "immersive_mode_delegate_mac.h",
    "immersive_mode_tabbed_controller_cocoa.h",
    "immersive_mode_tabbed_controller_cocoa.mm",
    "menu_controller_cocoa_delegate_impl.h",
    "menu_controller_cocoa_delegate_impl.mm",
    "mojo_menu_model.h",
    "mojo_menu_model.mm",
    "mouse_capture.h",
    "mouse_capture.mm",
    "mouse_capture_delegate.h",
    "native_widget_mac_frameless_nswindow.h",
    "native_widget_mac_frameless_nswindow.mm",
    "native_widget_mac_nswindow.h",
    "native_widget_mac_nswindow.mm",
    "native_widget_mac_overlay_nswindow.h",
    "native_widget_mac_overlay_nswindow.mm",
    "native_widget_ns_window_bridge.h",
    "native_widget_ns_window_bridge.mm",
    "native_widget_ns_window_fullscreen_controller.h",
    "native_widget_ns_window_fullscreen_controller.mm",
    "native_widget_ns_window_host_helper.h",
    "ns_view_ids.h",
    "ns_view_ids.mm",
    "remote_cocoa_app_shim_export.h",
    "select_file_dialog_bridge.h",
    "select_file_dialog_bridge.mm",
    "views_nswindow_delegate.h",
    "views_nswindow_delegate.mm",
    "views_scrollbar_bridge.h",
    "views_scrollbar_bridge.mm",
    "window_move_loop.h",
    "window_move_loop.mm",
    "window_touch_bar_delegate.h",
  ]
  defines = [ "REMOTE_COCOA_APP_SHIM_IMPLEMENTATION" ]
  deps = [
    "//base",
    "//base:i18n",
    "//components/crash/core/common",
    "//components/remote_cocoa/common:mojo",
    "//components/system_media_controls",
    "//mojo/public/cpp/bindings",
    "//net",
    "//ui/accelerated_widget_mac",
    "//ui/base",
    "//ui/base/dragdrop:types",
    "//ui/base/emoji",
    "//ui/base/ime:ime",
    "//ui/events",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//ui/strings:ui_strings_grit",
  ]
  frameworks = [
    "Cocoa.framework",
    "QuartzCore.framework",
    "SecurityInterface.framework",
    "UniformTypeIdentifiers.framework",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [ "native_widget_mac_overlay_nswindow_unittests.mm" ]
  deps = [
    ":app_shim",
    "//base",
    "//mojo/public/cpp/test_support:test_utils",
    "//testing/gtest",
    "//ui/base",
  ]
}