1 # Copyright 2014 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.
5 import("//build/module_args/v8.gni")
6 import("//mojo/public/mojo_application.gni")
7 import("//testing/test.gni")
8 import("//tools/grit/grit_rule.gni")
9 import("//tools/grit/repack.gni")
12 import("//build/config/android/internal_rules.gni")
13 import("//mojo/generate_mojo_shell_assets_list.gni")
16 grit("html_viewer_resources_grit") {
17 source = "html_viewer_resources.grd"
19 "grit/html_viewer_resources.h",
20 "html_viewer_resources.pak",
24 copy("copy_html_viewer_resources") {
26 "$target_gen_dir/html_viewer_resources.pak",
29 "$root_out_dir/html_viewer_resources.pak",
33 ":html_viewer_resources_grit",
39 "$root_gen_dir/blink/public/resources/blink_image_resources_100_percent.pak",
40 "$root_gen_dir/blink/public/resources/blink_resources.pak",
41 "$root_gen_dir/components/html_viewer/html_viewer_resources.pak",
42 "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
43 "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
44 "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
46 output = "$root_out_dir/html_viewer.pak"
48 ":copy_html_viewer_resources",
49 "//third_party/WebKit/public:image_resources",
50 "//third_party/WebKit/public:resources",
58 "ax_provider_impl.cc",
60 "blink_basic_type_converters.cc",
61 "blink_basic_type_converters.h",
62 "blink_input_events_type_converters.cc",
63 "blink_input_events_type_converters.h",
64 "blink_platform_impl.cc",
65 "blink_platform_impl.h",
66 "blink_resource_constants.h",
67 "blink_text_input_type_converters.cc",
68 "blink_text_input_type_converters.h",
69 "blink_url_request_type_converters.cc",
70 "blink_url_request_type_converters.h",
71 "content_handler_impl.cc",
72 "content_handler_impl.h",
73 "devtools_agent_impl.cc",
74 "devtools_agent_impl.h",
75 "discardable_memory_allocator.cc",
76 "discardable_memory_allocator.h",
77 "document_resource_waiter.cc",
78 "document_resource_waiter.h",
79 "geolocation_client_impl.cc",
80 "geolocation_client_impl.h",
83 "html_document_application_delegate.cc",
84 "html_document_application_delegate.h",
85 "html_document_oopif.cc",
86 "html_document_oopif.h",
90 "html_frame_delegate.h",
91 "html_frame_properties.cc",
92 "html_frame_properties.h",
93 "html_frame_tree_manager.cc",
94 "html_frame_tree_manager.h",
95 "html_frame_tree_manager_observer.h",
102 "mock_web_blob_registry_impl.cc",
103 "mock_web_blob_registry_impl.h",
104 "replicated_frame_state.cc",
105 "replicated_frame_state.h",
106 "stats_collection_controller.cc",
107 "stats_collection_controller.h",
108 "test_html_viewer_impl.cc",
109 "test_html_viewer_impl.h",
112 "web_clipboard_impl.cc",
113 "web_clipboard_impl.h",
114 "web_cookie_jar_impl.cc",
115 "web_cookie_jar_impl.h",
118 "web_layer_tree_view_impl.cc",
119 "web_layer_tree_view_impl.h",
120 "web_mime_registry_impl.cc",
121 "web_mime_registry_impl.h",
122 "web_notification_manager_impl.cc",
123 "web_notification_manager_impl.h",
124 "web_socket_handle_impl.cc",
125 "web_socket_handle_impl.h",
126 "web_storage_namespace_impl.cc",
127 "web_storage_namespace_impl.h",
128 "web_theme_engine_impl.cc",
129 "web_theme_engine_impl.h",
130 "web_url_loader_impl.cc",
131 "web_url_loader_impl.h",
134 include_dirs = [ "third_party/WebKit" ]
139 "//base/third_party/dynamic_annotations",
143 "//components/clipboard/public/interfaces",
144 "//components/devtools_service/public/interfaces",
145 "//components/html_viewer/public/interfaces",
146 "//components/message_port",
147 "//components/mime_util",
148 "//components/resource_provider/public/cpp",
149 "//components/resource_provider/public/interfaces",
150 "//components/scheduler:scheduler",
151 "//components/startup_metric_utils",
152 "//components/view_manager/gles2:lib",
153 "//components/view_manager/public/interfaces",
154 "//components/webcrypto",
155 "//components/web_view:switches",
156 "//components/web_view/public/interfaces",
161 "//mojo/application/public/cpp",
162 "//mojo/application/public/interfaces",
165 "//mojo/converters/surfaces",
167 "//mojo/message_pump",
168 "//mojo/platform_handle",
169 "//mojo/services/network/public/cpp",
170 "//mojo/services/network/public/interfaces",
171 "//mojo/services/tracing/public/cpp",
172 "//mojo/services/tracing/public/interfaces",
175 "//third_party/mojo_services/src/accessibility/public/interfaces",
176 "//third_party/WebKit/public:image_resources",
177 "//third_party/WebKit/public:resources",
179 "//ui/mojo/events:interfaces",
181 "//ui/events:gesture_detection",
183 "//ui/events/gestures/blink",
186 "//ui/mojo/geometry:interfaces_cpp_sources",
187 "//ui/mojo/ime:interfaces_cpp_sources",
194 "//components/view_manager/public/cpp",
195 "//third_party/WebKit/public:blink",
196 "//third_party/mojo/src/mojo/public/cpp/bindings",
200 sources += [ "html_viewer_version.rc" ]
203 if (is_linux && !is_android) {
204 deps += [ "//components/font_service/public/cpp" ]
208 "//components/clipboard",
209 "//components/view_manager",
210 "//mojo/services/network:network",
211 "//mojo/services/tracing",
215 mojo_native_application("html_viewer") {
217 "html_viewer_main.cc",
222 "//mojo/application/public/cpp:sources",
223 "//third_party/mojo/src/mojo/public/c/system:for_shared_library",
225 resources = [ "$root_out_dir/html_viewer.pak" ]
227 if (v8_use_external_startup_data) {
229 "$root_build_dir/natives_blob.bin",
230 "$root_build_dir/snapshot_blob.bin",
236 mojo_native_application("layout_test_html_viewer") {
239 "layout_test_content_handler_impl.cc",
240 "layout_test_content_handler_impl.h",
241 "layout_test_html_viewer.cc",
242 "layout_test_html_viewer.h",
243 "layout_test_html_viewer_main.cc",
244 "web_test_delegate_impl.cc",
245 "web_test_delegate_impl.h",
251 "//components/test_runner",
252 "//mojo/application/public/cpp:sources",
253 "//third_party/WebKit/public:blink",
254 "//third_party/WebKit/public:test_support",
255 "//third_party/mojo/src/mojo/public/c/system:for_shared_library",
259 resources = [ "$root_out_dir/html_viewer.pak" ]
261 if (v8_use_external_startup_data) {
263 "$root_build_dir/natives_blob.bin",
264 "$root_build_dir/snapshot_blob.bin",
271 html_viewer_unittests_assets = "$root_build_dir/html_viewer_unittests_assets"
273 copy_ex("copy_unittest_assets") {
278 "//third_party/icu:icudata",
280 dest = html_viewer_unittests_assets
282 "$root_build_dir/html_viewer.pak",
283 "$root_build_dir/icudtl.dat",
284 "$root_build_dir/natives_blob.bin",
285 "$root_build_dir/snapshot_blob.bin",
289 generate_mojo_shell_assets_list("build_unittest_assets") {
291 ":copy_unittest_assets",
293 dir = html_viewer_unittests_assets
297 test("html_viewer_unittests") {
299 "ax_provider_impl_unittest.cc",
300 "discardable_memory_allocator_unittest.cc",
301 "run_all_unittests.cc",
306 "//base/test:test_support",
307 "//components/scheduler",
309 "//testing/gtest:gtest",
310 "//third_party/mojo/src/mojo/edk/system",
316 deps += [ ":build_unittest_assets" ]
317 apk_asset_location = html_viewer_unittests_assets
321 mojo_native_application("apptests") {
322 output_name = "html_viewer_apptests"
326 "ax_provider_apptest.cc",
327 "html_frame_apptest.cc",
332 "//components/html_viewer/public/interfaces",
333 "//components/scheduler",
334 "//components/view_manager/public/cpp",
335 "//components/view_manager/public/cpp/tests:test_support",
336 "//components/web_view:lib",
337 "//components/web_view:test_support",
338 "//components/web_view/public/interfaces",
339 "//mojo/application/public/cpp:sources",
340 "//mojo/application/public/cpp:test_support",
341 "//net:test_support",
343 "//third_party/mojo_services/src/accessibility/public/interfaces",
344 "//third_party/mojo/src/mojo/public/c/system:for_shared_library",
349 "//components/view_manager",
352 if (is_linux && !is_android) {
353 data_deps += [ "//components/font_service" ]