| # 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", |
| "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", |
| "override_ns_next_step_frame_hit_test.h", |
| "override_ns_next_step_frame_hit_test.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 = [ |
| ":features", |
| "//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/accessibility", |
| "//ui/base/dragdrop:types", |
| "//ui/base/emoji", |
| "//ui/base/ime", |
| "//ui/base/interaction", |
| "//ui/events", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| "//ui/menus", |
| "//ui/strings:ui_strings_grit", |
| ] |
| frameworks = [ |
| "Cocoa.framework", |
| "QuartzCore.framework", |
| "SecurityInterface.framework", |
| "UniformTypeIdentifiers.framework", |
| ] |
| } |
| |
| component("features") { |
| assert(is_mac) |
| |
| defines = [ "REMOTE_COCOA_APP_SHIM_IMPLEMENTATION" ] |
| |
| sources = [ |
| "features.cc", |
| "features.h", |
| "remote_cocoa_app_shim_export.h", |
| ] |
| deps = [ "//base" ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "browser_native_widget_window_mac_unittests.mm", |
| "native_widget_mac_overlay_nswindow_unittests.mm", |
| ] |
| deps = [ |
| ":app_shim", |
| "//base", |
| "//mojo/public/cpp/test_support:test_utils", |
| "//testing/gtest", |
| "//ui/base", |
| ] |
| } |