blob: 4387a271164e7ecab56e5913375ffbd60b385ea9 [file] [log] [blame]
# 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")
visibility = [
"//ui/file_manager/file_manager/foreground/*",
"//ui/file_manager/file_manager/test/js/*",
]
js_type_check("closure_compile_module") {
deps = [
":actions_controller",
":actions_model",
":app_state_controller",
":closure_compile_externs",
":column_visibility_controller",
":constants",
":crostini",
":dialog_action_controller",
":dialog_type",
":directory_contents",
":directory_model",
":directory_tree_naming_controller",
":drop_effect_and_label",
":elements_importer",
":empty_folder_controller",
":file_list_model",
":file_manager",
":file_manager_commands",
":file_selection",
":file_tasks",
":file_transfer_controller",
":file_watcher",
":folder_shortcuts_data_model",
":gear_menu_controller",
":import_controller",
":last_modified_controller",
":launch_param",
":list_thumbnail_loader",
":main",
":main_window_component",
":metadata_box_controller",
":metadata_update_controller",
":metrics_start",
":naming_controller",
":navigation_list_model",
":navigation_uma",
":progress_center_item_group",
":providers_model",
":quick_view_controller",
":quick_view_model",
":quick_view_uma",
":scan_controller",
":search_controller",
":selection_menu_controller",
":share_client",
":sort_menu_controller",
":spinner_controller",
":task_controller",
":task_history",
":thumbnail_loader",
":toolbar_controller",
":volume_manager_wrapper",
":web_store_utils",
":webui_command_extender",
]
}
js_library("closure_compile_externs") {
sources = []
externs_list = [
"$externs_path/command_line_private.js",
"$externs_path/metrics_private.js",
"$externs_path/web_animations.js",
"../../../externs/app_window_common.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_history_enum.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/chrome_echo_private.js",
"../../../externs/chrome_webstore_widget_private.js",
"../../../externs/command_handler_deps.js",
"../../../externs/css_rule.js",
"../../../externs/directory_change_event.js",
"../../../externs/drag_target.js",
"../../../externs/entries_changed_event.js",
"../../../externs/gallery_foreground.js",
"../../../externs/menu_item_update_event.js",
"../../../externs/paper_elements.js",
"../../../externs/platform.js",
"../../../externs/search_item.js",
]
}
js_library("actions_controller") {
deps = [
":actions_model",
":file_selection",
"ui:file_manager_ui",
"//ui/webui/resources/js:assert",
"//ui/webui/resources/js:cr",
"//ui/webui/resources/js/cr:ui",
"//ui/webui/resources/js/cr/ui:context_menu_handler",
]
}
js_library("actions_model") {
deps = [
":folder_shortcuts_data_model",
"metadata:metadata_model",
"ui:error_dialog",
"ui:files_alert_dialog",
"ui:list_container",
"ui:share_dialog",
"//ui/webui/resources/js:cr",
]
}
js_library("app_state_controller") {
deps = [
":dialog_type",
":directory_model",
"ui:file_manager_ui",
]
}
js_library("column_visibility_controller") {
deps = [
":directory_model",
"../../common/js:volume_manager_common",
"ui:file_manager_ui",
]
}
js_library("constants") {
}
js_library("dialog_action_controller") {
deps = [
":dialog_type",
":directory_contents",
":directory_model",
":file_selection",
":launch_param",
":naming_controller",
":volume_manager_wrapper",
"../../common/js:metrics",
"metadata:metadata_model",
"ui:dialog_footer",
"//ui/webui/resources/js/cr/ui:command",
]
}
js_library("crostini") {
deps = [
":volume_manager_wrapper",
]
}
js_library("dialog_type") {
}
js_library("directory_contents") {
deps = [
":constants",
":file_list_model",
"../../common/js:async_util",
"../../common/js:metrics",
"../../common/js:util",
"../../common/js:volume_manager_common",
"metadata:metadata_model",
"//ui/webui/resources/js:cr",
"//ui/webui/resources/js/cr/ui:array_data_model",
]
}
js_library("directory_model") {
deps = [
":directory_contents",
":file_watcher",
":volume_manager_wrapper",
"../../common/js:importer_common",
"../../common/js:metrics_events",
"ui:file_list_selection_model",
]
}
js_library("navigation_uma") {
deps = [
":dialog_type",
":volume_manager_wrapper",
"../../common/js:metrics",
]
}
js_library("directory_tree_naming_controller") {
deps = [
":directory_model",
"../../common/js:util",
"ui:directory_tree",
"//ui/webui/resources/js/cr/ui:dialogs",
]
}
js_library("drop_effect_and_label") {
}
js_library("elements_importer") {
}
js_library("empty_folder_controller") {
deps = [
":directory_model",
":file_list_model",
"ui:empty_folder",
]
}
js_library("file_list_model") {
deps = [
"../../common/js:file_type",
"../../common/js:util",
"metadata:metadata_model",
"//ui/webui/resources/js/cr/ui:array_data_model",
]
}
js_library("file_manager") {
deps = [
":app_state_controller",
":column_visibility_controller",
":dialog_action_controller",
":dialog_type",
":directory_model",
":elements_importer",
":empty_folder_controller",
":file_selection",
":file_transfer_controller",
":folder_shortcuts_data_model",
":gear_menu_controller",
":import_controller",
":last_modified_controller",
":launch_param",
":main_window_component",
":metadata_update_controller",
":naming_controller",
":navigation_uma",
":providers_model",
":quick_view_controller",
":quick_view_model",
":quick_view_uma",
":scan_controller",
":search_controller",
":selection_menu_controller",
":sort_menu_controller",
":spinner_controller",
":task_controller",
":toolbar_controller",
":volume_manager_wrapper",
"ui:commandbutton",
"ui:directory_tree",
"ui:file_manager_ui",
"//ui/webui/resources/js/cr/ui:list_selection_model",
]
}
js_library("file_manager_commands") {
deps = [
":actions_controller",
":dialog_type",
":directory_contents",
":directory_model",
":directory_tree_naming_controller",
":file_selection",
":file_transfer_controller",
":naming_controller",
":providers_model",
":spinner_controller",
":task_controller",
":volume_manager_wrapper",
"ui:directory_tree",
"ui:file_manager_ui",
"//ui/webui/resources/cr_elements/cr_input:cr_input",
]
}
js_library("file_selection") {
deps = [
":constants",
":directory_model",
":volume_manager_wrapper",
"../../common/js:file_type",
"../../common/js:util",
"../../common/js:volume_manager_common",
"metadata:metadata_model",
"ui:list_container",
"//ui/webui/resources/js:assert",
"//ui/webui/resources/js:cr",
]
}
js_library("file_tasks") {
deps = [
":crostini",
":directory_model",
":task_history",
":volume_manager_wrapper",
"metadata:metadata_model",
"ui:file_manager_ui",
]
}
js_library("file_transfer_controller") {
deps = [
":directory_model",
":drop_effect_and_label",
":file_selection",
":volume_manager_wrapper",
":webui_command_extender",
"../../common/js:progress_center_common",
"metadata:metadata_model",
"metadata:thumbnail_model",
"ui:directory_tree",
"ui:file_manager_ui",
"ui:list_container",
"ui:multi_profile_share_dialog",
"ui:progress_center_panel",
]
}
js_library("file_watcher") {
deps = [
"../../common/js:async_util",
"../../common/js:util",
"../../common/js:volume_manager_common",
"//ui/webui/resources/js:assert",
]
}
js_library("folder_shortcuts_data_model") {
deps = [
":volume_manager_wrapper",
"../../common/js:async_util",
"../../common/js:metrics",
"../../common/js:util",
"../../common/js:volume_manager_common",
]
}
js_library("gear_menu_controller") {
deps = [
":directory_model",
":file_manager_commands",
"../elements:files_toggle_ripple",
"ui:gear_menu",
"//ui/webui/resources/js/cr/ui:context_menu_button",
]
}
js_library("import_controller") {
deps = [
":actions_controller",
":dialog_type",
":directory_tree_naming_controller",
":file_selection",
":file_transfer_controller",
":naming_controller",
":providers_model",
":spinner_controller",
":task_controller",
"../../common/js:importer_common",
"ui:directory_tree",
"ui:file_manager_ui",
]
}
js_library("last_modified_controller") {
deps = [
":directory_model",
"ui:file_table",
]
}
js_library("launch_param") {
deps = [
":dialog_type",
"../../common/js:volume_manager_common",
]
}
js_library("list_thumbnail_loader") {
deps = [
":directory_model",
":file_list_model",
":thumbnail_loader",
":volume_manager_wrapper",
"../../common/js:volume_manager_common",
"metadata:thumbnail_model",
]
}
js_library("main") {
deps = [
":file_manager",
"../../common/js:files_app_entry_types",
"../../common/js:metrics",
"../../common/js:util",
]
}
js_library("main_window_component") {
deps = [
":app_state_controller",
":dialog_type",
":directory_contents",
":directory_model",
":file_selection",
":naming_controller",
":task_controller",
":volume_manager_wrapper",
"ui:file_manager_ui",
]
}
js_library("metadata_box_controller") {
deps = [
":quick_view_model",
"../../common/js:file_type",
"../elements:files_metadata_box",
"../elements:files_quick_view",
"metadata:metadata_model",
"ui:file_metadata_formatter",
]
}
js_library("metadata_update_controller") {
deps = [
":directory_model",
"metadata:metadata_model",
"ui:file_metadata_formatter",
"ui:list_container",
]
}
js_library("metrics_start") {
deps = [
"../../common/js:metrics",
]
}
js_library("naming_controller") {
deps = [
":directory_contents",
":directory_model",
":file_selection",
"ui:list_container",
"//ui/webui/resources/js/cr/ui:dialogs",
]
}
js_library("navigation_list_model") {
deps = [
":folder_shortcuts_data_model",
":volume_manager_wrapper",
"//ui/webui/resources/js/cr:event_target",
"//ui/webui/resources/js/cr/ui:array_data_model",
]
}
js_library("progress_center_item_group") {
deps = [
"../../common/js:progress_center_common",
"../../common/js:util",
]
}
js_library("providers_model") {
deps = [
":volume_manager_wrapper",
"//ui/webui/resources/js:assert",
]
}
js_library("quick_view_controller") {
deps = [
":dialog_type",
":file_selection",
":metadata_box_controller",
":quick_view_model",
":quick_view_uma",
":task_controller",
":volume_manager_wrapper",
"metadata:metadata_model",
"ui:list_container",
"//ui/webui/resources/js/cr/ui:list_selection_model",
]
}
js_library("quick_view_model") {
deps = [
"../../../../../ui/webui/resources/js:cr",
"../../../../../ui/webui/resources/js/cr:event_target",
]
}
js_library("quick_view_uma") {
deps = [
":dialog_type",
":file_tasks",
":volume_manager_wrapper",
"../../common/js:file_type",
]
}
js_library("scan_controller") {
deps = [
":directory_model",
":file_manager_commands",
":file_selection",
":spinner_controller",
"ui:list_container",
]
}
js_library("search_controller") {
deps = [
":directory_model",
":task_controller",
"ui:location_line",
"ui:search_box",
]
}
js_library("selection_menu_controller") {
deps = [
":directory_model",
":file_manager_commands",
"../elements:files_toggle_ripple",
]
}
js_library("share_client") {
deps = [
"../../../externs:webview_tag",
"../../common/js:volume_manager_common",
"//ui/webui/resources/js/cr:event_target",
]
}
js_library("sort_menu_controller") {
deps = [
":file_list_model",
"../elements:files_toggle_ripple",
"//ui/webui/resources/js/cr/ui:context_menu_button",
]
}
js_library("spinner_controller") {
deps = [
"//ui/webui/resources/js/cr:event_target",
]
}
js_library("task_controller") {
deps = [
":dialog_type",
":directory_model",
":file_selection",
":file_tasks",
":metadata_update_controller",
":task_history",
":volume_manager_wrapper",
"metadata:metadata_model",
"ui:file_manager_ui",
]
}
js_library("task_history") {
deps = [
"//ui/webui/resources/js/cr:event_target",
]
}
# TODO(tapted): Move this into //ui/file_manager/base.
js_library("thumbnail_loader") {
visibility += [ "//ui/file_manager/gallery/*" ]
deps = [
"../../../image_loader:image_loader_client",
"../../common/js:file_type",
"../../common/js:util",
"//ui/webui/resources/js:assert",
]
}
js_library("thumbnail_loader_unittest") {
deps = [
":thumbnail_loader",
"../../common/js:mock_entry",
"../../common/js:unittest_util",
"//ui/webui/resources/js:webui_resource_test",
]
}
js_library("toolbar_controller") {
deps = [
":file_selection",
"../../common/js:util",
"ui:list_container",
"ui:location_line",
"//ui/webui/resources/js/cr/ui:command",
]
}
# TODO(tapted): Move this to //ui/file_manager/base.
js_library("volume_manager_wrapper") {
visibility += [
"//ui/file_manager/audio_player/*",
"//ui/file_manager/gallery/*",
"//ui/file_manager/video_player/*",
]
deps = [
"../../../externs:file_manager_private",
"../../common/js:async_util",
"../../common/js:volume_manager_common",
"//ui/webui/resources/js:cr",
"//ui/webui/resources/js/cr:event_target",
"//ui/webui/resources/js/cr/ui:array_data_model",
]
externs_list = [
"../../../externs/background/volume_manager_factory.js",
"../../../externs/volume_info.js",
"../../../externs/volume_info_list.js",
"../../../externs/volume_manager.js",
]
}
js_library("web_store_utils") {
deps = [
":constants",
]
}
js_library("webui_command_extender") {
deps = [
"//ui/webui/resources/js:cr",
"//ui/webui/resources/js/cr/ui:command",
]
}
js_unit_tests("unit_tests") {
deps = [
":thumbnail_loader_unittest",
]
}
group("closure_compile") {
visibility += [ "*" ]
deps = [
":closure_compile_module",
":unit_tests_type_check",
]
}