| # Copyright 2018 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//third_party/closure_compiler/compile_js.gni") |
| import("//third_party/closure_compiler/js_unit_tests.gni") |
| |
| # TODO(tapted): This folder should be restricted to file_manager, but related |
| # apps currently depend on background_base, which depends on |
| # volume_manager_factory, and that pulls in nearly everything else. For now, |
| # document externally-exposed targets visible with this helper, and hide |
| # transitive dependencies (but note those transitive dependencies should move |
| # elsewhere too). |
| related_apps = [ |
| "//ui/file_manager/audio_player/*", |
| "//ui/file_manager/file_manager/*", |
| "//ui/file_manager/gallery/*", |
| "//ui/file_manager/video_player/*", |
| ] |
| |
| group("closure_compile") { |
| testonly = true |
| deps = [ |
| ":closure_compile_module", |
| ":test_support_type_check", |
| ":unit_tests_type_check", |
| ] |
| } |
| |
| # Default to private. |
| visibility = [ ":*" ] |
| |
| js_type_check("closure_compile_module") { |
| deps = [ |
| ":app_window_wrapper", |
| ":app_windows", |
| ":background", |
| ":background_base", |
| ":closure_compile_externs", |
| ":crostini", |
| ":device_handler", |
| ":drive_sync_handler", |
| ":duplicate_finder", |
| ":entry_location_impl", |
| ":file_operation_handler", |
| ":file_operation_manager", |
| ":file_operation_util", |
| ":import_history", |
| ":launcher", |
| ":launcher_search", |
| ":media_import_handler", |
| ":media_scanner", |
| ":metadata_proxy", |
| ":progress_center", |
| ":runtime_loaded_test_util", |
| ":task_queue", |
| ":test_util_base", |
| ":volume_info_impl", |
| ":volume_info_list_impl", |
| ":volume_manager_factory", |
| ":volume_manager_impl", |
| ":volume_manager_util", |
| ] |
| } |
| |
| js_type_check("test_support_type_check") { |
| testonly = true |
| deps = [ |
| ":mock_crostini", |
| ":mock_drive_sync_handler", |
| ":mock_file_operation_manager", |
| ":mock_media_scanner", |
| ":mock_progress_center", |
| ":mock_volume_manager", |
| ":test_import_history", |
| ] |
| } |
| |
| js_library("closure_compile_externs") { |
| sources = [] |
| externs_list = [ |
| "$externs_path/metrics_private.js", |
| "../../../externs/background/crostini.js", |
| "../../../externs/background/drive_sync_handler.js", |
| "../../../externs/background/file_browser_background.js", |
| "../../../externs/background/file_browser_background_full.js", |
| "../../../externs/background/file_operation_manager.js", |
| "../../../externs/background/import_history.js", |
| "../../../externs/background/import_runner.js", |
| "../../../externs/background/media_import_handler.js", |
| "../../../externs/background/media_scanner.js", |
| "../../../externs/background/progress_center.js", |
| "../../../externs/background_window.js", |
| "../../../externs/css_rule.js", |
| "../../../externs/file_operation_progress_event.js", |
| "../../../externs/launcher_search_provider.js", |
| "../../../externs/platform.js", |
| ] |
| } |
| |
| js_library("app_window_wrapper") { |
| visibility += related_apps |
| deps = [ |
| ":app_windows", |
| "../../common/js:async_util", |
| "../../common/js:util", |
| ] |
| } |
| |
| js_library("app_windows") { |
| } |
| |
| js_library("background") { |
| deps = [ |
| ":app_windows", |
| ":background_base", |
| ":crostini", |
| ":device_handler", |
| ":drive_sync_handler", |
| ":duplicate_finder", |
| ":file_operation_handler", |
| ":file_operation_manager", |
| ":import_history", |
| ":launcher", |
| ":launcher_search", |
| ":media_import_handler", |
| ":progress_center", |
| "../../common/js:files_app_entry_types", |
| "../../common/js:metrics", |
| "../../common/js:util", |
| "//ui/file_manager/base/js:volume_manager_types", |
| ] |
| } |
| |
| js_library("background_base") { |
| visibility += related_apps |
| deps = [ |
| ":app_windows", |
| ":volume_manager_factory", |
| "../../common/js:util", |
| "//ui/webui/resources/js:assert", |
| "//ui/webui/resources/js:load_time_data", |
| ] |
| } |
| |
| js_library("crostini") { |
| deps = [ |
| "../../common/js:metrics", |
| "//ui/file_manager/base/js:volume_manager_types", |
| "//ui/file_manager/externs:volume_manager", |
| ] |
| externs_list = [ "//ui/file_manager/externs/background/crostini.js" ] |
| } |
| |
| js_library("mock_crostini") { |
| testonly = true |
| deps = [ |
| ":crostini", |
| ] |
| externs_list = [ "//ui/file_manager/externs/background/crostini.js" ] |
| visibility = [] |
| visibility = [ "//ui/file_manager/file_manager/*" ] |
| } |
| |
| js_unittest("crostini_unittest") { |
| deps = [ |
| ":mock_crostini", |
| "//ui/file_manager/file_manager/common/js:mock_entry", |
| "//ui/webui/resources/js:webui_resource_test", |
| ] |
| } |
| |
| js_library("device_handler") { |
| deps = [ |
| ":volume_manager_factory", |
| "../../common/js:async_util", |
| "../../common/js:importer_common", |
| "//ui/webui/resources/js:cr", |
| "//ui/webui/resources/js/cr:event_target", |
| ] |
| } |
| |
| js_unittest("device_handler_unittest") { |
| deps = [ |
| ":device_handler", |
| ":mock_volume_manager", |
| "//ui/file_manager/base/js:mock_chrome", |
| "//ui/file_manager/base/js:test_error_reporting", |
| "//ui/file_manager/file_manager/common/js:test_importer_common", |
| ] |
| } |
| |
| js_library("mock_drive_sync_handler") { |
| testonly = true |
| deps = [ |
| "//ui/webui/resources/js/cr:event_target", |
| ] |
| externs_list = [ "../../../externs/background/drive_sync_handler.js" ] |
| visibility = [] |
| visibility = [ "//ui/file_manager/file_manager/*" ] |
| } |
| |
| js_library("drive_sync_handler") { |
| deps = [ |
| ":progress_center", |
| "//ui/file_manager/file_manager/common/js:async_util", |
| "//ui/webui/resources/js/cr:event_target", |
| ] |
| externs_list = [ "../../../externs/background/drive_sync_handler.js" ] |
| } |
| |
| js_unittest("drive_sync_handler_unittest") { |
| deps = [ |
| ":drive_sync_handler", |
| ":mock_progress_center", |
| "//ui/file_manager/base/js:mock_chrome", |
| "//ui/file_manager/base/js:test_error_reporting", |
| ] |
| } |
| |
| js_library("duplicate_finder") { |
| deps = [ |
| ":import_history", |
| ":volume_manager_factory", |
| "../../common/js:importer_common", |
| "../../common/js:lru_cache", |
| "../../common/js:metrics", |
| ] |
| } |
| |
| js_unittest("duplicate_finder_unittest") { |
| deps = [ |
| ":duplicate_finder", |
| ":mock_volume_manager", |
| ":test_import_history", |
| "//ui/file_manager/base/js:mock_chrome", |
| "//ui/file_manager/file_manager/common/js:mock_entry", |
| "//ui/file_manager/file_manager/common/js:test_importer_common", |
| ] |
| } |
| |
| js_library("entry_location_impl") { |
| deps = [ |
| "//ui/file_manager/base/js:volume_manager_types", |
| ] |
| externs_list = [ "../../../externs/entry_location.js" ] |
| } |
| |
| js_library("file_operation_handler") { |
| deps = [ |
| ":file_operation_manager", |
| ":progress_center", |
| ] |
| } |
| |
| js_unittest("file_operation_handler_unittest") { |
| deps = [ |
| ":file_operation_handler", |
| ":mock_file_operation_manager", |
| ":mock_progress_center", |
| "//ui/file_manager/base/js:test_error_reporting", |
| ] |
| } |
| |
| js_library("mock_file_operation_manager") { |
| testonly = true |
| deps = [ |
| ":file_operation_manager", |
| "//ui/webui/resources/js/cr:event_target", |
| ] |
| externs_list = [ "../../../externs/background/file_operation_manager.js" ] |
| } |
| |
| js_library("file_operation_manager") { |
| deps = [ |
| ":file_operation_util", |
| ":volume_manager_factory", |
| "//ui/webui/resources/js:cr", |
| "//ui/webui/resources/js/cr:event_target", |
| ] |
| externs_list = [ "../../../externs/background/file_operation_manager.js" ] |
| } |
| |
| js_unittest("file_operation_manager_unittest") { |
| deps = [ |
| ":file_operation_manager", |
| ":metadata_proxy", |
| "//ui/file_manager/base/js:mock_chrome", |
| "//ui/file_manager/base/js:test_error_reporting", |
| "//ui/file_manager/file_manager/common/js:mock_entry", |
| ] |
| } |
| |
| js_library("file_operation_util") { |
| deps = [ |
| ":metadata_proxy", |
| "../../common/js:async_util", |
| "../../common/js:util", |
| ] |
| externs_list = |
| [ "//ui/file_manager/externs/file_operation_progress_event.js" ] |
| } |
| |
| js_library("metadata_proxy") { |
| deps = [ |
| "../../common/js:lru_cache", |
| ] |
| } |
| |
| js_library("import_history") { |
| deps = [ |
| ":metadata_proxy", |
| "../../common/js:importer_common", |
| "../../common/js:util", |
| ] |
| externs_list = [ "../../../externs/background/import_history.js" ] |
| } |
| |
| js_unittest("import_history_unittest") { |
| deps = [ |
| ":import_history", |
| "//ui/file_manager/file_manager/common/js:mock_entry", |
| "//ui/file_manager/file_manager/common/js:test_importer_common", |
| ] |
| } |
| |
| js_library("launcher") { |
| deps = [ |
| ":app_window_wrapper", |
| ":app_windows", |
| ] |
| } |
| |
| js_library("launcher_search") { |
| deps = [ |
| ":launcher", |
| ":volume_manager_factory", |
| "../../common/js:file_type", |
| "../../common/js:util", |
| ] |
| } |
| |
| js_library("media_import_handler") { |
| deps = [ |
| ":drive_sync_handler", |
| ":import_history", |
| ":media_scanner", |
| ":progress_center", |
| ":task_queue", |
| "../../common/js:importer_common", |
| "../../common/js:metrics", |
| ] |
| externs_list = [ "//ui/file_manager/externs/background/import_runner.js" ] |
| } |
| |
| js_unittest("media_import_handler_unittest") { |
| deps = [ |
| ":media_import_handler", |
| ":mock_drive_sync_handler", |
| ":mock_media_scanner", |
| ":mock_progress_center", |
| ":mock_volume_manager", |
| ":test_import_history", |
| "//ui/file_manager/base/js:mock_chrome", |
| "//ui/file_manager/base/js:test_error_reporting", |
| "//ui/file_manager/file_manager/common/js:mock_entry", |
| "//ui/file_manager/file_manager/common/js:test_importer_common", |
| ] |
| } |
| |
| js_library("mock_media_scanner") { |
| testonly = true |
| deps = [ |
| ":media_scanner", |
| ":test_import_history", |
| ] |
| externs_list = [ "../../../externs/background/media_scanner.js" ] |
| visibility = [] |
| visibility = [ "//ui/file_manager/file_manager/*" ] |
| } |
| |
| js_library("media_scanner") { |
| deps = [ |
| ":file_operation_util", |
| "../../common/js:importer_common", |
| ] |
| externs_list = [ "../../../externs/background/media_scanner.js" ] |
| } |
| |
| js_unittest("media_scanner_unittest") { |
| deps = [ |
| ":media_scanner", |
| ":mock_media_scanner", |
| "//ui/file_manager/file_manager/common/js:test_importer_common", |
| ] |
| } |
| |
| js_library("mock_volume_manager") { |
| visibility += related_apps |
| deps = [ |
| ":volume_info_impl", |
| ":volume_info_list_impl", |
| ":volume_manager_factory", |
| ":volume_manager_impl", |
| "//ui/file_manager/file_manager/common/js:mock_entry", |
| ] |
| } |
| |
| js_library("mock_progress_center") { |
| testonly = true |
| deps = [ |
| ":progress_center", |
| "//ui/webui/resources/js/cr:event_target", |
| ] |
| externs_list = [ "//ui/file_manager/externs/background/progress_center.js" ] |
| } |
| |
| js_library("progress_center") { |
| deps = [ |
| "../../common/js:async_util", |
| "../../common/js:progress_center_common", |
| "../../common/js:util", |
| "../../foreground/js/ui:progress_center_panel", |
| "//ui/webui/resources/js/cr:event_target", |
| ] |
| externs_list = [ "//ui/file_manager/externs/background/progress_center.js" ] |
| } |
| |
| js_library("task_queue") { |
| deps = [ |
| ":duplicate_finder", |
| "../../common/js:importer_common", |
| ] |
| } |
| |
| js_unittest("task_queue_unittest") { |
| deps = [ |
| ":task_queue", |
| "../../common/js:importer_common", |
| "//ui/file_manager/base/js:test_error_reporting", |
| "//ui/file_manager/base/js:volume_manager_types", |
| "//ui/webui/resources/js:assert", |
| "//ui/webui/resources/js:cr", |
| "//ui/webui/resources/js/cr:event_target", |
| ] |
| } |
| |
| js_library("test_util_base") { |
| } |
| |
| js_library("test_import_history") { |
| testonly = true |
| deps = [ |
| ":import_history", |
| "//ui/webui/resources/js:webui_resource_test", |
| ] |
| } |
| |
| js_library("runtime_loaded_test_util") { |
| # TODO(tapted): Move this target to //ui/file_manager/base. It is used in the |
| # background page of all |related_apps|, but loaded at runtime by |
| # :test_util_base via extension messaging, so doesn't need to be depended on |
| # except by the closure compilation target. The exception is the "unpacked" |
| # test framework, which copies some testing functions into its test context. |
| visibility += [ "//ui/file_manager/file_manager/test/js:test_util" ] |
| |
| deps = [ |
| ":app_windows", |
| ":test_util_base", |
| "../../../externs:webview_tag", |
| "//ui/file_manager/base/js:error_counter", |
| ] |
| } |
| |
| js_library("volume_info_impl") { |
| deps = [ |
| "//ui/file_manager/base/js:volume_manager_types", |
| ] |
| externs_list = [ "../../../externs/volume_info.js" ] |
| } |
| |
| js_library("volume_info_list_impl") { |
| deps = [ |
| ".:volume_info_impl", |
| "../../common/js:util", |
| "//ui/webui/resources/js:cr", |
| "//ui/webui/resources/js/cr:ui", |
| "//ui/webui/resources/js/cr/ui:array_data_model", |
| ] |
| externs_list = [ "../../../externs/volume_info_list.js" ] |
| } |
| |
| js_library("volume_manager_impl") { |
| deps = [ |
| ":entry_location_impl", |
| ":volume_info_list_impl", |
| ":volume_manager_util", |
| "../../common/js:async_util", |
| ] |
| externs_list = [ "../../../externs/volume_manager.js" ] |
| } |
| |
| js_library("volume_manager_factory") { |
| deps = [ |
| ":volume_manager_impl", |
| ] |
| } |
| |
| js_unittest("volume_manager_unittest") { |
| deps = [ |
| ":volume_manager_factory", |
| "//ui/file_manager/base/js:mock_chrome", |
| "//ui/file_manager/base/js:test_error_reporting", |
| "//ui/file_manager/file_manager/common/js:mock_entry", |
| ] |
| } |
| |
| js_library("volume_manager_util") { |
| deps = [ |
| ":volume_info_impl", |
| "../../common/js:metrics", |
| "../../common/js:util", |
| "//ui/file_manager/base/js:volume_manager_types", |
| ] |
| } |
| |
| js_unit_tests("unit_tests") { |
| deps = [ |
| ":crostini_unittest", |
| ":device_handler_unittest", |
| ":drive_sync_handler_unittest", |
| ":duplicate_finder_unittest", |
| ":file_operation_handler_unittest", |
| ":file_operation_manager_unittest", |
| ":import_history_unittest", |
| ":media_import_handler_unittest", |
| ":media_scanner_unittest", |
| ":task_queue_unittest", |
| ":volume_manager_unittest", |
| ] |
| } |