blob: 48dd483fbc3192b468a7733d364e5b784ac7a5d4 [file] [log] [blame]
# Copyright 2018 The Chromium Authors
# 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_type_check.gni")
import("//ui/webui/resources/tools/optimize_webui.gni")
js_type_check("closure_compile_jsmodules") {
closure_flags = default_closure_args + [
"language_in=ECMASCRIPT_2020",
"jscomp_error=strictCheckTypes",
"js_module_root=gen/ui/file_manager/",
"js_module_root=" +
rebase_path("//ui/file_manager/", root_build_dir),
"browser_resolver_prefix_replacements=\"chrome://file-manager/=./file_manager/\"",
]
deps = [
":background",
":cache",
":image_loader_client",
":image_loader_util",
":image_orientation",
":image_request_task",
":load_image_request",
":piex_loader",
":scheduler",
]
}
js_library("background") {
}
js_library("cache") {
}
js_unittest("cache_unittest") {
deps = [
":load_image_request",
"//chrome/test/data/webui/chromeos:chai_assert",
]
}
js_library("image_loader") {
deps = [
":cache",
":image_orientation",
":image_request_task",
":load_image_request",
":scheduler",
"//ash/webui/common/resources:assert",
]
}
js_unittest("image_loader_unittest") {
deps = [
":image_loader_util",
":image_orientation",
":load_image_request",
"//chrome/test/data/webui/chromeos:chai_assert",
]
}
js_library("image_loader_util") {
deps = [
":load_image_request",
"//ash/webui/common/resources:assert",
]
}
js_library("load_image_request") {
deps = [
":image_orientation",
"//ash/webui/common/resources:assert",
]
}
js_library("image_loader_client") {
deps = [
":load_image_request",
"//ui/file_manager/file_manager/common/js:lru_cache",
]
externs_list = [
"$externs_path/chrome.js",
"$externs_path/chrome_extensions.js",
"$externs_path/metrics_private.js",
]
}
js_unittest("image_loader_client_unittest") {
deps = [
":image_loader_client",
":load_image_request",
"//chrome/test/data/webui/chromeos:chai_assert",
"//ui/file_manager/file_manager/common/js:test_error_reporting",
]
}
js_library("image_orientation") {
}
js_unittest("image_orientation_unittest") {
deps = [
":image_orientation",
"//chrome/test/data/webui/chromeos:chai_assert",
]
}
js_library("piex_loader") {
externs_list = [ "//ui/file_manager/file_manager/externs/platform.js" ]
}
js_library("image_request_task") {
deps = [
":cache",
":image_loader_util",
":image_orientation",
":load_image_request",
":piex_loader",
"//ash/webui/common/resources:assert",
"//ui/file_manager/file_manager/common/js:file_type",
]
externs_list = [
"$externs_path/file_manager_private.js",
"$externs_path/file_system_provider.js",
"$externs_path/chrome_extensions.js",
"$externs_path/chrome.js",
]
}
js_library("scheduler") {
deps = [ ":image_request_task" ]
}
js_unittest("scheduler_unittest") {
deps = [
":image_request_task",
":scheduler",
"//chrome/test/data/webui/chromeos:chai_assert",
]
}
js_test_type_check("js_test_type_check") {
deps = [
":cache_unittest",
":image_loader_client_unittest",
":image_loader_unittest",
":image_orientation_unittest",
":scheduler_unittest",
]
closure_flags = strict_error_checking_closure_args + [
"language_in=ECMASCRIPT_2020",
"js_module_root=./gen/ui",
"js_module_root=" +
rebase_path("//ui/file_manager/", root_build_dir),
"js_module_root=./gen/ui/file_manager/",
"browser_resolver_prefix_replacements=\"chrome://webui-test/=./\"",
"browser_resolver_prefix_replacements=\"chrome://file-manager/=./file_manager/\"",
]
}
group("closure_compile") {
testonly = true
deps = [
":closure_compile_jsmodules",
":js_test_type_check",
]
}
group("js_modules") {
deps = [
":cache",
":image_loader",
":image_loader_client",
":image_loader_util",
":image_orientation",
":image_request_task",
":load_image_request",
":piex_loader",
":scheduler",
]
}
preprocess_folder =
rebase_path("$target_gen_dir/../preprocessed/image_loader", root_build_dir)
files_app_path =
rebase_path("$root_gen_dir/ui/file_manager/preprocessed/file_manager",
root_build_dir)
image_loader_path =
rebase_path("$root_gen_dir/ui/file_manager/preprocessed/image_loader",
root_build_dir)
optimize_webui("build") {
host = "image_loader"
input = preprocess_folder
js_module_in_files = [ "background.js" ]
external_paths = [
"chrome://file-manager|$files_app_path",
"chrome-extension://pmfjbimdmchhbnneeidfognadeopoehp|$image_loader_path",
]
deps = [
":background",
"//ui/file_manager:preprocess_generated",
"//ui/file_manager:preprocess_static",
"//ui/file_manager:preprocess_static_image_loader",
]
}