| # Copyright 2024 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//testing/test.gni") |
| assert(is_win || is_mac || is_linux || is_chromeos || is_android || |
| is_fuchsia || is_ios) |
| |
| component("menus") { |
| sources = [ |
| "simple_menu_model.cc", |
| "simple_menu_model.h", |
| ] |
| |
| if (is_mac) { |
| sources += [ |
| "cocoa/menu_controller.h", |
| "cocoa/menu_controller.mm", |
| "cocoa/text_services_context_menu.h", |
| "cocoa/text_services_context_menu.mm", |
| ] |
| } |
| |
| if (is_android) { |
| sources += [ |
| "android/menu_model_bridge.cc", |
| "android/menu_model_bridge.h", |
| ] |
| } |
| |
| defines = [ "IS_UI_MENUS_IMPL" ] |
| |
| public_deps = [ |
| "//base", |
| "//ui/actions", |
| "//ui/base", |
| "//ui/base/interaction", |
| ] |
| |
| if (is_mac) { |
| public_deps += [ "//ui/strings:ui_strings_grit" ] |
| } |
| if (is_mac) { |
| frameworks = [ |
| "Accelerate.framework", |
| "AppKit.framework", |
| "AudioUnit.framework", |
| "AVFAudio.framework", |
| "Carbon.framework", |
| "CoreVideo.framework", |
| "Foundation.framework", |
| "QuartzCore.framework", |
| ] |
| } |
| |
| if (is_android) { |
| public_deps += [ "//ui/android:menu_model_bridge_jni_headers" ] |
| } |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ "simple_menu_model_unittest.cc" ] |
| |
| if (is_mac) { |
| sources += [ "cocoa/menu_controller_unittest.mm" ] |
| } |
| |
| deps = [ |
| ":menus", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//ui/color", |
| "//ui/gfx", |
| "//ui/gfx:test_support", |
| ] |
| |
| if (is_mac) { |
| deps += [ |
| "//base/test:test_support", |
| "//ui/base:test_support", |
| "//ui/events:test_support", |
| ] |
| } |
| } |