1# Copyright 2019 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. 4import("//components/captive_portal/core/features.gni") 5 6import("//build/config/features.gni") 7import("//build/config/locales.gni") 8import("//build/config/sanitizers/sanitizers.gni") 9import("//build/config/ui.gni") 10import("//build/config/win/console_app.gni") 11import("//build/config/win/manifest.gni") 12import("//components/spellcheck/spellcheck_build_features.gni") 13import("//gpu/vulkan/features.gni") 14import("//media/media_options.gni") 15import("//mojo/public/tools/bindings/mojom.gni") 16import("//tools/grit/grit_rule.gni") 17import("//tools/grit/repack.gni") 18import("//tools/v8_context_snapshot/v8_context_snapshot.gni") 19if (is_android) { 20 import("//build/config/android/config.gni") 21 import("//build/config/android/rules.gni") 22} else if (is_mac) { 23 import("//build/apple/tweak_info_plist.gni") 24 import("//build/config/mac/rules.gni") 25 import("//content/public/app/mac_helpers.gni") 26 import("//third_party/icu/config.gni") 27 import("//ui/gl/features.gni") 28 import("//v8/gni/v8.gni") 29} 30 31source_set("android_descriptors") { 32 sources = [ "browser/android_descriptors.h" ] 33 public_deps = [ "//content/public/common:content_descriptors" ] 34} 35 36if (is_android) { 37 weblayer_components_strings_java_resources = 38 [ "java/res/values/components_strings.xml" ] + 39 process_file_template( 40 android_bundle_locales_as_resources, 41 [ "java/res/values-{{source_name_part}}/components_strings.xml" ]) 42 43 grit("generate_components_strings") { 44 source = "../components/components_strings.grd" 45 46 # components_strings contains strings from all components. WebLayer 47 # will never display most of them, so we try to limit the included 48 # strings. 49 allowlist = rebase_path("grit_strings_allowlist.txt", root_build_dir) 50 inputs = [ "//weblayer/grit_strings_allowlist.txt" ] 51 grit_flags = [ 52 "-w", 53 allowlist, 54 ] 55 outputs = 56 weblayer_components_strings_java_resources + 57 [ "grit/components_strings.h" ] + 58 process_file_template(locales_with_fake_bidi, 59 [ "components_strings_{{source_name_part}}.pak" ]) 60 } 61 62 grit("generate_components_chromium_strings") { 63 source = "../components/components_chromium_strings.grd" 64 65 # components_chromium_strings contains Chromium-specific strings. WebLayer 66 # will never display most of them, so we try to limit the included 67 # strings. 68 allowlist = rebase_path("grit_strings_allowlist.txt", root_build_dir) 69 inputs = [ "//weblayer/grit_strings_allowlist.txt" ] 70 grit_flags = [ 71 "-w", 72 allowlist, 73 ] 74 outputs = [ "grit/components_chromium_strings.h" ] + 75 process_file_template( 76 locales_with_fake_bidi, 77 [ "components_chromium_strings_{{source_name_part}}.pak" ]) 78 } 79 80 repack_locales("weblayer_locales") { 81 input_locales = locales 82 output_locales = locales 83 source_patterns = [ 84 "${root_gen_dir}/components/strings/components_locale_settings_", 85 "${root_gen_dir}/weblayer/components_chromium_strings_", 86 "${root_gen_dir}/weblayer/components_strings_", 87 ] 88 deps = [ 89 ":generate_components_chromium_strings", 90 ":generate_components_strings", 91 "//components/strings:components_locale_settings", 92 ] 93 output_dir = "$root_out_dir/weblayer/locales" 94 } 95 96 android_assets("locale_pak_assets") { 97 disable_compression = true 98 renaming_sources = [ "$root_out_dir/weblayer/locales/en-US.pak" ] 99 renaming_destinations = [ "stored-locales/weblayer/en-US.pak" ] 100 treat_as_locale_paks = true 101 deps = [ ":weblayer_locales" ] 102 } 103 104 android_assets("bundle_locale_pak_assets") { 105 disable_compression = true 106 renaming_sources = [] 107 renaming_destinations = [] 108 foreach(_locale, locales) { 109 renaming_sources += [ "$root_out_dir/weblayer/locales/$_locale.pak" ] 110 renaming_destinations += [ "locales/$_locale.pak" ] 111 } 112 treat_as_locale_paks = true 113 deps = [ ":weblayer_locales" ] 114 } 115 116 java_strings_grd_prebuilt("components_java_strings") { 117 resource_overlay = true 118 grit_output_dir = "$root_gen_dir/weblayer/java/res" 119 generated_files = 120 rebase_path(weblayer_components_strings_java_resources, "java/res", ".") 121 deps = [ ":generate_components_strings" ] 122 } 123} 124 125mojom("common_mojom") { 126 disable_variants = true 127 128 sources = [ 129 "common/error_page_helper.mojom", 130 "common/renderer_configuration.mojom", 131 ] 132 deps = [ "//components/content_settings/core/common:mojo_bindings" ] 133} 134 135source_set("weblayer_lib_base") { 136 sources = [ 137 "app/content_main_delegate_impl.cc", 138 "app/content_main_delegate_impl.h", 139 "app/main.cc", 140 "browser/autofill_client_impl.cc", 141 "browser/autofill_client_impl.h", 142 "browser/background_sync/background_sync_controller_factory.cc", 143 "browser/background_sync/background_sync_controller_factory.h", 144 "browser/background_sync/background_sync_delegate_impl.cc", 145 "browser/background_sync/background_sync_delegate_impl.h", 146 "browser/browser_context_impl.cc", 147 "browser/browser_context_impl.h", 148 "browser/browser_impl.cc", 149 "browser/browser_impl.h", 150 "browser/browser_list.cc", 151 "browser/browser_list.h", 152 "browser/browser_list_observer.h", 153 "browser/browser_main_parts_impl.cc", 154 "browser/browser_main_parts_impl.h", 155 "browser/browser_process.cc", 156 "browser/browser_process.h", 157 "browser/browsing_data_remover_delegate.cc", 158 "browser/browsing_data_remover_delegate.h", 159 "browser/browsing_data_remover_delegate_factory.cc", 160 "browser/browsing_data_remover_delegate_factory.h", 161 "browser/client_hints_factory.cc", 162 "browser/client_hints_factory.h", 163 "browser/content_browser_client_impl.cc", 164 "browser/content_browser_client_impl.h", 165 "browser/content_browser_client_impl_receiver_bindings.cc", 166 "browser/content_settings_manager_delegate.cc", 167 "browser/content_settings_manager_delegate.h", 168 "browser/controls_visibility_reason.h", 169 "browser/cookie_manager_impl.cc", 170 "browser/cookie_manager_impl.h", 171 "browser/cookie_settings_factory.cc", 172 "browser/cookie_settings_factory.h", 173 "browser/default_search_engine.cc", 174 "browser/default_search_engine.h", 175 "browser/download_impl.cc", 176 "browser/download_impl.h", 177 "browser/download_manager_delegate_impl.cc", 178 "browser/download_manager_delegate_impl.h", 179 "browser/favicon/favicon_backend_wrapper.cc", 180 "browser/favicon/favicon_backend_wrapper.h", 181 "browser/favicon/favicon_fetcher_impl.cc", 182 "browser/favicon/favicon_fetcher_impl.h", 183 "browser/favicon/favicon_service_impl.cc", 184 "browser/favicon/favicon_service_impl.h", 185 "browser/favicon/favicon_service_impl_factory.cc", 186 "browser/favicon/favicon_service_impl_factory.h", 187 "browser/favicon/favicon_service_impl_observer.h", 188 "browser/favicon/favicon_tab_helper.cc", 189 "browser/favicon/favicon_tab_helper.h", 190 "browser/feature_list_creator.cc", 191 "browser/feature_list_creator.h", 192 "browser/file_select_helper.cc", 193 "browser/file_select_helper.h", 194 "browser/host_content_settings_map_factory.cc", 195 "browser/host_content_settings_map_factory.h", 196 "browser/i18n_util.cc", 197 "browser/i18n_util.h", 198 "browser/insecure_form_controller_client.cc", 199 "browser/insecure_form_controller_client.h", 200 "browser/js_communication/web_message_host_factory_wrapper.cc", 201 "browser/js_communication/web_message_host_factory_wrapper.h", 202 "browser/navigation_controller_impl.cc", 203 "browser/navigation_controller_impl.h", 204 "browser/navigation_entry_data.cc", 205 "browser/navigation_entry_data.h", 206 "browser/navigation_error_navigation_throttle.cc", 207 "browser/navigation_error_navigation_throttle.h", 208 "browser/navigation_impl.cc", 209 "browser/navigation_impl.h", 210 "browser/navigation_ui_data_impl.cc", 211 "browser/navigation_ui_data_impl.h", 212 "browser/no_state_prefetch/prerender_controller_impl.cc", 213 "browser/no_state_prefetch/prerender_controller_impl.h", 214 "browser/no_state_prefetch/prerender_link_manager_factory.cc", 215 "browser/no_state_prefetch/prerender_link_manager_factory.h", 216 "browser/no_state_prefetch/prerender_manager_delegate_impl.cc", 217 "browser/no_state_prefetch/prerender_manager_delegate_impl.h", 218 "browser/no_state_prefetch/prerender_manager_factory.cc", 219 "browser/no_state_prefetch/prerender_manager_factory.h", 220 "browser/no_state_prefetch/prerender_processor_impl_delegate_impl.cc", 221 "browser/no_state_prefetch/prerender_processor_impl_delegate_impl.h", 222 "browser/no_state_prefetch/prerender_tab_helper.cc", 223 "browser/no_state_prefetch/prerender_tab_helper.h", 224 "browser/no_state_prefetch/prerender_utils.cc", 225 "browser/no_state_prefetch/prerender_utils.h", 226 "browser/page_load_metrics_initialize.cc", 227 "browser/page_load_metrics_initialize.h", 228 "browser/page_load_metrics_observer_impl.cc", 229 "browser/page_load_metrics_observer_impl.h", 230 "browser/page_specific_content_settings_delegate.cc", 231 "browser/page_specific_content_settings_delegate.h", 232 "browser/password_manager_driver_factory.cc", 233 "browser/password_manager_driver_factory.h", 234 "browser/permissions/geolocation_permission_context_delegate.cc", 235 "browser/permissions/geolocation_permission_context_delegate.h", 236 "browser/permissions/permission_decision_auto_blocker_factory.cc", 237 "browser/permissions/permission_decision_auto_blocker_factory.h", 238 "browser/permissions/permission_manager_factory.cc", 239 "browser/permissions/permission_manager_factory.h", 240 "browser/permissions/weblayer_permissions_client.cc", 241 "browser/permissions/weblayer_permissions_client.h", 242 "browser/persistence/browser_persistence_common.cc", 243 "browser/persistence/browser_persistence_common.h", 244 "browser/persistence/browser_persister.cc", 245 "browser/persistence/browser_persister.h", 246 "browser/persistence/browser_persister_file_utils.cc", 247 "browser/persistence/browser_persister_file_utils.h", 248 "browser/persistence/minimal_browser_persister.cc", 249 "browser/persistence/minimal_browser_persister.h", 250 "browser/popup_navigation_delegate_impl.cc", 251 "browser/popup_navigation_delegate_impl.h", 252 "browser/profile_disk_operations.cc", 253 "browser/profile_disk_operations.h", 254 "browser/profile_impl.cc", 255 "browser/profile_impl.h", 256 "browser/signin_url_loader_throttle.cc", 257 "browser/signin_url_loader_throttle.h", 258 "browser/ssl_error_controller_client.cc", 259 "browser/ssl_error_controller_client.h", 260 "browser/stateful_ssl_host_state_delegate_factory.cc", 261 "browser/stateful_ssl_host_state_delegate_factory.h", 262 "browser/system_network_context_manager.cc", 263 "browser/system_network_context_manager.h", 264 "browser/tab_impl.cc", 265 "browser/tab_impl.h", 266 "browser/translate_accept_languages_factory.cc", 267 "browser/translate_accept_languages_factory.h", 268 "browser/translate_client_impl.cc", 269 "browser/translate_client_impl.h", 270 "browser/translate_ranker_factory.cc", 271 "browser/translate_ranker_factory.h", 272 "browser/url_bar/autocomplete_scheme_classifier_impl.cc", 273 "browser/url_bar/autocomplete_scheme_classifier_impl.h", 274 "browser/url_bar/page_info_delegate_impl.cc", 275 "browser/url_bar/page_info_delegate_impl.h", 276 "browser/url_bar/url_bar_controller_impl.cc", 277 "browser/url_bar/url_bar_controller_impl.h", 278 "browser/user_agent.cc", 279 "browser/user_agent.h", 280 "browser/web_contents_view_delegate_impl.cc", 281 "browser/web_contents_view_delegate_impl.h", 282 "browser/weblayer_browser_interface_binders.cc", 283 "browser/weblayer_browser_interface_binders.h", 284 "browser/weblayer_features.cc", 285 "browser/weblayer_features.h", 286 "browser/weblayer_field_trials.cc", 287 "browser/weblayer_field_trials.h", 288 "browser/weblayer_security_blocking_page_factory.cc", 289 "browser/weblayer_security_blocking_page_factory.h", 290 "browser/weblayer_speech_recognition_manager_delegate.cc", 291 "browser/weblayer_speech_recognition_manager_delegate.h", 292 "browser/weblayer_variations_service_client.cc", 293 "browser/weblayer_variations_service_client.h", 294 "browser/webui/web_ui_controller_factory.cc", 295 "browser/webui/web_ui_controller_factory.h", 296 "browser/webui/weblayer_internals_ui.cc", 297 "browser/webui/weblayer_internals_ui.h", 298 "common/content_client_impl.cc", 299 "common/content_client_impl.h", 300 "common/features.cc", 301 "common/features.h", 302 "common/isolated_world_ids.h", 303 "common/weblayer_paths.cc", 304 "common/weblayer_paths.h", 305 "public/browser.cc", 306 "public/browser.h", 307 "public/browser_observer.h", 308 "public/browser_restore_observer.h", 309 "public/common/switches.cc", 310 "public/common/switches.h", 311 "public/cookie_manager.h", 312 "public/download.h", 313 "public/download_delegate.h", 314 "public/error_page.h", 315 "public/error_page_delegate.h", 316 "public/favicon_fetcher.h", 317 "public/favicon_fetcher_delegate.h", 318 "public/fullscreen_delegate.h", 319 "public/google_accounts_delegate.h", 320 "public/js_communication/web_message.cc", 321 "public/js_communication/web_message.h", 322 "public/js_communication/web_message_host.h", 323 "public/js_communication/web_message_host_factory.h", 324 "public/js_communication/web_message_reply_proxy.h", 325 "public/main.h", 326 "public/navigation.h", 327 "public/navigation_controller.h", 328 "public/navigation_observer.h", 329 "public/new_tab_delegate.h", 330 "public/prerender_controller.h", 331 "public/profile.h", 332 "public/tab.h", 333 "public/tab_observer.h", 334 "public/url_bar_controller.h", 335 "renderer/content_renderer_client_impl.cc", 336 "renderer/content_renderer_client_impl.h", 337 "renderer/error_page_helper.cc", 338 "renderer/error_page_helper.h", 339 "renderer/url_loader_throttle_provider.cc", 340 "renderer/url_loader_throttle_provider.h", 341 "renderer/weblayer_render_frame_observer.cc", 342 "renderer/weblayer_render_frame_observer.h", 343 "renderer/weblayer_render_thread_observer.cc", 344 "renderer/weblayer_render_thread_observer.h", 345 "utility/content_utility_client_impl.cc", 346 "utility/content_utility_client_impl.h", 347 ] 348 349 configs += [ 350 "//build/config:precompiled_headers", 351 352 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 353 "//build/config/compiler:no_size_t_to_int_warning", 354 ] 355 356 public_deps = [ ":android_descriptors" ] 357 deps = [ 358 ":common_mojom", 359 "//base", 360 "//base:base_static", 361 "//base/third_party/dynamic_annotations", 362 "//cc", 363 "//components/autofill/content/browser", 364 "//components/autofill/content/renderer", 365 "//components/autofill/core/browser", 366 "//components/autofill/core/common", 367 "//components/background_sync", 368 "//components/base32", 369 "//components/blocked_content", 370 "//components/browsing_data/content", 371 "//components/captive_portal/core:buildflags", 372 "//components/cdm/renderer", 373 "//components/client_hints/browser", 374 "//components/content_settings/browser", 375 "//components/content_settings/common:mojom", 376 "//components/content_settings/common:mojom", 377 "//components/content_settings/core/browser", 378 "//components/content_settings/renderer", 379 "//components/crash/content/browser", 380 "//components/crash/core/app", 381 "//components/crash/core/common", 382 "//components/download/content/factory", 383 "//components/download/content/public", 384 "//components/embedder_support", 385 "//components/embedder_support/origin_trials", 386 "//components/error_page/common", 387 "//components/error_page/content/browser", 388 "//components/favicon/content", 389 "//components/favicon/core", 390 "//components/favicon/core:database", 391 "//components/favicon_base", 392 "//components/find_in_page", 393 "//components/infobars/core", 394 "//components/js_injection/browser", 395 "//components/js_injection/renderer", 396 "//components/keyed_service/content", 397 "//components/language/core/browser", 398 "//components/metrics", 399 "//components/metrics:content", 400 "//components/network_time", 401 "//components/no_state_prefetch/browser", 402 "//components/no_state_prefetch/common", 403 "//components/no_state_prefetch/common:mojo_bindings", 404 "//components/no_state_prefetch/renderer", 405 "//components/omnibox/browser:location_bar", 406 "//components/page_info", 407 "//components/page_load_metrics/browser", 408 "//components/page_load_metrics/renderer", 409 "//components/password_manager/content/browser", 410 "//components/permissions", 411 "//components/policy/core/browser", 412 "//components/pref_registry:pref_registry", 413 "//components/prefs", 414 "//components/safe_browsing/content/common:interfaces", 415 "//components/safe_browsing/content/renderer:throttles", 416 "//components/safe_browsing/core:features", 417 "//components/security_interstitials/content:security_interstitial_page", 418 "//components/security_interstitials/content/renderer:security_interstitial_page_controller", 419 "//components/security_interstitials/core", 420 "//components/security_state/content", 421 "//components/services/storage/public/mojom", 422 "//components/sessions", 423 "//components/signin/core/browser", 424 "//components/site_isolation", 425 "//components/spellcheck:buildflags", 426 "//components/ssl_errors", 427 "//components/startup_metric_utils/browser", 428 "//components/strings", 429 "//components/subresource_filter/content/browser", 430 "//components/subresource_filter/core/browser", 431 "//components/translate/content/browser", 432 "//components/translate/content/renderer", 433 "//components/translate/core/browser", 434 "//components/translate/core/common", 435 "//components/ukm", 436 "//components/ukm/content", 437 "//components/unified_consent:unified_consent", 438 "//components/user_prefs", 439 "//components/variations", 440 "//components/variations:variations_mojom", 441 "//components/variations/net", 442 "//components/variations/proto", 443 "//components/variations/service", 444 "//components/version_info", 445 "//components/viz/common", 446 "//components/web_cache/browser", 447 "//components/webrtc", 448 "//content:content_resources", 449 "//content:dev_ui_content_resources", 450 "//content/app/resources", 451 "//content/public/app", 452 "//content/public/browser", 453 "//content/public/child", 454 "//content/public/common", 455 "//content/public/common:service_names", 456 "//content/public/renderer", 457 "//content/public/utility", 458 "//gpu/config", 459 "//net", 460 "//net:net_resources", 461 "//sandbox", 462 "//services/metrics/public/cpp:metrics_cpp", 463 "//services/network/public/cpp", 464 "//services/network/public/mojom", 465 "//services/preferences/tracked", 466 "//skia", 467 "//third_party/blink/public:blink_headers", 468 "//third_party/blink/public/common", 469 "//third_party/blink/public/strings", 470 "//third_party/icu", 471 "//ui/base", 472 "//ui/base/clipboard", 473 "//ui/base/ime/init", 474 "//ui/display", 475 "//ui/events:events_base", 476 "//ui/gfx", 477 "//ui/gfx/geometry", 478 "//ui/gfx/ipc", 479 "//ui/gfx/ipc/geometry", 480 "//ui/gfx/ipc/skia", 481 "//ui/gl", 482 "//ui/platform_window", 483 "//ui/shell_dialogs", 484 "//ui/webui", 485 "//url", 486 "//v8", 487 "//weblayer:resources", 488 "//weblayer/browser/webui:mojo_bindings", 489 ] 490 491 if (enable_captive_portal_detection) { 492 sources += [ 493 "browser/captive_portal_service_factory.cc", 494 "browser/captive_portal_service_factory.h", 495 ] 496 deps += [ "//components/captive_portal/content" ] 497 } 498 499 if (use_browser_spellchecker) { 500 deps += [ 501 "//components/spellcheck/browser", 502 "//components/spellcheck/renderer", 503 ] 504 } 505 506 if (is_android) { 507 sources += [ 508 "app/jni_onload.cc", 509 "app/jni_onload.h", 510 "browser/android/exception_filter.cc", 511 "browser/android/exception_filter.h", 512 "browser/android/metrics/uma_utils.cc", 513 "browser/android/metrics/uma_utils.h", 514 "browser/android/metrics/weblayer_metrics_service_client.cc", 515 "browser/android/metrics/weblayer_metrics_service_client.h", 516 "browser/android/permission_request_utils.cc", 517 "browser/android/permission_request_utils.h", 518 "browser/android/resource_mapper.cc", 519 "browser/android/resource_mapper.h", 520 "browser/browser_controls_container_view.cc", 521 "browser/browser_controls_container_view.h", 522 "browser/browser_controls_navigation_state_handler.cc", 523 "browser/browser_controls_navigation_state_handler.h", 524 "browser/browser_controls_navigation_state_handler_delegate.h", 525 "browser/browser_list_proxy.cc", 526 "browser/browser_list_proxy.h", 527 "browser/content_view_render_view.cc", 528 "browser/content_view_render_view.h", 529 "browser/devtools_manager_delegate_android.cc", 530 "browser/devtools_manager_delegate_android.h", 531 "browser/devtools_server_android.cc", 532 "browser/devtools_server_android.h", 533 "browser/download_callback_proxy.cc", 534 "browser/download_callback_proxy.h", 535 "browser/error_page_callback_proxy.cc", 536 "browser/error_page_callback_proxy.h", 537 "browser/favicon/favicon_callback_proxy.cc", 538 "browser/favicon/favicon_callback_proxy.h", 539 "browser/fullscreen_callback_proxy.cc", 540 "browser/fullscreen_callback_proxy.h", 541 "browser/google_accounts_callback_proxy.cc", 542 "browser/google_accounts_callback_proxy.h", 543 "browser/http_auth_handler_impl.cc", 544 "browser/http_auth_handler_impl.h", 545 "browser/infobar_container_android.cc", 546 "browser/infobar_container_android.h", 547 "browser/infobar_service.cc", 548 "browser/infobar_service.h", 549 "browser/javascript_tab_modal_dialog_manager_delegate_android.cc", 550 "browser/javascript_tab_modal_dialog_manager_delegate_android.h", 551 "browser/js_communication/web_message_host_factory_proxy.cc", 552 "browser/js_communication/web_message_host_factory_proxy.h", 553 "browser/js_communication/web_message_reply_proxy_impl.cc", 554 "browser/js_communication/web_message_reply_proxy_impl.h", 555 "browser/media/local_presentation_manager_factory.cc", 556 "browser/media/local_presentation_manager_factory.h", 557 "browser/media/media_router_factory.cc", 558 "browser/media/media_router_factory.h", 559 "browser/new_tab_callback_proxy.cc", 560 "browser/new_tab_callback_proxy.h", 561 "browser/proxying_url_loader_factory_impl.cc", 562 "browser/proxying_url_loader_factory_impl.h", 563 "browser/safe_browsing/real_time_url_lookup_service_factory.cc", 564 "browser/safe_browsing/real_time_url_lookup_service_factory.h", 565 "browser/safe_browsing/safe_browsing_blocking_page.cc", 566 "browser/safe_browsing/safe_browsing_blocking_page.h", 567 "browser/safe_browsing/safe_browsing_navigation_throttle.cc", 568 "browser/safe_browsing/safe_browsing_navigation_throttle.h", 569 "browser/safe_browsing/safe_browsing_service.cc", 570 "browser/safe_browsing/safe_browsing_service.h", 571 "browser/safe_browsing/safe_browsing_subresource_helper.cc", 572 "browser/safe_browsing/safe_browsing_subresource_helper.h", 573 "browser/safe_browsing/safe_browsing_ui_manager.cc", 574 "browser/safe_browsing/safe_browsing_ui_manager.h", 575 "browser/safe_browsing/url_checker_delegate_impl.cc", 576 "browser/safe_browsing/url_checker_delegate_impl.h", 577 "browser/tab_callback_proxy.cc", 578 "browser/tab_callback_proxy.h", 579 "browser/translate_compact_infobar.cc", 580 "browser/translate_compact_infobar.h", 581 "browser/tts_environment_android_impl.cc", 582 "browser/tts_environment_android_impl.h", 583 "browser/url_bar/page_info_client_impl.cc", 584 "browser/url_bar/page_info_client_impl.h", 585 "browser/url_bar/trusted_cdn_observer.cc", 586 "browser/url_bar/trusted_cdn_observer.h", 587 "browser/verdict_cache_manager_factory.cc", 588 "browser/verdict_cache_manager_factory.h", 589 "browser/weblayer_factory_impl_android.cc", 590 "browser/weblayer_factory_impl_android.h", 591 "browser/weblayer_impl_android.cc", 592 "browser/weblayer_impl_android.h", 593 "browser/webrtc/media_stream_manager.cc", 594 "browser/webrtc/media_stream_manager.h", 595 "common/crash_reporter/crash_keys.cc", 596 "common/crash_reporter/crash_keys.h", 597 "common/crash_reporter/crash_reporter_client.cc", 598 "common/crash_reporter/crash_reporter_client.h", 599 ] 600 deps += [ 601 "//android_webview:generate_aw_resources", 602 "//android_webview:generate_aw_strings", 603 "//components/android_system_error_page", 604 "//components/autofill/android/provider", 605 "//components/browser_ui/client_certificate/android", 606 "//components/browser_ui/contacts_picker/android", 607 "//components/browser_ui/photo_picker/android", 608 "//components/browser_ui/site_settings/android", 609 "//components/browser_ui/sms/android", 610 "//components/cdm/browser", 611 "//components/content_settings/android", 612 "//components/crash/android:crash_android", 613 "//components/crash/android:crashpad_main", 614 "//components/embedder_support/android:browser_context", 615 "//components/embedder_support/android:context_menu", 616 "//components/embedder_support/android:util", 617 "//components/embedder_support/android:web_contents_delegate", 618 "//components/embedder_support/android/metrics", 619 "//components/external_intents/android", 620 "//components/favicon/android", 621 "//components/infobars/android", 622 "//components/infobars/content", 623 "//components/javascript_dialogs", 624 "//components/location/android:settings", 625 "//components/media_router/browser", 626 "//components/metrics", 627 "//components/minidump_uploader", 628 "//components/navigation_interception", 629 "//components/page_info/android", 630 "//components/payments/content/android", 631 "//components/permissions/android:native", 632 "//components/resources:android_resources", 633 "//components/safe_browsing/android:remote_database_manager", 634 "//components/safe_browsing/android:safe_browsing_api_handler", 635 "//components/safe_browsing/content", 636 "//components/safe_browsing/content/browser", 637 "//components/safe_browsing/core:ping_manager", 638 "//components/safe_browsing/core:verdict_cache_manager", 639 "//components/safe_browsing/core/browser", 640 "//components/safe_browsing/core/browser:network_context", 641 "//components/safe_browsing/core/common", 642 "//components/safe_browsing/core/db:database_manager", 643 "//components/safe_browsing/core/realtime:policy_engine", 644 "//components/safe_browsing/core/realtime:url_lookup_service", 645 "//components/security_interstitials/content:security_interstitial_page", 646 "//components/security_interstitials/core:unsafe_resource", 647 "//components/security_interstitials/core/", 648 "//components/security_state/content/android", 649 "//components/translate/content/android", 650 "//components/version_info/android:channel_getter", 651 "//services/resource_coordinator/public/cpp/memory_instrumentation:browser", 652 "//ui/android", 653 "//weblayer/browser/java:jni", 654 ] 655 } else { 656 deps += [ "//ui/views/controls/webview" ] 657 } 658 659 if (enable_vulkan) { 660 deps += [ "//gpu/vulkan/init" ] 661 } 662 if (mojo_media_host == "browser") { 663 deps += [ "//media/mojo/services" ] 664 } 665 666 if (is_win) { 667 deps += [ "//content:sandbox_helper_win" ] 668 if (win_console_app) { 669 defines = [ "WIN_CONSOLE_APP" ] 670 } 671 } 672 673 if (is_linux || is_chromeos) { 674 deps += [ 675 "//build/config/freetype", 676 "//third_party/fontconfig", 677 ] 678 } 679 680 if (is_bsd) { 681 deps -= [ 682 "//components/crash/content/browser", 683 "//components/crash/core/app", 684 "//components/crash/core/common", 685 ] 686 } 687 688 if (toolkit_views) { 689 deps += [ "//ui/views" ] 690 } 691 692 if (use_aura) { 693 deps += [ 694 "//ui/aura", 695 "//ui/events", 696 "//ui/strings", 697 "//ui/wm", 698 ] 699 } 700} 701 702if (is_android) { 703 source_set("weblayer_android_test_jni_impl") { 704 testonly = true 705 sources = [ 706 "browser/test/test_infobar.cc", 707 "browser/test/test_infobar.h", 708 "browser/test/test_weblayer_impl.cc", 709 ] 710 deps = [ 711 ":weblayer_lib_base", 712 "//base", 713 "//components/infobars/android", 714 "//components/infobars/core", 715 "//components/translate/core/browser", 716 "//content/public/browser", 717 "//content/public/test/android:content_native_test_support", 718 "//content/test:test_support", 719 "//testing/gtest", 720 "//weblayer/browser/java:test_jni", 721 ] 722 } 723 724 # Lib used in standalone WebView which allows manual JNI registration. 725 static_library("weblayer_lib_webview") { 726 public_deps = [ ":weblayer_lib_base" ] 727 deps = [ 728 "//base", 729 "//weblayer/browser/java:jni", 730 "//weblayer/browser/java:weblayer_jni_registration", 731 ] 732 sources = [ 733 "$target_gen_dir/browser/java/weblayer_jni_registration.h", 734 "browser/web_view_compatibility_helper_impl.cc", 735 "browser/web_view_compatibility_helper_impl.h", 736 ] 737 defines = [ "WEBLAYER_MANUAL_JNI_REGISTRATION" ] 738 739 # Explicit dependency required for JNI registration to be able to 740 # find the native side functions. 741 if (is_component_build) { 742 deps += [ 743 "//components/browser_ui/photo_picker/android", 744 "//device/gamepad", 745 "//media/midi", 746 "//ui/events/devices", 747 ] 748 } 749 } 750 751 static_library("weblayer_lib_webview_test") { 752 testonly = true 753 public_deps = [ ":weblayer_lib_base" ] 754 deps = [ 755 ":weblayer_android_test_jni_impl", 756 "//base", 757 "//weblayer/browser/java:jni", 758 "//weblayer/browser/java:weblayer_jni_registration", 759 ] 760 sources = [ 761 "$target_gen_dir/browser/java/weblayer_jni_registration.h", 762 "browser/web_view_compatibility_helper_impl.cc", 763 "browser/web_view_compatibility_helper_impl.h", 764 ] 765 defines = [ "WEBLAYER_MANUAL_JNI_REGISTRATION" ] 766 767 # Explicit dependency required for JNI registration to be able to 768 # find the native side functions. 769 if (is_component_build) { 770 deps += [ 771 "//device/gamepad", 772 "//media/midi", 773 "//ui/events/devices", 774 ] 775 } 776 } 777 778 # Lib used in Monochrome which does not support manual JNI registration. 779 # Separate from the standalone WebView version to reduce APK size. 780 static_library("weblayer_lib") { 781 public_deps = [ ":weblayer_lib_base" ] 782 deps = [ "//weblayer/browser/java:jni" ] 783 sources = [ 784 "browser/web_view_compatibility_helper_impl.cc", 785 "browser/web_view_compatibility_helper_impl.h", 786 ] 787 } 788 789 shared_library("libweblayer_test") { 790 testonly = true 791 sources = [ 792 "$target_gen_dir/browser/java/test_weblayer_jni_registration.h", 793 "app/entry_point.cc", 794 ] 795 deps = [ 796 ":weblayer_lib_webview_test", 797 "//base", 798 "//content/public/app", 799 "//weblayer/browser/java:test_weblayer_jni_registration", 800 ] 801 configs -= [ "//build/config/android:hide_all_but_jni_onload" ] 802 configs += [ "//build/config/android:hide_all_but_jni" ] 803 } 804} else { 805 source_set("weblayer_lib") { 806 public_deps = [ ":weblayer_lib_base" ] 807 } 808} 809 810grit("resources") { 811 source = "weblayer_resources.grd" 812 use_brotli = true 813 814 outputs = [ 815 "grit/weblayer_resources.h", 816 "weblayer_resources.pak", 817 ] 818 deps = [ "//weblayer/browser/webui:mojo_bindings_js" ] 819} 820# TODO(jam): move weblayer_shell_resources_grit and copy_shell_resources here in 821# a way that's shareable? 822