blob: cb89b51847ab77e51ba6eb5130b99f3a453597ea [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")
import("//ui/file_manager/base/gn/js_test_gen_html.gni")
import("//ui/webui/resources/js/cr.gni")
visibility = [ "//ui/file_manager/file_manager/foreground/*" ]
group("closure_compile") {
testonly = true
visibility += [ "//ui/file_manager:closure_compile" ]
deps = [
":closure_compile_jsmodules",
":js_test_gen_html_modules_type_check_auto",
]
}
group("js_modules") {
deps = [
":a11y_announce",
":action_model_ui",
":actions_submenu",
":autocomplete_list",
":banners",
":breadcrumb",
":combobutton",
":commandbutton",
":default_task_dialog",
":dialog_footer",
":directory_tree",
":drag_selector",
":empty_folder",
":file_grid",
":file_list_selection_model",
":file_manager_dialog_base",
":file_manager_ui",
":file_metadata_formatter",
":file_table",
":file_table_list",
":file_tap_handler",
":files_alert_dialog",
":files_confirm_dialog",
":files_menu",
":gear_menu",
":import_crostini_image_dialog",
":install_linux_package_dialog",
":list_container",
":location_line",
":multi_menu",
":multi_menu_button",
":progress_center_panel",
":providers_menu",
":search_box",
]
}
js_type_check("closure_compile_jsmodules") {
is_polymer3 = true
closure_flags = default_closure_args + [
"js_module_root=../../ui/file_manager/",
"js_module_root=gen/ui/file_manager/",
"browser_resolver_prefix_replacements=\"chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj/=./file_manager/\"",
"browser_resolver_prefix_replacements=\"chrome-extension://pmfjbimdmchhbnneeidfognadeopoehp/=./image_loader/\"",
]
deps = [
":a11y_announce",
":action_model_ui",
":actions_submenu",
":autocomplete_list",
":banners",
":breadcrumb",
":combobutton",
":commandbutton",
":default_task_dialog",
":dialog_footer",
":directory_tree",
":drag_selector",
":empty_folder",
":file_grid",
":file_list_selection_model",
":file_manager_dialog_base",
":file_manager_ui",
":file_metadata_formatter",
":file_table",
":file_table_list",
":file_tap_handler",
":files_alert_dialog",
":files_confirm_dialog",
":files_menu",
":gear_menu",
":import_crostini_image_dialog",
":install_linux_package_dialog",
":list_container",
":location_line",
":multi_menu",
":multi_menu_button",
":progress_center_panel",
":providers_menu",
":search_box",
"table:table",
"table:table_column",
"table:table_column_model",
"table:table_header",
"table:table_list",
"table:table_splitter",
]
}
js_library("a11y_announce") {
}
js_library("action_model_ui") {
deps = [
":files_alert_dialog",
":list_container",
]
}
js_library("actions_submenu") {
deps = [
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/foreground/js:actions_model",
"//ui/webui/resources/js:util.m",
"//ui/webui/resources/js/cr/ui:command.m",
"//ui/webui/resources/js/cr/ui:menu.m",
"//ui/webui/resources/js/cr/ui:menu_item.m",
]
}
js_unittest("actions_submenu_unittest.m") {
deps = [
":actions_submenu",
"//chrome/test/data/webui:chai_assert",
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/foreground/js:mock_actions_model",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js/cr/ui:menu.m",
]
}
js_library("banners") {
deps = [
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/common/js:volume_manager_types",
"//ui/file_manager/file_manager/externs:volume_info",
"//ui/file_manager/file_manager/externs:volume_manager",
"//ui/file_manager/file_manager/foreground/js:constants",
"//ui/file_manager/file_manager/foreground/js:directory_model",
"//ui/file_manager/file_manager/foreground/js:holding_space_util",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js:util.m",
"//ui/webui/resources/js/cr:event_target.m",
]
}
js_library("breadcrumb") {
deps = [ "//ui/webui/resources/cr_elements/cr_action_menu:cr_action_menu.m" ]
}
js_unittest("breadcrumb_unittest.m") {
deps = [
":breadcrumb",
"//chrome/test/data/webui:chai_assert",
"//ui/webui/resources/js:assert.m",
]
}
js_library("combobutton") {
deps = [
":files_menu",
":multi_menu_button",
"//ui/file_manager/file_manager/common/js:util",
"//ui/webui/resources/js/cr:ui.m",
"//ui/webui/resources/js/cr/ui:menu_item.m",
]
externs_list = [ "//ui/file_manager/file_manager/externs/paper_elements.js" ]
}
js_library("commandbutton") {
deps = [
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js/cr:ui.m",
"//ui/webui/resources/js/cr/ui:command.m",
]
}
js_library("default_task_dialog") {
deps = [
":file_manager_dialog_base",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js/cr/ui:array_data_model.m",
"//ui/webui/resources/js/cr/ui:list.m",
"//ui/webui/resources/js/cr/ui:list_single_selection_model.m",
]
}
js_library("dialog_footer") {
deps = [
"//ui/file_manager/file_manager/common/js:file_type",
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/foreground/js:dialog_type",
"//ui/file_manager/file_manager/foreground/js:file_list_model",
"//ui/webui/resources/cr_elements/cr_input:cr_input.m",
"//ui/webui/resources/js:util.m",
]
}
js_library("directory_tree") {
deps = [
"//ui/file_manager/file_manager/common/js:file_type",
"//ui/file_manager/file_manager/common/js:metrics",
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/common/js:volume_manager_types",
"//ui/file_manager/file_manager/externs:files_app_entry_interfaces",
"//ui/file_manager/file_manager/externs:volume_info",
"//ui/file_manager/file_manager/externs:volume_manager",
"//ui/file_manager/file_manager/externs/background:file_operation_manager",
"//ui/file_manager/file_manager/foreground/js:constants",
"//ui/file_manager/file_manager/foreground/js:directory_contents",
"//ui/file_manager/file_manager/foreground/js:directory_model",
"//ui/file_manager/file_manager/foreground/js:navigation_list_model",
"//ui/file_manager/file_manager/foreground/js/metadata:metadata_model",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js/cr/ui:command.m",
"//ui/webui/resources/js/cr/ui:context_menu_handler.m",
"//ui/webui/resources/js/cr/ui:menu.m",
"//ui/webui/resources/js/cr/ui:tree",
]
visibility +=
[ "//ui/file_manager/file_manager/externs:command_handler_deps" ]
}
js_unittest("directory_tree_unittest.m") {
deps = [
":directory_tree",
"//chrome/test/data/webui:chai_assert",
"//ui/file_manager/file_manager/background/js:mock_volume_manager",
"//ui/file_manager/file_manager/common/js:files_app_entry_types",
"//ui/file_manager/file_manager/common/js:mock_chrome",
"//ui/file_manager/file_manager/common/js:mock_entry",
"//ui/file_manager/file_manager/common/js:test_error_reporting",
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/common/js:volume_manager_types",
"//ui/file_manager/file_manager/externs/background:file_operation_manager",
"//ui/file_manager/file_manager/foreground/js:directory_model",
"//ui/file_manager/file_manager/foreground/js:fake_android_app_list_model",
"//ui/file_manager/file_manager/foreground/js:mock_directory_model",
"//ui/file_manager/file_manager/foreground/js:mock_folder_shortcut_data_model",
"//ui/file_manager/file_manager/foreground/js:mock_navigation_list_model",
"//ui/file_manager/file_manager/foreground/js:navigation_list_model",
"//ui/file_manager/file_manager/foreground/js/metadata:metadata_model",
"//ui/webui/resources/js:assert.m",
]
}
js_library("drag_selector") {
deps = [ "//ui/webui/resources/js/cr/ui:list.m" ]
externs_list = [ "//ui/file_manager/file_manager/externs/drag_target.js" ]
}
js_library("empty_folder") {
deps = [ "//ui/webui/resources/js:util.m" ]
}
js_library("file_grid") {
deps = [
":a11y_announce",
":drag_selector",
":file_table_list",
":file_tap_handler",
"//ui/file_manager/file_manager/common/js:async_util",
"//ui/file_manager/file_manager/common/js:file_type",
"//ui/file_manager/file_manager/common/js:importer_common",
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/externs:files_app_entry_interfaces",
"//ui/file_manager/file_manager/externs:volume_manager",
"//ui/file_manager/file_manager/externs/background:import_history",
"//ui/file_manager/file_manager/foreground/js:list_thumbnail_loader",
"//ui/file_manager/file_manager/foreground/js/metadata:metadata_model",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js:util.m",
"//ui/webui/resources/js/cr/ui:grid.m",
"//ui/webui/resources/js/cr/ui:list.m",
"//ui/webui/resources/js/cr/ui:list_item.m",
"//ui/webui/resources/js/cr/ui:list_selection_model.m",
]
}
js_library("file_list_selection_model") {
deps = [
"//ui/webui/resources/js/cr/ui:list_selection_model.m",
"//ui/webui/resources/js/cr/ui:list_single_selection_model.m",
]
}
js_unittest("file_list_selection_model_unittest.m") {
deps = [
":file_list_selection_model",
"//chrome/test/data/webui:chai_assert",
]
}
js_library("file_manager_dialog_base") {
deps = [
"//ui/file_manager/file_manager/common/js:util",
"//ui/webui/resources/js/cr/ui:dialogs.m",
]
}
js_unittest("file_manager_dialog_base_unittest.m") {
deps = [
":file_manager_dialog_base",
"//chrome/test/data/webui:chai_assert",
"//ui/file_manager/file_manager/common/js:test_error_reporting",
"//ui/webui/resources/js:assert.m",
]
}
js_library("file_manager_ui") {
deps = [
":a11y_announce",
":action_model_ui",
":actions_submenu",
":banners",
":combobutton",
":default_task_dialog",
":dialog_footer",
":directory_tree",
":empty_folder",
":file_grid",
":file_table",
":files_alert_dialog",
":files_confirm_dialog",
":files_menu",
":gear_menu",
":import_crostini_image_dialog",
":install_linux_package_dialog",
":list_container",
":location_line",
":multi_menu",
":multi_menu_button",
":progress_center_panel",
":providers_menu",
":search_box",
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/common/js:volume_manager_types",
"//ui/file_manager/file_manager/externs:volume_manager",
"//ui/file_manager/file_manager/foreground/elements:files_password_dialog",
"//ui/file_manager/file_manager/foreground/elements:files_toast",
"//ui/file_manager/file_manager/foreground/elements:files_tooltip",
"//ui/file_manager/file_manager/foreground/js:dialog_type",
"//ui/file_manager/file_manager/foreground/js:launch_param",
"//ui/file_manager/file_manager/foreground/js:providers_model",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:util.m",
"//ui/webui/resources/js/cr:ui.m",
"//ui/webui/resources/js/cr/ui:context_menu_handler.m",
"//ui/webui/resources/js/cr/ui:dialogs.m",
"//ui/webui/resources/js/cr/ui:menu.m",
"//ui/webui/resources/js/cr/ui:menu_item.m",
"//ui/webui/resources/js/cr/ui:splitter",
]
visibility +=
[ "//ui/file_manager/file_manager/externs:command_handler_deps" ]
}
js_library("file_metadata_formatter") {
deps = [
"//ui/file_manager/file_manager/common/js:util",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js/cr:event_target.m",
]
}
js_library("file_table") {
deps = [
":a11y_announce",
":drag_selector",
":file_list_selection_model",
":file_metadata_formatter",
":file_table_list",
"table:table",
"table:table_column",
"table:table_column_model",
"table:table_list",
"//ui/file_manager/file_manager/common/js:async_util",
"//ui/file_manager/file_manager/common/js:file_type",
"//ui/file_manager/file_manager/common/js:importer_common",
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/externs:entry_location",
"//ui/file_manager/file_manager/externs:files_app_entry_interfaces",
"//ui/file_manager/file_manager/externs:volume_manager",
"//ui/file_manager/file_manager/externs/background:import_history",
"//ui/file_manager/file_manager/foreground/js:file_list_model",
"//ui/file_manager/file_manager/foreground/js:list_thumbnail_loader",
"//ui/file_manager/file_manager/foreground/js/metadata:metadata_model",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js/cr/ui:list.m",
"//ui/webui/resources/js/cr/ui:list_item.m",
"//ui/webui/resources/js/cr/ui:list_selection_model.m",
]
}
js_unittest("file_table_unittest.m") {
deps = [
":file_table",
"table:table_column",
"//chrome/test/data/webui:chai_assert",
]
}
js_library("file_table_list") {
deps = [
":a11y_announce",
":file_list_selection_model",
":file_tap_handler",
"table:table_list",
"//ui/file_manager/file_manager/common/js:file_type",
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/externs:entry_location",
"//ui/file_manager/file_manager/externs:files_app_entry_interfaces",
"//ui/file_manager/file_manager/foreground/js/metadata:metadata_model",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js/cr/ui:list.m",
"//ui/webui/resources/js/cr/ui:list_item.m",
"//ui/webui/resources/js/cr/ui:list_selection_controller.m",
"//ui/webui/resources/js/cr/ui:list_selection_model.m",
]
}
js_unittest("file_table_list_unittest.m") {
deps = [
":a11y_announce",
":file_list_selection_model",
":file_table",
":file_table_list",
"//chrome/test/data/webui:chai_assert",
"//ui/file_manager/file_manager/background/js:mock_volume_manager",
"//ui/file_manager/file_manager/common/js:files_app_entry_types",
"//ui/file_manager/file_manager/common/js:volume_manager_types",
"//ui/file_manager/file_manager/externs/background:import_history",
"//ui/file_manager/file_manager/foreground/js:directory_model",
"//ui/file_manager/file_manager/foreground/js:file_list_model",
"//ui/file_manager/file_manager/foreground/js/metadata:metadata_model",
"//ui/file_manager/file_manager/foreground/js/metadata:mock_metadata",
]
}
js_library("file_tap_handler") {
deps = [ "//ui/webui/resources/js:assert.m" ]
}
js_unittest("file_tap_handler_unittest.m") {
deps = [
":file_tap_handler",
"//chrome/test/data/webui:chai_assert",
"//ui/file_manager/file_manager/common/js:test_error_reporting",
]
}
# TODO(tapted): Move this into //ui/file_manager/base.
js_library("files_alert_dialog") {
deps = [
"//ui/file_manager/file_manager/common/js:util",
"//ui/webui/resources/js/cr/ui:dialogs.m",
]
}
# TODO(tapted): Move this into //ui/file_manager/base.
js_library("files_confirm_dialog") {
deps = [
"//ui/file_manager/file_manager/common/js:util",
"//ui/webui/resources/js/cr/ui:dialogs.m",
]
}
js_library("files_menu") {
deps = [
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js/cr/ui:menu.m",
"//ui/webui/resources/js/cr/ui:menu_item.m",
]
externs_list = [ "//ui/file_manager/file_manager/externs/paper_elements.js" ]
}
js_library("gear_menu") {
deps = [
"//ui/file_manager/file_manager/common/js:util",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:load_time_data.m",
"//ui/webui/resources/js:util.m",
]
}
js_library("install_linux_package_dialog") {
deps = [
":file_manager_dialog_base",
"//ui/file_manager/file_manager/common/js:util",
"//ui/webui/resources/js:assert.m",
]
}
js_unittest("install_linux_package_dialog_unittest.m") {
deps = [
":install_linux_package_dialog",
"//chrome/test/data/webui:chai_assert",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:load_time_data.m",
]
}
js_library("import_crostini_image_dialog") {
deps = [
"//ui/file_manager/file_manager/common/js:util",
"//ui/webui/resources/js/cr/ui:dialogs.m",
]
}
js_library("list_container") {
deps = [
":file_grid",
":file_table",
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/foreground/js:dialog_type",
"//ui/file_manager/file_manager/foreground/js:file_list_model",
"//ui/file_manager/file_manager/foreground/js:list_thumbnail_loader",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js:util.m",
"//ui/webui/resources/js/cr/ui:list.m",
"//ui/webui/resources/js/cr/ui:list_item.m",
"//ui/webui/resources/js/cr/ui:list_selection_model.m",
"//ui/webui/resources/js/cr/ui:list_single_selection_model.m",
]
}
js_library("location_line") {
deps = [
":breadcrumb",
":list_container",
"//ui/file_manager/file_manager/common/js:metrics",
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/externs:files_app_entry_interfaces",
"//ui/file_manager/file_manager/externs:volume_manager",
"//ui/file_manager/file_manager/foreground/elements:files_tooltip",
"//ui/file_manager/file_manager/foreground/js:path_component",
"//ui/webui/resources/js/cr:event_target.m",
]
}
js_library("multi_menu") {
deps = [
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:event_tracker.m",
"//ui/webui/resources/js/cr:ui.m",
"//ui/webui/resources/js/cr/ui:menu.m",
"//ui/webui/resources/js/cr/ui:menu_item.m",
]
}
js_library("multi_menu_button") {
deps = [
":multi_menu",
"//ui/file_manager/file_manager/common/js:util",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:event_tracker.m",
"//ui/webui/resources/js/cr:ui.m",
"//ui/webui/resources/js/cr/ui:menu.m",
"//ui/webui/resources/js/cr/ui:menu_button.m",
"//ui/webui/resources/js/cr/ui:menu_item.m",
"//ui/webui/resources/js/cr/ui:position_util.m",
]
}
js_unittest("multi_menu_unittest.m") {
deps = [
":multi_menu_button",
"//chrome/test/data/webui:chai_assert",
"//ui/file_manager/file_manager/common/js:util",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js/cr:ui.m",
"//ui/webui/resources/js/cr/ui:command.m",
"//ui/webui/resources/js/cr/ui:menu.m",
]
}
js_library("progress_center_panel") {
deps = [
"//ui/file_manager/file_manager/common/js:progress_center_common",
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/externs:progress_center_panel",
"//ui/webui/resources/js:assert.m",
]
}
js_library("providers_menu") {
deps = [
":files_menu",
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/foreground/js:providers_model",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js/cr:ui.m",
"//ui/webui/resources/js/cr/ui:menu.m",
]
}
js_library("search_box") {
deps = [
":autocomplete_list",
"//ui/file_manager/file_manager/common/js:file_type",
"//ui/file_manager/file_manager/common/js:metrics",
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/foreground/elements:files_toggle_ripple",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js:util.m",
"//ui/webui/resources/js/cr:event_target.m",
"//ui/webui/resources/js/cr/ui:list_item.m",
]
externs_list = [ "//ui/file_manager/file_manager/externs/search_item.js" ]
}
js_library("autocomplete_list") {
deps = [
"//ui/webui/resources/js:cr.m",
"//ui/webui/resources/js/cr/ui:array_data_model.m",
"//ui/webui/resources/js/cr/ui:list.m",
"//ui/webui/resources/js/cr/ui:list_item.m",
"//ui/webui/resources/js/cr/ui:list_single_selection_model.m",
"//ui/webui/resources/js/cr/ui:position_util.m",
]
}
js_test_gen_html("js_test_gen_html_modules") {
deps = [
":actions_submenu_unittest.m",
":breadcrumb_unittest.m",
":directory_tree_unittest.m",
":file_list_selection_model_unittest.m",
":file_manager_dialog_base_unittest.m",
":file_table_list_unittest.m",
":file_table_unittest.m",
":file_tap_handler_unittest.m",
":install_linux_package_dialog_unittest.m",
":multi_menu_unittest.m",
]
is_polymer3 = true
closure_flags = strict_error_checking_closure_args + [
"generate_exports=false",
"js_module_root=./gen/ui",
"js_module_root=../../ui/file_manager/",
"js_module_root=./gen/ui/file_manager/",
"jscomp_off=duplicate",
"browser_resolver_prefix_replacements=\"chrome://test/=./\"",
"browser_resolver_prefix_replacements=\"chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj/=./file_manager/\"",
"browser_resolver_prefix_replacements=\"chrome-extension://pmfjbimdmchhbnneeidfognadeopoehp/=./image_loader/\"",
"hide_warnings_for=third_party/",
]
}