Stop UI jumping when clicking Contextual Search Results in Custom Tab
[chromium-blink-merge.git] / components / html_viewer / BUILD.gn
blobb0c947479675ee8130d7abd0583c1c07a5d31a3a
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     "html_viewer_resources.rc",
22   ]
25 copy("copy_html_viewer_resources") {
26   sources = [
27     "$target_gen_dir/html_viewer_resources.pak",
28   ]
29   outputs = [
30     "$root_out_dir/html_viewer_resources.pak",
31   ]
33   public_deps = [
34     ":html_viewer_resources_grit",
35   ]
38 repack("pak") {
39   sources = [
40     "$root_gen_dir/blink/public/resources/blink_image_resources_100_percent.pak",
41     "$root_gen_dir/blink/public/resources/blink_resources.pak",
42     "$root_gen_dir/components/html_viewer/html_viewer_resources.pak",
43     "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
44     "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
45     "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
46   ]
47   output = "$root_out_dir/html_viewer.pak"
48   deps = [
49     ":copy_html_viewer_resources",
50     "//third_party/WebKit/public:image_resources",
51     "//third_party/WebKit/public:resources",
52     "//ui/resources",
53     "//ui/strings",
54   ]
57 source_set("lib") {
58   sources = [
59     "ax_provider_impl.cc",
60     "ax_provider_impl.h",
61     "blink_basic_type_converters.cc",
62     "blink_basic_type_converters.h",
63     "blink_input_events_type_converters.cc",
64     "blink_input_events_type_converters.h",
65     "blink_platform_impl.cc",
66     "blink_platform_impl.h",
67     "blink_resource_constants.h",
68     "blink_url_request_type_converters.cc",
69     "blink_url_request_type_converters.h",
70     "content_handler_impl.cc",
71     "content_handler_impl.h",
72     "devtools_agent_impl.cc",
73     "devtools_agent_impl.h",
74     "discardable_memory_allocator.cc",
75     "discardable_memory_allocator.h",
76     "document_resource_waiter.cc",
77     "document_resource_waiter.h",
78     "geolocation_client_impl.cc",
79     "geolocation_client_impl.h",
80     "global_state.cc",
81     "global_state.h",
82     "html_document.cc",
83     "html_document.h",
84     "html_document_application_delegate.cc",
85     "html_document_application_delegate.h",
86     "html_document_oopif.cc",
87     "html_document_oopif.h",
88     "html_frame.cc",
89     "html_frame.h",
90     "html_frame_delegate.h",
91     "html_frame_tree_manager.cc",
92     "html_frame_tree_manager.h",
93     "html_viewer.cc",
94     "html_viewer.h",
95     "html_viewer_switches.cc",
96     "html_viewer_switches.h",
97     "media_factory.cc",
98     "media_factory.h",
99     "mock_web_blob_registry_impl.cc",
100     "mock_web_blob_registry_impl.h",
101     "test_html_viewer_impl.cc",
102     "test_html_viewer_impl.h",
103     "touch_handler.cc",
104     "touch_handler.h",
105     "web_clipboard_impl.cc",
106     "web_clipboard_impl.h",
107     "web_cookie_jar_impl.cc",
108     "web_cookie_jar_impl.h",
109     "web_layer_impl.cc",
110     "web_layer_impl.h",
111     "web_layer_tree_view_impl.cc",
112     "web_layer_tree_view_impl.h",
113     "web_mime_registry_impl.cc",
114     "web_mime_registry_impl.h",
115     "web_notification_manager_impl.cc",
116     "web_notification_manager_impl.h",
117     "web_socket_handle_impl.cc",
118     "web_socket_handle_impl.h",
119     "web_storage_namespace_impl.cc",
120     "web_storage_namespace_impl.h",
121     "web_theme_engine_impl.cc",
122     "web_theme_engine_impl.h",
123     "web_url_loader_impl.cc",
124     "web_url_loader_impl.h",
125   ]
127   include_dirs = [ "third_party/WebKit" ]
129   deps = [
130     "//base",
131     "//base/third_party/dynamic_annotations",
132     "//cc",
133     "//cc/blink",
134     "//cc/surfaces",
135     "//components/clipboard/public/interfaces",
136     "//components/devtools_service/public/cpp",
137     "//components/devtools_service/public/interfaces",
138     "//components/html_viewer/public/interfaces",
139     "//components/message_port",
140     "//components/mime_util",
141     "//components/resource_provider/public/cpp",
142     "//components/resource_provider/public/interfaces",
143     "//components/scheduler:scheduler",
144     "//components/view_manager/gles2:lib",
145     "//components/view_manager/public/interfaces",
146     "//components/webcrypto",
147     "//gin",
148     "//mandoline/services/navigation/public/interfaces",
149     "//mandoline/tab/public/interfaces",
150     "//media",
151     "//media/blink",
152     "//media/mojo",
153     "//mojo/application/public/cpp",
154     "//mojo/cc",
155     "//mojo/common",
156     "//mojo/converters/surfaces",
157     "//mojo/platform_handle",
158     "//mojo/services/network/public/cpp",
159     "//mojo/services/network/public/interfaces",
160     "//net",
161     "//skia",
162     "//third_party/mojo_services/src/accessibility/public/interfaces",
163     "//ui/mojo/events:interfaces",
164     "//ui/events",
165     "//ui/events:gesture_detection",
166     "//ui/events/blink",
167     "//ui/events/gestures/blink",
168     "//ui/gfx",
169     "//ui/gfx/geometry",
170     "//ui/mojo/init",
171     "//ui/native_theme",
172     "//url",
173   ]
175   public_deps = [
176     "//components/view_manager/public/cpp",
177     "//third_party/WebKit/public:blink",
178     "//third_party/mojo/src/mojo/public/cpp/bindings",
179   ]
181   if (is_win) {
182     sources += [ "html_viewer_version.rc" ]
183   }
185   data_deps = [
186     "//components/clipboard",
187     "//components/view_manager",
188     "//mojo/services/network:network",
189   ]
192 mojo_native_application("html_viewer") {
193   sources = [
194     "html_viewer_main.cc",
195   ]
196   deps = [
197     ":lib",
198     ":pak",
199     "//third_party/mojo/src/mojo/public/c/system:for_shared_library",
200   ]
201   resources = [ "$root_out_dir/html_viewer.pak" ]
203   if (v8_use_external_startup_data) {
204     resources += [
205       "$root_build_dir/natives_blob.bin",
206       "$root_build_dir/snapshot_blob.bin",
207     ]
208     deps += [ "//gin" ]
209   }
212 mojo_native_application("layout_test_html_viewer") {
213   testonly = true
214   sources = [
215     "layout_test_content_handler_impl.cc",
216     "layout_test_content_handler_impl.h",
217     "layout_test_html_viewer.cc",
218     "layout_test_html_viewer.h",
219     "layout_test_html_viewer_main.cc",
220     "web_test_delegate_impl.cc",
221     "web_test_delegate_impl.h",
222   ]
223   deps = [
224     ":lib",
225     ":pak",
226     "//components/test_runner",
227     "//third_party/WebKit/public:blink",
228     "//third_party/WebKit/public:test_support",
229     "//third_party/mojo/src/mojo/public/c/system:for_shared_library",
230     "//url",
231   ]
232   resources = [ "$root_out_dir/html_viewer.pak" ]
234   if (v8_use_external_startup_data) {
235     resources += [
236       "$root_build_dir/natives_blob.bin",
237       "$root_build_dir/snapshot_blob.bin",
238     ]
239     deps += [ "//gin" ]
240   }
243 if (is_android) {
244   html_viewer_unittests_assets = "$root_build_dir/html_viewer_unittests_assets"
246   copy_ex("copy_unittest_assets") {
247     clear_dir = true
248     deps = [
249       ":pak",
250       "//gin",
251       "//third_party/icu:icudata",
252     ]
253     dest = html_viewer_unittests_assets
254     sources = [
255       "$root_build_dir/html_viewer.pak",
256       "$root_build_dir/icudtl.dat",
257       "$root_build_dir/natives_blob.bin",
258       "$root_build_dir/snapshot_blob.bin",
259     ]
260   }
262   generate_mojo_shell_assets_list("build_unittest_assets") {
263     deps = [
264       ":copy_unittest_assets",
265     ]
266     dir = html_viewer_unittests_assets
267   }
270 test("html_viewer_unittests") {
271   sources = [
272     "ax_provider_impl_unittest.cc",
273     "discardable_memory_allocator_unittest.cc",
274     "run_all_unittests.cc",
275   ]
276   deps = [
277     ":lib",
278     ":pak",
279     "//base/test:test_support",
280     "//third_party/mojo/src/mojo/edk/system",
281     "//ui/mojo/init",
282   ]
284   if (is_android) {
285     deps += [ ":build_unittest_assets" ]
286     apk_asset_location = html_viewer_unittests_assets
287   }
290 mojo_native_application("apptests") {
291   output_name = "html_viewer_apptests"
292   testonly = true
294   sources = [
295     "ax_provider_apptest.cc",
296     "html_frame_apptest.cc",
297   ]
299   deps = [
300     "//base",
301     "//components/html_viewer/public/interfaces",
302     "//components/view_manager/public/cpp/tests:test_support",
303     "//mandoline/tab",
304     "//mandoline/tab/public/interfaces",
305     "//mojo/application/public/cpp:test_support",
306     "//net:test_support",
307     "//testing/gtest",
308     "//third_party/mojo_services/src/accessibility/public/interfaces",
309     "//third_party/mojo/src/mojo/public/c/system:for_shared_library",
310   ]
312   data_deps = [
313     ":html_viewer",
314     "//components/view_manager",
315   ]