blob: a38ff76224b68ae544b9d4b19751f10ca85c71aa [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("//chrome/browser/resources/tools/optimize_webui.gni")
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")
js_type_check("closure_compile_jsmodules") {
closure_flags = default_closure_args + [
"jscomp_error=strictCheckTypes",
"js_module_root=gen/ui/file_manager/",
"js_module_root=../../ui/file_manager/",
"browser_resolver_prefix_replacements=\"chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj/=./file_manager/\"",
]
deps = [
":background.m",
":cache",
":image_loader_client",
":image_loader_util",
":image_request_task",
":load_image_request",
":piex_loader",
":scheduler",
]
}
js_library("background.m") {
}
js_library("cache") {
}
js_unittest("cache_unittest.m") {
deps = [
":load_image_request",
"//chrome/test/data/webui:chai_assert",
]
}
js_library("image_loader") {
deps = [
":cache",
":image_request_task",
":load_image_request",
":scheduler",
"//ui/file_manager/file_manager/foreground/js/metadata:image_orientation",
"//ui/webui/resources/js:assert.m",
]
}
js_unittest("image_loader_unittest.m") {
deps = [
":image_loader_util",
":load_image_request",
"//chrome/test/data/webui:chai_assert",
"//ui/file_manager/file_manager/foreground/js/metadata:image_orientation",
]
}
js_library("image_loader_util") {
deps = [
":load_image_request",
"//ui/webui/resources/js:assert.m",
]
}
js_library("load_image_request") {
deps = [
"//ui/file_manager/file_manager/foreground/js/metadata:image_orientation",
"//ui/webui/resources/js:assert.m",
]
}
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.m") {
deps = [
":image_loader_client",
":load_image_request",
"//chrome/test/data/webui:chai_assert",
"//ui/file_manager/file_manager/common/js:test_error_reporting",
]
}
js_library("piex_loader") {
externs_list = [ "//ui/file_manager/file_manager/externs/platform.js" ]
}
js_library("image_request_task") {
deps = [
":cache",
":image_loader_util",
":load_image_request",
":piex_loader",
"//ui/file_manager/file_manager/common/js:file_type",
"//ui/file_manager/file_manager/foreground/js/metadata:image_orientation",
"//ui/webui/resources/js:assert.m",
]
}
js_library("scheduler") {
deps = [ ":image_request_task" ]
}
js_unittest("scheduler_unittest.m") {
deps = [
":image_request_task",
":scheduler",
"//chrome/test/data/webui:chai_assert",
]
}
js_test_gen_html("js_test_gen_html_modules") {
deps = [
":cache_unittest.m",
":image_loader_client_unittest.m",
":image_loader_unittest.m",
":scheduler_unittest.m",
]
closure_flags = strict_error_checking_closure_args + [
"js_module_root=./gen/ui",
"js_module_root=../../ui/file_manager/",
"js_module_root=./gen/ui/file_manager/",
"browser_resolver_prefix_replacements=\"chrome://test/=./\"",
"browser_resolver_prefix_replacements=\"chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj/=./file_manager/\"",
]
}
group("closure_compile") {
testonly = true
deps = [
":closure_compile_jsmodules",
":js_test_gen_html_modules_type_check_auto",
]
}
group("js_modules") {
deps = [
":cache",
":image_loader",
":image_loader_client",
":image_loader_util",
":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.m.js" ]
js_out_files = [ "background.m.rollup.js" ]
external_paths = [
"chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj|$files_app_path",
"chrome-extension://pmfjbimdmchhbnneeidfognadeopoehp|$image_loader_path",
]
deps = [
":background.m",
"//ui/file_manager:preprocess_generated",
"//ui/file_manager:preprocess_static",
"//ui/webui/resources:preprocess",
]
}