Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / components / html_viewer / BUILD.gn
blob1e16fe204676992d21ff66328ca1463d3bffe44b
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")
11 if (is_android) {
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"
18   outputs = [
19     "grit/html_viewer_resources.h",
20     "html_viewer_resources.pak",
21   ]
24 copy("copy_html_viewer_resources") {
25   sources = [
26     "$target_gen_dir/html_viewer_resources.pak",
27   ]
28   outputs = [
29     "$root_out_dir/html_viewer_resources.pak",
30   ]
32   public_deps = [
33     ":html_viewer_resources_grit",
34   ]
37 repack("pak") {
38   sources = [
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",
45   ]
46   output = "$root_out_dir/html_viewer.pak"
47   deps = [
48     ":copy_html_viewer_resources",
49     "//third_party/WebKit/public:image_resources",
50     "//third_party/WebKit/public:resources",
51     "//ui/resources",
52     "//ui/strings",
53   ]
56 source_set("lib") {
57   sources = [
58     "ax_provider_impl.cc",
59     "ax_provider_impl.h",
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",
81     "global_state.cc",
82     "global_state.h",
83     "html_document_application_delegate.cc",
84     "html_document_application_delegate.h",
85     "html_document_oopif.cc",
86     "html_document_oopif.h",
87     "html_factory.h",
88     "html_frame.cc",
89     "html_frame.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",
96     "html_viewer.cc",
97     "html_viewer.h",
98     "html_widget.cc",
99     "html_widget.h",
100     "media_factory.cc",
101     "media_factory.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",
110     "touch_handler.cc",
111     "touch_handler.h",
112     "web_clipboard_impl.cc",
113     "web_clipboard_impl.h",
114     "web_cookie_jar_impl.cc",
115     "web_cookie_jar_impl.h",
116     "web_layer_impl.cc",
117     "web_layer_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",
132   ]
134   include_dirs = [ "third_party/WebKit" ]
136   deps = [
137     "//base",
138     "//base:i18n",
139     "//base/third_party/dynamic_annotations",
140     "//cc",
141     "//cc/blink",
142     "//cc/surfaces",
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",
157     "//gin",
158     "//media",
159     "//media/blink",
160     "//media/mojo",
161     "//mojo/application/public/cpp",
162     "//mojo/application/public/interfaces",
163     "//mojo/cc",
164     "//mojo/common",
165     "//mojo/converters/surfaces",
166     "//mojo/logging",
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",
173     "//net",
174     "//skia",
175     "//third_party/mojo_services/src/accessibility/public/interfaces",
176     "//third_party/WebKit/public:image_resources",
177     "//third_party/WebKit/public:resources",
178     "//ui/base:base",
179     "//ui/mojo/events:interfaces",
180     "//ui/events",
181     "//ui/events:gesture_detection",
182     "//ui/events/blink",
183     "//ui/events/gestures/blink",
184     "//ui/gfx",
185     "//ui/gfx/geometry",
186     "//ui/mojo/geometry:interfaces_cpp_sources",
187     "//ui/mojo/ime:interfaces_cpp_sources",
188     "//ui/mojo/init",
189     "//ui/native_theme",
190     "//url",
191   ]
193   public_deps = [
194     "//components/view_manager/public/cpp",
195     "//third_party/WebKit/public:blink",
196     "//third_party/mojo/src/mojo/public/cpp/bindings",
197   ]
199   if (is_win) {
200     sources += [ "html_viewer_version.rc" ]
201   }
203   if (is_linux && !is_android) {
204     deps += [ "//components/font_service/public/cpp" ]
205   }
207   data_deps = [
208     "//components/clipboard",
209     "//components/view_manager",
210     "//mojo/services/network:network",
211     "//mojo/services/tracing",
212   ]
215 mojo_native_application("html_viewer") {
216   sources = [
217     "html_viewer_main.cc",
218   ]
219   deps = [
220     ":lib",
221     ":pak",
222     "//mojo/application/public/cpp:sources",
223     "//third_party/mojo/src/mojo/public/c/system:for_shared_library",
224   ]
225   resources = [ "$root_out_dir/html_viewer.pak" ]
227   if (v8_use_external_startup_data) {
228     resources += [
229       "$root_build_dir/natives_blob.bin",
230       "$root_build_dir/snapshot_blob.bin",
231     ]
232     deps += [ "//gin" ]
233   }
236 mojo_native_application("layout_test_html_viewer") {
237   testonly = true
238   sources = [
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",
246   ]
247   deps = [
248     ":lib",
249     ":pak",
250     "//cc",
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",
256     "//ui/base",
257     "//url",
258   ]
259   resources = [ "$root_out_dir/html_viewer.pak" ]
261   if (v8_use_external_startup_data) {
262     resources += [
263       "$root_build_dir/natives_blob.bin",
264       "$root_build_dir/snapshot_blob.bin",
265     ]
266     deps += [ "//gin" ]
267   }
270 if (is_android) {
271   html_viewer_unittests_assets = "$root_build_dir/html_viewer_unittests_assets"
273   copy_ex("copy_unittest_assets") {
274     clear_dir = true
275     deps = [
276       ":pak",
277       "//gin",
278       "//third_party/icu:icudata",
279     ]
280     dest = html_viewer_unittests_assets
281     sources = [
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",
286     ]
287   }
289   generate_mojo_shell_assets_list("build_unittest_assets") {
290     deps = [
291       ":copy_unittest_assets",
292     ]
293     dir = html_viewer_unittests_assets
294   }
297 test("html_viewer_unittests") {
298   sources = [
299     "ax_provider_impl_unittest.cc",
300     "discardable_memory_allocator_unittest.cc",
301     "run_all_unittests.cc",
302   ]
303   deps = [
304     ":lib",
305     ":pak",
306     "//base/test:test_support",
307     "//components/scheduler",
308     "//gin",
309     "//testing/gtest:gtest",
310     "//third_party/mojo/src/mojo/edk/system",
311     "//ui/base",
312     "//ui/mojo/init",
313   ]
315   if (is_android) {
316     deps += [ ":build_unittest_assets" ]
317     apk_asset_location = html_viewer_unittests_assets
318   }
321 mojo_native_application("apptests") {
322   output_name = "html_viewer_apptests"
323   testonly = true
325   sources = [
326     "ax_provider_apptest.cc",
327     "html_frame_apptest.cc",
328   ]
330   deps = [
331     "//base",
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",
342     "//testing/gtest",
343     "//third_party/mojo_services/src/accessibility/public/interfaces",
344     "//third_party/mojo/src/mojo/public/c/system:for_shared_library",
345   ]
347   data_deps = [
348     ":html_viewer",
349     "//components/view_manager",
350   ]
352   if (is_linux && !is_android) {
353     data_deps += [ "//components/font_service" ]
354   }