# 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/libfuzzer/fuzzer_test.gni") assert(is_chromeos) static_library("file_manager") { sources = [ "device_event_router.cc", "device_event_router.h", "drivefs_event_router.cc", "drivefs_event_router.h", "event_router.cc", "event_router.h", "event_router_factory.cc", "event_router_factory.h", "file_manager_private_api_functions.h", "file_system_provider_metrics_util.cc", "file_system_provider_metrics_util.h", "fmpi_get_volume_root_function.cc", "fmpi_get_volume_root_function.h", "image_loader_private_api.cc", "image_loader_private_api.h", "logged_extension_function.cc", "logged_extension_function.h", "office_tasks.cc", "office_tasks.h", "private_api_dialog.cc", "private_api_dialog.h", "private_api_drive.cc", "private_api_drive.h", "private_api_file_system.cc", "private_api_file_system.h", "private_api_guest_os.cc", "private_api_guest_os.h", "private_api_holding_space.cc", "private_api_holding_space.h", "private_api_media_parser.cc", "private_api_media_parser.h", "private_api_media_parser_util.cc", "private_api_media_parser_util.h", "private_api_misc.cc", "private_api_misc.h", "private_api_mount.cc", "private_api_mount.h", "private_api_sharesheet.cc", "private_api_sharesheet.h", "private_api_strings.cc", "private_api_strings.h", "private_api_tasks.cc", "private_api_tasks.h", "private_api_util.cc", "private_api_util.h", "scoped_suppress_drive_notifications_for_path.cc", "scoped_suppress_drive_notifications_for_path.h", "search_by_pattern.cc", "search_by_pattern.h", "select_file_dialog_extension_user_data.cc", "select_file_dialog_extension_user_data.h", "system_notification_manager.cc", "system_notification_manager.h", ] public_deps = [ "//chrome/browser:browser_public_dependencies", "//chrome/browser/notifications", "//chrome/browser/sharesheet", "//third_party/ced", ] deps = [ "//ash", "//ash/constants", "//ash/webui/settings/public/constants", "//base", "//chrome/app/vector_icons", "//chrome/browser:browser_process", "//chrome/browser/app_mode", "//chrome/browser/ash/app_list/search", "//chrome/browser/ash/app_list/search/local_image_search", "//chrome/browser/ash/arc", "//chrome/browser/ash/arc:arc_util", "//chrome/browser/ash/arc/fileapi", "//chrome/browser/ash/browser_delegate", "//chrome/browser/ash/crostini", "//chrome/browser/ash/drive", "//chrome/browser/ash/exo", "//chrome/browser/ash/file_manager", "//chrome/browser/ash/file_system_provider", "//chrome/browser/ash/fileapi", "//chrome/browser/ash/fusebox", "//chrome/browser/ash/guest_os", "//chrome/browser/ash/guest_os/public", "//chrome/browser/ash/policy/dlp", "//chrome/browser/ash/policy/dlp/dialogs", "//chrome/browser/ash/policy/skyvault", "//chrome/browser/ash/profiles", "//chrome/browser/ash/smb_client", "//chrome/browser/ash/system_web_apps/apps", "//chrome/browser/chromeos/drivefs", "//chrome/browser/chromeos/drivefs:native_message_host_origins", "//chrome/browser/chromeos/policy/dlp", "//chrome/browser/chromeos/upload_office_to_cloud", "//chrome/browser/devtools", "//chrome/browser/download", "//chrome/browser/feedback", "//chrome/browser/net", "//chrome/browser/notifications:system_notification_helper", "//chrome/browser/pdf", "//chrome/browser/pdf:pdf_pref_names", "//chrome/browser/pdf:pdf_service", "//chrome/browser/profiles", "//chrome/browser/profiles:profile", "//chrome/browser/signin", "//chrome/browser/ui:chrome_pages", "//chrome/browser/ui/ash/login", "//chrome/browser/ui/ash/multi_user", "//chrome/browser/ui/webui/ash/manage_mirrorsync", "//chrome/common", "//chrome/services/pdf/public/mojom", "//chromeos/ash/components/browser_context_helper", "//chromeos/ash/components/dbus/cros_disks", "//chromeos/ash/components/disks", "//chromeos/ash/components/drivefs", "//chromeos/ash/components/file_manager", "//chromeos/ash/components/file_manager:constants", "//chromeos/ash/components/login/login_state", "//chromeos/ash/components/network", "//chromeos/ash/components/settings", "//chromeos/ash/experiences/arc", "//chromeos/ash/experiences/arc/intent_helper", "//chromeos/ash/experiences/arc/mojom", "//chromeos/ash/experiences/settings_ui", "//chromeos/components/disks:prefs", "//chromeos/components/sharesheet:constants", "//chromeos/dbus/dlp", "//chromeos/dbus/power", "//components/account_id", "//components/drive", "//components/drive:drive_chromeos", "//components/enterprise/data_controls/core/browser", "//components/media_gallery_util", "//components/media_gallery_util/public/mojom", "//components/prefs", "//components/services/unzip/content", "//components/services/unzip/public/cpp", "//components/storage_monitor", "//components/user_manager", "//components/zoom", "//content/public/browser", "//content/public/common", "//extensions/browser", "//google_apis/drive", "//mojo/public/cpp/bindings", "//net", "//skia", "//storage/browser", "//storage/common", "//third_party/nearby:presence_types", "//third_party/private_membership", "//ui/chromeos/strings", "//ui/display", "//ui/gfx", "//ui/message_center/public/cpp", "//ui/shell_dialogs", "//url", ] allow_circular_includes_from = [ "//chrome/browser/ash/drive", "//chrome/browser/ash/policy/dlp", "//chrome/browser/ash/system_web_apps/apps", ] } source_set("unit_tests") { testonly = true sources = [ "device_event_router_unittest.cc", "drivefs_event_router_unittest.cc", "event_router_unittest.cc", "search_by_pattern_unittest.cc", "system_notification_manager_unittest.cc", ] deps = [ ":file_manager", "//ash/webui/file_manager:constants", "//base", "//chrome/browser", "//chrome/browser/ash/fileapi", "//chrome/browser/ash/policy/dlp", "//chrome/browser/ash/policy/dlp/dialogs", "//chrome/browser/ash/policy/dlp/test:test_support", "//chrome/common", "//chrome/test:test_support", "//chromeos/ash/components/dbus/cros_disks", "//chromeos/ash/components/disks", "//chromeos/ash/components/disks:test_support", "//chromeos/ash/experiences/arc", "//components/services/unzip/content", "//components/services/unzip/public/cpp", "//storage/browser", "//storage/browser:test_support", "//testing/gmock", "//testing/gtest", "//ui/chromeos/strings", "//ui/display:test_support", ] # TODO(crbug.com/40031409): Fix code that adds exit-time destructors and # enable the diagnostic by removing this line. configs += [ "//build/config/compiler:no_exit_time_destructors" ] } source_set("browser_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [ "file_manager_private_apitest.cc" ] deps = [ ":file_manager", "//ash/constants", "//base", "//chrome/browser", "//chrome/browser:browser_process", "//chrome/browser/ash/crostini:test_support", "//chrome/browser/ash/file_manager", "//chrome/browser/ash/file_manager:test_support", "//chrome/browser/ash/fileapi", "//chrome/browser/ash/guest_os", "//chrome/browser/ash/policy/dlp", "//chrome/browser/ash/policy/dlp/dialogs", "//chrome/browser/ash/policy/dlp/test:test_support", "//chrome/browser/chromeos/policy/dlp", "//chrome/browser/chromeos/policy/dlp/test:test_support", "//chrome/browser/signin", "//chrome/browser/ui", "//chrome/common", "//chrome/common:constants", "//chrome/test:test_support", "//chromeos/ash/components/dbus/cros_disks", "//chromeos/ash/components/disks", "//chromeos/ash/components/disks:test_support", "//chromeos/dbus/dlp", "//components/drive", "//components/prefs", "//components/signin/public/identity_manager:test_support", "//content/test:test_support", "//extensions/common", "//google_apis/common:test_support", "//storage/browser", ] } fuzzer_test("create_fnmatch_query_fuzzer") { sources = [ "create_fnmatch_query_fuzzer.cc" ] deps = [ ":file_manager", "//base", "//chrome/browser", "//components/exo/wayland:ui_controls_protocol", ] } fuzzer_test("search_by_pattern_fuzzer") { sources = [ "search_by_pattern_fuzzer.cc" ] deps = [ ":file_manager", "//base", "//chrome/browser", "//chrome/browser/ash/fileapi", "//components/exo/wayland:ui_controls_protocol", ] }