Add GN isolate support for a bunch of unittests.
[chromium-blink-merge.git] / components / html_viewer / BUILD.gn
blob5acb669ddfbb0cb60427b83b39fb8904aa9e0ffd
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 grit("html_viewer_resources_grit") {
12   source = "html_viewer_resources.grd"
13   outputs = [
14     "grit/html_viewer_resources.h",
15     "html_viewer_resources.pak",
16     "html_viewer_resources.rc",
17   ]
20 copy("copy_html_viewer_resources") {
21   sources = [
22     "$target_gen_dir/html_viewer_resources.pak",
23   ]
24   outputs = [
25     "$root_out_dir/html_viewer_resources.pak",
26   ]
28   public_deps = [
29     ":html_viewer_resources_grit",
30   ]
33 repack("pak") {
34   sources = [
35     "$root_gen_dir/blink/public/resources/blink_image_resources_100_percent.pak",
36     "$root_gen_dir/blink/public/resources/blink_resources.pak",
37     "$root_gen_dir/components/html_viewer/html_viewer_resources.pak",
38     "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
39     "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
40     "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
41   ]
42   output = "$root_out_dir/html_viewer.pak"
43   deps = [
44     ":copy_html_viewer_resources",
45     "//third_party/WebKit/public:image_resources",
46     "//third_party/WebKit/public:resources",
47     "//ui/resources",
48     "//ui/strings",
49   ]
52 source_set("lib") {
53   sources = [
54     "ax_provider_impl.cc",
55     "ax_provider_impl.h",
56     "blink_basic_type_converters.cc",
57     "blink_basic_type_converters.h",
58     "blink_input_events_type_converters.cc",
59     "blink_input_events_type_converters.h",
60     "blink_platform_impl.cc",
61     "blink_platform_impl.h",
62     "blink_resource_constants.h",
63     "blink_url_request_type_converters.cc",
64     "blink_url_request_type_converters.h",
65     "content_handler_impl.cc",
66     "content_handler_impl.h",
67     "devtools_agent_impl.cc",
68     "devtools_agent_impl.h",
69     "discardable_memory_allocator.cc",
70     "discardable_memory_allocator.h",
71     "document_resource_waiter.cc",
72     "document_resource_waiter.h",
73     "geolocation_client_impl.cc",
74     "geolocation_client_impl.h",
75     "global_state.cc",
76     "global_state.h",
77     "html_document.cc",
78     "html_document.h",
79     "html_document_application_delegate.cc",
80     "html_document_application_delegate.h",
81     "html_document_oopif.cc",
82     "html_document_oopif.h",
83     "html_frame.cc",
84     "html_frame.h",
85     "html_frame_tree_manager.cc",
86     "html_frame_tree_manager.h",
87     "html_frame_tree_manager_delegate.h",
88     "html_viewer.cc",
89     "html_viewer.h",
90     "html_viewer_switches.cc",
91     "html_viewer_switches.h",
92     "media_factory.cc",
93     "media_factory.h",
94     "mock_web_blob_registry_impl.cc",
95     "mock_web_blob_registry_impl.h",
96     "test_html_viewer_impl.cc",
97     "test_html_viewer_impl.h",
98     "touch_handler.cc",
99     "touch_handler.h",
100     "web_clipboard_impl.cc",
101     "web_clipboard_impl.h",
102     "web_cookie_jar_impl.cc",
103     "web_cookie_jar_impl.h",
104     "web_layer_impl.cc",
105     "web_layer_impl.h",
106     "web_layer_tree_view_impl.cc",
107     "web_layer_tree_view_impl.h",
108     "web_mime_registry_impl.cc",
109     "web_mime_registry_impl.h",
110     "web_notification_manager_impl.cc",
111     "web_notification_manager_impl.h",
112     "web_socket_handle_impl.cc",
113     "web_socket_handle_impl.h",
114     "web_storage_namespace_impl.cc",
115     "web_storage_namespace_impl.h",
116     "web_theme_engine_impl.cc",
117     "web_theme_engine_impl.h",
118     "web_url_loader_impl.cc",
119     "web_url_loader_impl.h",
120   ]
122   include_dirs = [ "third_party/WebKit" ]
124   deps = [
125     "//base",
126     "//base/third_party/dynamic_annotations",
127     "//cc",
128     "//cc/blink",
129     "//cc/surfaces",
130     "//components/clipboard/public/interfaces",
131     "//components/devtools_service/public/cpp",
132     "//components/devtools_service/public/interfaces",
133     "//components/html_viewer/public/interfaces",
134     "//components/message_port",
135     "//components/mime_util",
136     "//components/resource_provider/public/cpp",
137     "//components/resource_provider/public/interfaces",
138     "//components/scheduler:scheduler",
139     "//components/view_manager/gles2:lib",
140     "//components/view_manager/public/interfaces",
141     "//components/webcrypto",
142     "//gin",
143     "//mandoline/services/navigation/public/interfaces",
144     "//mandoline/tab/public/interfaces",
145     "//media",
146     "//media/blink",
147     "//media/mojo",
148     "//mojo/application/public/cpp",
149     "//mojo/cc",
150     "//mojo/common",
151     "//mojo/converters/surfaces",
152     "//mojo/platform_handle",
153     "//mojo/services/network/public/cpp",
154     "//mojo/services/network/public/interfaces",
155     "//net",
156     "//skia",
157     "//third_party/mojo_services/src/accessibility/public/interfaces",
158     "//ui/mojo/events:interfaces",
159     "//ui/events",
160     "//ui/events:gesture_detection",
161     "//ui/events/blink",
162     "//ui/events/gestures/blink",
163     "//ui/gfx",
164     "//ui/gfx/geometry",
165     "//ui/mojo/init",
166     "//ui/native_theme",
167     "//url",
168   ]
170   public_deps = [
171     "//components/view_manager/public/cpp",
172     "//third_party/WebKit/public:blink",
173     "//third_party/mojo/src/mojo/public/cpp/bindings",
174   ]
176   if (is_win) {
177     sources += [ "html_viewer_version.rc" ]
178   }
180   data_deps = [
181     "//components/clipboard",
182     "//components/view_manager",
183     "//mojo/services/network:network",
184   ]
187 mojo_native_application("html_viewer") {
188   sources = [
189     "html_viewer_main.cc",
190   ]
191   deps = [
192     ":lib",
193     ":pak",
194     "//third_party/mojo/src/mojo/public/c/system:for_shared_library",
195   ]
196   resources = [ "$root_out_dir/html_viewer.pak" ]
198   if (v8_use_external_startup_data) {
199     resources += [
200       "$root_build_dir/natives_blob.bin",
201       "$root_build_dir/snapshot_blob.bin",
202     ]
203     deps += [ "//gin" ]
204   }
207 mojo_native_application("layout_test_html_viewer") {
208   testonly = true
209   sources = [
210     "layout_test_content_handler_impl.cc",
211     "layout_test_content_handler_impl.h",
212     "layout_test_html_viewer.cc",
213     "layout_test_html_viewer.h",
214     "layout_test_html_viewer_main.cc",
215     "web_test_delegate_impl.cc",
216     "web_test_delegate_impl.h",
217   ]
218   deps = [
219     ":lib",
220     ":pak",
221     "//components/test_runner",
222     "//third_party/WebKit/public:blink",
223     "//third_party/WebKit/public:test_support",
224     "//third_party/mojo/src/mojo/public/c/system:for_shared_library",
225     "//url",
226   ]
227   resources = [ "$root_out_dir/html_viewer.pak" ]
229   if (v8_use_external_startup_data) {
230     resources += [
231       "$root_build_dir/natives_blob.bin",
232       "$root_build_dir/snapshot_blob.bin",
233     ]
234     deps += [ "//gin" ]
235   }
238 test("html_viewer_unittests") {
239   sources = [
240     "ax_provider_impl_unittest.cc",
241     "discardable_memory_allocator_unittest.cc",
242     "run_all_unittests.cc",
243   ]
244   deps = [
245     ":lib",
246     ":pak",
247     "//base/test:test_support",
248     "//third_party/mojo/src/mojo/edk/system",
249   ]
252 mojo_native_application("apptests") {
253   output_name = "html_viewer_apptests"
254   testonly = true
256   sources = [
257     "ax_provider_apptest.cc",
258     "html_frame_apptest.cc",
259   ]
261   deps = [
262     "//base",
263     "//components/html_viewer/public/interfaces",
264     "//components/view_manager/public/cpp/tests:test_support",
265     "//mandoline/tab",
266     "//mandoline/tab/public/interfaces",
267     "//mojo/application/public/cpp:test_support",
268     "//net:test_support",
269     "//testing/gtest",
270     "//third_party/mojo_services/src/accessibility/public/interfaces",
271     "//third_party/mojo/src/mojo/public/c/system:for_shared_library",
272   ]
274   data_deps = [
275     ":html_viewer",
276     "//components/view_manager",
277   ]