| # Copyright 2019 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/features.gni") |
| import("//build/config/locales.gni") |
| import("//build/config/sanitizers/sanitizers.gni") |
| import("//build/config/ui.gni") |
| import("//build/config/win/console_app.gni") |
| import("//build/config/win/manifest.gni") |
| import("//gpu/vulkan/features.gni") |
| import("//media/media_options.gni") |
| import("//mojo/public/tools/bindings/mojom.gni") |
| import("//tools/grit/grit_rule.gni") |
| import("//tools/grit/repack.gni") |
| import("//tools/v8_context_snapshot/v8_context_snapshot.gni") |
| if (is_android) { |
| import("//build/config/android/config.gni") |
| } else if (is_mac) { |
| import("//build/config/mac/rules.gni") |
| import("//build/mac/tweak_info_plist.gni") |
| import("//content/public/app/mac_helpers.gni") |
| import("//third_party/icu/config.gni") |
| import("//ui/gl/features.gni") |
| import("//v8/gni/v8.gni") |
| } |
| |
| source_set("android_descriptors") { |
| sources = [ |
| "browser/android_descriptors.h", |
| ] |
| public_deps = [ |
| "//content/public/common:content_descriptors", |
| ] |
| } |
| |
| if (is_android) { |
| grit("generate_components_strings") { |
| source = "../components/components_strings.grd" |
| |
| # components_strings contains strings from all components. WebLayer |
| # will never display most of them, so we try to limit the included |
| # strings. |
| whitelist = rebase_path("grit_strings_whitelist.txt", root_build_dir) |
| inputs = [ |
| "//weblayer/grit_strings_whitelist.txt", |
| ] |
| grit_flags = [ |
| "-w", |
| whitelist, |
| ] |
| outputs = [ |
| "grit/components_strings.h", |
| "java/res/values-am/components_strings.xml", |
| "java/res/values-ar/components_strings.xml", |
| "java/res/values-bg/components_strings.xml", |
| "java/res/values-bn/components_strings.xml", |
| "java/res/values-ca/components_strings.xml", |
| "java/res/values-cs/components_strings.xml", |
| "java/res/values-da/components_strings.xml", |
| "java/res/values-de/components_strings.xml", |
| "java/res/values-el/components_strings.xml", |
| "java/res/values-en-rGB/components_strings.xml", |
| "java/res/values-es/components_strings.xml", |
| "java/res/values-es-rUS/components_strings.xml", |
| "java/res/values-et/components_strings.xml", |
| "java/res/values-fa/components_strings.xml", |
| "java/res/values-fi/components_strings.xml", |
| "java/res/values-fr/components_strings.xml", |
| "java/res/values-gu/components_strings.xml", |
| "java/res/values-hi/components_strings.xml", |
| "java/res/values-hr/components_strings.xml", |
| "java/res/values-hu/components_strings.xml", |
| "java/res/values-in/components_strings.xml", |
| "java/res/values-it/components_strings.xml", |
| "java/res/values-iw/components_strings.xml", |
| "java/res/values-ja/components_strings.xml", |
| "java/res/values-kn/components_strings.xml", |
| "java/res/values-ko/components_strings.xml", |
| "java/res/values-lt/components_strings.xml", |
| "java/res/values-lv/components_strings.xml", |
| "java/res/values-ml/components_strings.xml", |
| "java/res/values-mr/components_strings.xml", |
| "java/res/values-ms/components_strings.xml", |
| "java/res/values-nb/components_strings.xml", |
| "java/res/values-nl/components_strings.xml", |
| "java/res/values-pl/components_strings.xml", |
| "java/res/values-pt-rBR/components_strings.xml", |
| "java/res/values-pt-rPT/components_strings.xml", |
| "java/res/values-ro/components_strings.xml", |
| "java/res/values-ru/components_strings.xml", |
| "java/res/values-sk/components_strings.xml", |
| "java/res/values-sl/components_strings.xml", |
| "java/res/values-sr/components_strings.xml", |
| "java/res/values-sv/components_strings.xml", |
| "java/res/values-sw/components_strings.xml", |
| "java/res/values-ta/components_strings.xml", |
| "java/res/values-te/components_strings.xml", |
| "java/res/values-th/components_strings.xml", |
| "java/res/values-tl/components_strings.xml", |
| "java/res/values-tr/components_strings.xml", |
| "java/res/values-uk/components_strings.xml", |
| "java/res/values-vi/components_strings.xml", |
| "java/res/values-zh-rCN/components_strings.xml", |
| "java/res/values-zh-rTW/components_strings.xml", |
| "java/res/values/components_strings.xml", |
| ] |
| foreach(_locale, locales_with_fake_bidi) { |
| outputs += [ "components_strings_${_locale}.pak" ] |
| } |
| } |
| |
| repack("weblayer_locales") { |
| sources = [ |
| "${root_gen_dir}/weblayer/components_strings_en-US.pak", |
| ] |
| deps = [ |
| ":generate_components_strings", |
| ] |
| output = "$root_out_dir/weblayer/locales/en-US.pak" |
| } |
| |
| android_assets("locale_pak_assets") { |
| disable_compression = true |
| renaming_sources = [ "$root_out_dir/weblayer/locales/en-US.pak" ] |
| renaming_destinations = [ "stored-locales/weblayer/en-US.pak" ] |
| treat_as_locale_paks = true |
| deps = [ |
| ":weblayer_locales", |
| ] |
| } |
| } |
| |
| jumbo_static_library("weblayer_lib") { |
| sources = [ |
| "app/content_main_delegate_impl.cc", |
| "app/content_main_delegate_impl.h", |
| "app/main.cc", |
| "browser/browser_main_parts_impl.cc", |
| "browser/browser_main_parts_impl.h", |
| "browser/content_browser_client_impl.cc", |
| "browser/content_browser_client_impl.h", |
| "browser/file_select_helper.cc", |
| "browser/file_select_helper.h", |
| "browser/i18n_util.cc", |
| "browser/i18n_util.h", |
| "browser/isolated_world_ids.h", |
| "browser/navigation_controller_impl.cc", |
| "browser/navigation_controller_impl.h", |
| "browser/navigation_impl.cc", |
| "browser/navigation_impl.h", |
| "browser/profile_impl.cc", |
| "browser/profile_impl.h", |
| "browser/ssl_error_controller_client.cc", |
| "browser/ssl_error_controller_client.h", |
| "browser/ssl_error_handler.cc", |
| "browser/ssl_error_handler.h", |
| "browser/ssl_host_state_delegate_impl.cc", |
| "browser/ssl_host_state_delegate_impl.h", |
| "browser/tab_impl.cc", |
| "browser/tab_impl.h", |
| "browser/weblayer_content_browser_overlay_manifest.cc", |
| "browser/weblayer_content_browser_overlay_manifest.h", |
| "browser/webui/web_ui_controller_factory.cc", |
| "browser/webui/web_ui_controller_factory.h", |
| "browser/webui/weblayer_internals_ui.cc", |
| "browser/webui/weblayer_internals_ui.h", |
| "common/content_client_impl.cc", |
| "common/content_client_impl.h", |
| "common/features.cc", |
| "common/features.h", |
| "common/weblayer_paths.cc", |
| "common/weblayer_paths.h", |
| "public/common/switches.cc", |
| "public/common/switches.h", |
| "public/download_delegate.h", |
| "public/error_page_delegate.h", |
| "public/fullscreen_delegate.h", |
| "public/main.h", |
| "public/navigation.h", |
| "public/navigation_controller.h", |
| "public/navigation_observer.h", |
| "public/new_tab_delegate.h", |
| "public/profile.h", |
| "public/tab.h", |
| "public/tab_observer.h", |
| "renderer/content_renderer_client_impl.cc", |
| "renderer/content_renderer_client_impl.h", |
| "renderer/ssl_error_helper.cc", |
| "renderer/ssl_error_helper.h", |
| "utility/content_utility_client_impl.cc", |
| "utility/content_utility_client_impl.h", |
| ] |
| |
| if (is_android) { |
| # TODO(timvolodine): move this to safe_browsing/ |
| sources += [ |
| "browser/android/metrics/uma_utils.cc", |
| "browser/android/metrics/uma_utils.h", |
| "browser/devtools_manager_delegate_android.cc", |
| "browser/devtools_manager_delegate_android.h", |
| "browser/devtools_server_android.cc", |
| "browser/devtools_server_android.h", |
| "browser/safe_browsing/safe_browsing_service.cc", |
| "browser/safe_browsing/safe_browsing_service.h", |
| "browser/safe_browsing/safe_browsing_ui_manager.cc", |
| "browser/safe_browsing/safe_browsing_ui_manager.h", |
| "browser/safe_browsing/url_checker_delegate_impl.cc", |
| "browser/safe_browsing/url_checker_delegate_impl.h", |
| "browser/weblayer_impl_android.cc", |
| "renderer/url_loader_throttle_provider.cc", |
| "renderer/url_loader_throttle_provider.h", |
| ] |
| } |
| |
| configs += [ |
| "//build/config:precompiled_headers", |
| |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| "//build/config/compiler:no_size_t_to_int_warning", |
| ] |
| |
| public_deps = [ |
| ":android_descriptors", |
| ] |
| deps = [ |
| "//base", |
| "//base:base_static", |
| "//base/third_party/dynamic_annotations", |
| "//cc", |
| "//components/crash/content/app", |
| "//components/crash/content/browser", |
| "//components/prefs", |
| "//components/security_interstitials/content:security_interstitial_page", |
| "//components/security_interstitials/content/renderer:security_interstitial_page_controller", |
| "//components/security_interstitials/core", |
| "//components/startup_metric_utils/browser:lib", |
| "//components/user_prefs", |
| "//components/version_info", |
| "//components/web_cache/browser", |
| "//content:resources", |
| "//content/app/resources", |
| "//content/public/app:both", |
| "//content/public/browser", |
| "//content/public/child", |
| "//content/public/common", |
| "//content/public/common:service_names", |
| "//content/public/renderer", |
| "//content/public/utility", |
| "//net", |
| "//net:net_resources", |
| "//sandbox", |
| "//services/network/public/mojom", |
| "//services/service_manager/embedder:embedder_result_codes", |
| "//skia", |
| "//third_party/blink/public/common", |
| "//third_party/blink/public/strings", |
| "//third_party/icu", |
| "//ui/base", |
| "//ui/base/clipboard", |
| "//ui/base/ime/init", |
| "//ui/display", |
| "//ui/events:events_base", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| "//ui/gfx/ipc", |
| "//ui/gfx/ipc/geometry", |
| "//ui/gfx/ipc/skia", |
| "//ui/gl", |
| "//ui/platform_window", |
| "//ui/shell_dialogs", |
| "//ui/webui", |
| "//url", |
| "//v8", |
| "//weblayer:resources", |
| "//weblayer/browser/webui:mojo_bindings", |
| ] |
| |
| if (is_android) { |
| sources += [ |
| "common/crash_reporter/crash_keys.cc", |
| "common/crash_reporter/crash_keys.h", |
| "common/crash_reporter/crash_reporter_client.cc", |
| "common/crash_reporter/crash_reporter_client.h", |
| ] |
| deps += [ |
| "//android_webview:generate_aw_resources", |
| "//android_webview:generate_aw_strings", |
| "//components/crash/android:crashpad_main", |
| "//components/metrics", |
| "//components/minidump_uploader", |
| "//components/safe_browsing", |
| "//components/safe_browsing/android:remote_database_manager", |
| "//components/safe_browsing/android:safe_browsing_api_handler", |
| "//components/safe_browsing/browser", |
| "//components/safe_browsing/browser:network_context", |
| "//components/safe_browsing/common", |
| "//components/safe_browsing/db:database_manager", |
| "//components/safe_browsing/renderer:throttles", |
| "//components/version_info/android:channel_getter", |
| ] |
| } |
| |
| if (enable_vulkan) { |
| deps += [ "//gpu/vulkan/init" ] |
| } |
| if (mojo_media_host == "browser") { |
| deps += [ |
| "//media/mojo/mojom:constants", |
| "//media/mojo/services", |
| ] |
| } |
| |
| if (is_win) { |
| deps += [ "//content:sandbox_helper_win" ] |
| if (win_console_app) { |
| defines = [ "WIN_CONSOLE_APP" ] |
| } |
| } |
| |
| if (is_linux) { |
| deps += [ |
| "//build/config/freetype", |
| "//third_party/fontconfig", |
| ] |
| } |
| |
| if (is_android) { |
| deps += [ |
| "//components/embedder_support/android:web_contents_delegate", |
| "//components/version_info", |
| "//ui/android", |
| "//weblayer/browser/java:jni", |
| ] |
| sources += [ |
| "app/jni_onload.cc", |
| "app/jni_onload.h", |
| "browser/content_view_render_view.cc", |
| "browser/content_view_render_view.h", |
| "browser/download_callback_proxy.cc", |
| "browser/download_callback_proxy.h", |
| "browser/error_page_callback_proxy.cc", |
| "browser/error_page_callback_proxy.h", |
| "browser/fullscreen_callback_proxy.cc", |
| "browser/fullscreen_callback_proxy.h", |
| "browser/new_tab_callback_proxy.cc", |
| "browser/new_tab_callback_proxy.h", |
| "browser/tab_callback_proxy.cc", |
| "browser/tab_callback_proxy.h", |
| "browser/top_controls_container_view.cc", |
| "browser/top_controls_container_view.h", |
| ] |
| } |
| if (!is_android) { |
| deps += [ "//ui/views/controls/webview" ] |
| } |
| |
| if (toolkit_views) { |
| deps += [ "//ui/views" ] |
| } |
| |
| if (use_aura) { |
| deps += [ |
| "//ui/aura", |
| "//ui/events", |
| "//ui/strings", |
| "//ui/wm", |
| ] |
| } |
| } |
| |
| grit("resources") { |
| source = "weblayer_resources.grd" |
| |
| source_is_generated = true |
| |
| outputs = [ |
| "grit/weblayer_resources.h", |
| "weblayer_resources.pak", |
| ] |
| grit_flags = [ |
| "-E", |
| "root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir), |
| ] |
| deps = [ |
| "//weblayer/browser/webui:mojo_bindings_js", |
| ] |
| } |
| |
| # TODO(jam): move weblayer_shell_resources_grit and copy_shell_resources here in |
| # a way that's shareable? |
| |
| if (is_android) { |
| shared_library("libweblayer") { |
| sources = [ |
| "app/entry_point.cc", |
| ] |
| deps = [ |
| ":weblayer_lib", |
| "//base", |
| "//content/public/app:both", |
| ] |
| configs -= [ "//build/config/android:hide_all_but_jni_onload" ] |
| configs += [ "//build/config/android:hide_all_but_jni" ] |
| } |
| } |