1# Copyright 2018 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//third_party/closure_compiler/compile_js.gni")
6import("//third_party/closure_compiler/js_unit_tests.gni")
7import("//ui/file_manager/base/gn/js_test_gen_html.gni")
8
9js_type_check("closure_compile_module") {
10  deps = [
11    ":commands",
12    ":exif_encoder",
13    ":filter",
14    ":image_adjust",
15    ":image_buffer",
16    ":image_editor",
17    ":image_editor_mode",
18    ":image_editor_prompt",
19    ":image_editor_toolbar",
20    ":image_encoder",
21    ":image_loader",
22    ":image_resize",
23    ":image_transform",
24    ":image_util",
25    ":image_view",
26    ":test_util",
27    ":viewport",
28  ]
29}
30
31js_library("commands") {
32  deps = [
33    ":filter",
34    ":image_editor_prompt",
35    ":image_util",
36    ":image_view",
37    ":viewport",
38    "//ui/file_manager/file_manager/foreground/elements:files_toast",
39  ]
40}
41
42js_library("exif_encoder") {
43  deps = [
44    ":image_encoder",
45    "//ui/file_manager/file_manager/foreground/js/metadata:exif_constants",
46    "//ui/file_manager/file_manager/foreground/js/metadata:metadata_item",
47  ]
48  externs_list = [ "//ui/file_manager/externs/exif_entry.js" ]
49}
50
51js_unittest("exif_encoder_unittest") {
52  deps = [
53    ":exif_encoder",
54    ":test_util",
55    "//ui/file_manager/file_manager/foreground/js/metadata:exif_parser",
56    "//ui/webui/resources/js:webui_resource_test",
57  ]
58}
59
60js_library("filter") {
61  deps = [ ":image_util" ]
62}
63
64js_library("image_adjust") {
65  deps = [
66    ":commands",
67    ":image_editor",
68    "//ui/webui/resources/js:assert",
69  ]
70}
71
72js_library("image_buffer") {
73}
74
75js_library("image_editor") {
76  deps = [
77    ":image_buffer",
78    ":image_editor_mode",
79    ":image_editor_toolbar",
80    ":image_resize",
81    ":image_util",
82    ":image_view",
83    ":viewport",
84    "//ui/webui/resources/js/cr:event_target",
85  ]
86}
87
88js_library("image_editor_mode") {
89  deps = [
90    ":commands",
91    ":image_buffer",
92    ":image_editor_toolbar",
93    ":image_view",
94    ":viewport",
95  ]
96}
97
98js_library("image_editor_prompt") {
99  deps = [ "//ui/webui/resources/js:assert" ]
100}
101
102js_library("image_editor_toolbar") {
103  deps = [
104    ":image_util",
105    "//ui/file_manager/file_manager/common/js:util",
106    "//ui/file_manager/file_manager/foreground/elements:files_tooltip",
107    "//ui/file_manager/gallery/js/:gallery_util",
108  ]
109  externs_list = [ "//ui/file_manager/externs/paper_elements.js" ]
110}
111
112js_library("image_encoder") {
113  deps = [
114    ":image_util",
115    "//ui/file_manager/file_manager/foreground/js/metadata:metadata_item",
116    "//ui/webui/resources/js:assert",
117  ]
118}
119
120js_unittest("image_encoder_unittest") {
121  deps = [
122    ":image_encoder",
123    ":test_util",
124    "//ui/file_manager/base/js:test_error_reporting",
125    "//ui/file_manager/file_manager/foreground/js/metadata:metadata_parser",
126  ]
127  externs_list = [ "//ui/file_manager/externs/metadata_worker_window.js" ]
128}
129
130js_library("image_loader") {
131  deps = [
132    ":image_util",
133    "//ui/file_manager/file_manager/common/js:file_type",
134    "//ui/file_manager/file_manager/common/js:metrics_base",
135    "//ui/file_manager/file_manager/common/js:util",
136    "//ui/file_manager/file_manager/foreground/js/metadata:metadata_model",
137    "//ui/file_manager/gallery/js/:gallery_item",
138    "//ui/file_manager/image_loader:image_loader_client",
139  ]
140}
141
142js_library("image_resize") {
143  deps = [
144    ":image_editor_mode",
145    "//ui/file_manager/file_manager/foreground/js/ui:files_alert_dialog",
146  ]
147}
148
149js_library("image_transform") {
150  deps = [
151    ":commands",
152    ":image_buffer",
153    ":image_editor_mode",
154    ":image_editor_toolbar",
155    ":image_util",
156    ":viewport",
157  ]
158}
159
160js_library("image_util") {
161  deps = [ "//ui/webui/resources/js:assert" ]
162}
163
164js_library("image_view") {
165  deps = [
166    ":image_buffer",
167    ":image_loader",
168    ":image_util",
169    ":viewport",
170    "//ui/file_manager/file_manager/common/js:metrics_base",
171    "//ui/file_manager/file_manager/foreground/js:thumbnail_loader",
172    "//ui/file_manager/gallery/js/:gallery_item",
173    "//ui/webui/resources/js:assert",
174  ]
175}
176
177js_unittest("image_view_unittest") {
178  deps = [
179    ":image_view",
180    "//ui/file_manager/gallery/js/:mock_gallery_item",
181    "//ui/webui/resources/js:webui_resource_test",
182  ]
183}
184
185js_library("test_util") {
186}
187
188js_library("viewport") {
189  deps = [
190    ":image_util",
191    "//ui/webui/resources/js/cr:event_target",
192  ]
193}
194
195js_test_gen_html("js_test_gen_html") {
196  deps = [
197    ":exif_encoder_unittest",
198    ":image_encoder_unittest",
199    ":image_view_unittest",
200  ]
201  mocks = [ "//ui/file_manager/file_manager/foreground/js/metadata/metadata_dispatcher_mock_deps.js" ]
202}
203
204group("closure_compile") {
205  testonly = true
206  deps = [
207    ":closure_compile_module",
208    ":js_test_gen_html_type_check_auto",
209  ]
210}
211