diff options
Diffstat (limited to 'chromium/ui/base/BUILD.gn')
-rw-r--r-- | chromium/ui/base/BUILD.gn | 125 |
1 files changed, 92 insertions, 33 deletions
diff --git a/chromium/ui/base/BUILD.gn b/chromium/ui/base/BUILD.gn index df0db2e2e26..b88df58d50b 100644 --- a/chromium/ui/base/BUILD.gn +++ b/chromium/ui/base/BUILD.gn @@ -3,15 +3,17 @@ # found in the LICENSE file. import("//build/buildflag_header.gni") +import("//build/config/chromeos/ui_mode.gni") import("//build/config/compiler/compiler.gni") import("//build/config/dcheck_always_on.gni") import("//build/config/linux/gtk/gtk.gni") import("//build/config/linux/pangocairo/pangocairo.gni") +import("//build/config/locales.gni") import("//build/config/ozone.gni") import("//build/config/sanitizers/sanitizers.gni") import("//build/config/ui.gni") import("//build/util/branding.gni") -import("//components/system_media_controls/linux/buildflags/buildflags.gni") +import("//testing/libfuzzer/fuzzer_test.gni") import("//testing/test.gni") import("//tools/grit/grit_rule.gni") import("//ui/base/ui_features.gni") @@ -62,6 +64,7 @@ buildflag_header("buildflags") { "USE_ATK=$use_atk", "USE_XKBCOMMON=$use_xkbcommon", "HAS_NATIVE_ACCESSIBILITY=$has_native_accessibility", + "HAS_PLATFORM_ACCESSIBILITY_SUPPORT=$has_platform_accessibility_support", "USE_GTK=$use_gtk", ] } @@ -89,6 +92,7 @@ component("base") { "default_style.h", "device_form_factor.h", "device_form_factor_desktop.cc", + "dragdrop/drag_drop_types.cc", "dragdrop/drag_drop_types.h", "dragdrop/drop_target_event.cc", "dragdrop/drop_target_event.h", @@ -168,6 +172,7 @@ component("base") { "webui/i18n_source_stream.h", "webui/jstemplate_builder.cc", "webui/jstemplate_builder.h", + "webui/resource_path.h", "webui/web_ui_util.cc", "webui/web_ui_util.h", "window_open_disposition.cc", @@ -274,6 +279,8 @@ component("base") { "cocoa/focus_window_set.mm", "cocoa/menu_controller.h", "cocoa/menu_controller.mm", + "cocoa/nsmenuitem_additions.h", + "cocoa/nsmenuitem_additions.mm", "cocoa/permissions_utils.h", "cocoa/permissions_utils.mm", "cocoa/quartz_util.h", @@ -332,8 +339,6 @@ component("base") { "accelerators/media_keys_util.h", "accelerators/menu_label_accelerator_util.cc", "accelerators/menu_label_accelerator_util.h", - "accelerators/system_media_controls_media_keys_listener.cc", - "accelerators/system_media_controls_media_keys_listener.h", "base_window.cc", "base_window.h", "emoji/emoji_panel_helper.h", @@ -373,7 +378,7 @@ component("base") { sources += [ "emoji/emoji_panel_helper_mac.mm" ] } else if (is_win) { sources += [ "emoji/emoji_panel_helper_win.cc" ] - } else if (is_chromeos) { + } else if (is_chromeos_ash) { sources += [ "emoji/emoji_panel_helper_chromeos.cc" ] } else { # Empty implementation for all other platforms. @@ -388,8 +393,6 @@ component("base") { "accelerators/global_media_keys_listener_win.h", "accelerators/media_keys_listener_win.cc", ] - } else if (use_mpris) { - sources += [ "accelerators/media_keys_listener_linux.cc" ] } else { sources += [ "accelerators/media_keys_listener_stub.cc" ] } @@ -429,10 +432,12 @@ component("base") { ] deps = [ + ":locales_list", "//base:base_static", "//base:i18n", "//base/third_party/dynamic_annotations", "//base/util/type_safety:type_safety", + "//build:chromeos_buildflags", "//net", "//third_party/brotli:dec", "//third_party/icu", @@ -441,6 +446,7 @@ component("base") { "//third_party/zlib/google:compression_utils", "//ui/base:data_exchange", "//ui/base/clipboard:clipboard_types", + "//ui/base/dragdrop/mojom", "//ui/display", "//ui/events", "//ui/events/devices", @@ -457,7 +463,7 @@ component("base") { if (!is_ios) { # iOS does not use Chromium-specific code for event handling. public_deps += [ - "//ui/base/dragdrop/file_info", + "//ui/base/clipboard:file_info", "//ui/events:events_base", "//ui/events/platform", ] @@ -485,13 +491,11 @@ component("base") { # X11 drag and drop wants to use common drag and drop types. allow_circular_includes_from = [ "//ui/base/x" ] - if (!is_chromeos) { + if (!is_chromeos_ash) { deps += [ "//ui/gfx/x" ] } } - deps += [ "//components/system_media_controls" ] - if (use_x11 && use_aura) { sources += [ "x/selection_requestor.cc", @@ -502,7 +506,7 @@ component("base") { "//ui/gfx/x", ] - if (!is_chromeos) { + if (!is_chromeos_ash) { # These Aura X11 files aren't used on ChromeOS. sources += [ "dragdrop/os_exchange_data_provider_x11.cc", @@ -528,7 +532,7 @@ component("base") { ] } - if (is_chromeos || (use_aura && is_linux)) { + if (is_chromeos_ash || (use_aura && (is_linux || is_chromeos_lacros))) { sources += [ "dragdrop/os_exchange_data_provider_non_backed.cc", "dragdrop/os_exchange_data_provider_non_backed.h", @@ -562,6 +566,7 @@ component("base") { if (!toolkit_views && !use_aura) { sources -= [ + "dragdrop/drag_drop_types.cc", "dragdrop/drag_drop_types.h", "dragdrop/drop_target_event.cc", "dragdrop/drop_target_event.h", @@ -607,7 +612,7 @@ component("data_exchange") { deps = [ "//base", "//ui/base/clipboard:clipboard_types", - "//ui/base/dragdrop/file_info", + "//ui/base/clipboard:file_info", "//ui/gfx", "//ui/gfx/geometry", "//url", @@ -631,10 +636,13 @@ component("features") { "//base", "//build:chromeos_buildflags", ] + if (!is_ios) { + deps += [ "//media:media_buildflags" ] + } } # TODO(crbug.com/1091985): Support CrOS. -if (is_win || is_mac || (is_linux && !is_chromeos)) { +if (is_win || is_mac || (is_linux || is_chromeos_lacros)) { static_library("pixel_diff_test_support") { testonly = true sources = [ @@ -646,6 +654,7 @@ if (is_win || is_mac || (is_linux && !is_chromeos)) { deps = [ "//base", "//base/test:test_config", + "//build:chromeos_buildflags", "//testing/gtest", "//ui/gfx", "//ui/snapshot", @@ -719,6 +728,7 @@ static_library("test_support") { "accelerators/test_accelerator_target.h", "test/mock_base_window.cc", "test/mock_base_window.h", + "test/test_dialog_model_host.h", "test/ui_controls.h", "test/view_tree_validator.h", ] @@ -743,6 +753,7 @@ static_library("test_support") { "//base", "//base/test:test_config", "//base/test:test_support", + "//build:chromeos_buildflags", "//skia", "//testing/gmock", "//testing/gtest", @@ -767,6 +778,8 @@ static_library("test_support") { "ime/dummy_input_method.h", "ime/dummy_text_input_client.cc", "ime/dummy_text_input_client.h", + "ime/fake_text_input_client.cc", + "ime/fake_text_input_client.h", ] deps += [ @@ -779,18 +792,22 @@ static_library("test_support") { } } - if (is_chromeos) { + if (is_chromeos_ash) { sources += [ - "ime/chromeos/input_method_allowlist.cc", - "ime/chromeos/input_method_allowlist.h", + "ime/chromeos/mock_component_extension_ime_manager.cc", + "ime/chromeos/mock_component_extension_ime_manager.h", + "ime/chromeos/mock_component_extension_ime_manager_delegate.cc", + "ime/chromeos/mock_component_extension_ime_manager_delegate.h", + "ime/chromeos/mock_ime_candidate_window_handler.cc", + "ime/chromeos/mock_ime_candidate_window_handler.h", + "ime/chromeos/mock_ime_engine_handler.cc", + "ime/chromeos/mock_ime_engine_handler.h", + "ime/chromeos/mock_ime_input_context_handler.cc", + "ime/chromeos/mock_ime_input_context_handler.h", "ime/chromeos/mock_input_method_manager.cc", "ime/chromeos/mock_input_method_manager.h", ] - deps += [ - # Generates a header used by input_method_allowlist.cc - "//chromeos/ime:gencode", - "//ui/base/ime/chromeos", - ] + deps += [ "//ui/base/ime/chromeos" ] } } @@ -857,6 +874,7 @@ test("ui_base_unittests") { sources = [ "class_property_unittest.cc", + "clipboard/file_info_unittest.cc", "ime/utf_offset_unittest.cc", "l10n/l10n_util_unittest.cc", "l10n/time_format_unittest.cc", @@ -889,7 +907,10 @@ test("ui_base_unittests") { "webui/i18n_source_stream_unittest.cc", ] if (is_mac) { - sources += [ "l10n/l10n_util_mac_unittest.mm" ] + sources += [ + "cocoa/nsmenuitem_additions_unittest.mm", + "l10n/l10n_util_mac_unittest.mm", + ] } if (!is_ios) { sources += [ "user_activity/user_activity_detector_unittest.cc" ] @@ -903,12 +924,13 @@ test("ui_base_unittests") { } data = [] - data_deps = [] + data_deps = [ "//testing/buildbot/filters:ui_base_unittests_filters" ] deps = [ ":ui_base_test_resources_grit", ":ui_base_unittests_bundle_data", "//base", "//base/test:test_support", + "//build:chromeos_buildflags", "//mojo/core/embedder", "//net", "//net:test_support", @@ -924,7 +946,9 @@ test("ui_base_unittests") { "//ui/base:ui_data_pack", "//ui/base/clipboard:clipboard_test", "//ui/base/clipboard:clipboard_types", + "//ui/base/clipboard:file_info", "//ui/base/cursor:unittests", + "//ui/base/data_transfer_policy:unittests", "//ui/base/prediction:prediction", "//ui/display", "//ui/events:events_base", @@ -955,14 +979,13 @@ test("ui_base_unittests") { "accelerators/accelerator_manager_unittest.cc", "accelerators/accelerator_unittest.cc", "accelerators/menu_label_accelerator_util_unittest.cc", - "accelerators/system_media_controls_media_keys_listener_unittest.cc", + "models/dialog_model_unittest.cc", "models/list_model_unittest.cc", "models/list_selection_model_unittest.cc", "models/tree_node_model_unittest.cc", "text/bytes_formatting_unittest.cc", "webui/web_ui_util_unittest.cc", ] - deps += [ "//components/system_media_controls:test_support" ] if (is_linux || is_chromeos) { sources += @@ -986,7 +1009,7 @@ test("ui_base_unittests") { } # TODO(crbug.com/1091985): Support CrOS. - if (is_win || is_mac || (is_linux && !is_chromeos)) { + if (is_win || is_mac || (is_linux || is_chromeos_lacros)) { sources += [ "test/skia_gold_matching_algorithm_unittest.cc", "test/skia_gold_pixel_diff_unittest.cc", @@ -1005,22 +1028,28 @@ test("ui_base_unittests") { sources += [ "ime/win/imm32_manager_unittest.cc", "ime/win/on_screen_keyboard_display_manager_unittest.cc", - "ime/win/tsf_input_policy_unittest.cc", "ime/win/tsf_input_scope_unittest.cc", "ime/win/tsf_text_store_unittest.cc", ] deps += [ "//ui/base/ime/win" ] } - if (is_chromeos) { + if (is_chromeos_ash) { sources += [ + "dragdrop/os_exchange_data_provider_non_backed_unittest.cc", "ime/chromeos/extension_ime_util_unittest.cc", "ime/chromeos/ime_keyboard_unittest.cc", "ime/chromeos/input_method_chromeos_unittest.cc", + "ime/chromeos/input_method_descriptor_unittest.cc", "ime/chromeos/input_method_util_unittest.cc", ] - deps += [ "//ui/base/ime/chromeos" ] + deps += [ + "//build:branding_buildflags", + "//ui/base/ime/chromeos", + ] } - if (is_linux && use_aura && !is_chromeos) { + if ((is_linux || is_chromeos_lacros) && use_aura) { + sources += [ "dragdrop/os_exchange_data_provider_non_backed_unittest.cc" ] + if (use_x11 || use_ozone) { sources += [ "ime/linux/input_method_auralinux_unittest.cc" ] deps += [ @@ -1035,7 +1064,7 @@ test("ui_base_unittests") { if (use_x11) { sources += [ "ime/linux/composition_text_util_pango_unittest.cc" ] } - if (is_chromeos || use_ozone) { + if (is_chromeos_ash || use_ozone) { sources += [ "ime/character_composer_unittest.cc" ] } } @@ -1119,7 +1148,7 @@ test("ui_base_unittests") { deps += [ "//ui/gfx/x:unit_test" ] } - if (is_chromeos) { + if (is_chromeos_ash) { deps += [ "//ui/events:dom_keycode_converter" ] } @@ -1200,3 +1229,33 @@ source_set("base_interactive_ui_tests") { ] } } + +fuzzer_test("file_info_fuzzer") { + sources = [ "clipboard/file_info_fuzzer.cc" ] + deps = [ + "//base", + "//ui/base/clipboard:file_info", + ] +} + +# Same as locales, but includes "en" on Apple platforms. +# Apple platforms use "en" instead of "en-US" (see the definition of +# |locales_as_mac_outputs| in locales.gni). However, we still want to keep +# "en-US" in the list as the |ResourceBundle::GetLocaleFilePath| implementations +# in ui/base/resource/resource_bundle_{mac,ios}.mm return a valid path for +# "en-US" (as they internally rewrite it as "en" instead). +locales_for_platform_list = locales +if (is_apple) { + locales_for_platform_list += [ "en" ] +} + +action("locales_list_gen") { + script = "//tools/l10n/generate_locales_list.py" + outputs = [ "$root_gen_dir/ui/base/l10n/l10n_util_locales_list.inc" ] + args = rebase_path(outputs, root_build_dir) + locales_for_platform_list +} + +source_set("locales_list") { + deps = [ ":locales_list_gen" ] + sources = [ "$root_gen_dir/ui/base/l10n/l10n_util_locales_list.inc" ] +} |