| # Copyright 2015 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("//android_webview/system_webview_apk_tmpl.gni") |
| import("//android_webview/variables.gni") |
| import("//android_webview/webview_repack_locales.gni") |
| import("//build/config/android/chrome_version.gni") |
| import("//build/config/android/config.gni") |
| import("//build/config/android/rules.gni") |
| import("//build/config/locales.gni") |
| import("//chrome/android/chrome_common_shared_library.gni") |
| import("//chrome/android/trichrome.gni") |
| import("//components/spellcheck/spellcheck_build_features.gni") |
| import("//tools/grit/repack.gni") |
| import("//tools/resources/generate_resource_whitelist.gni") |
| import("//tools/v8_context_snapshot/v8_context_snapshot.gni") |
| |
| declare_args() { |
| # Package name of the system_webview_apk target. |
| system_webview_package_name = "com.android.webview" |
| } |
| |
| if (enable_resource_whitelist_generation) { |
| system_webview_pak_whitelist = |
| "$target_gen_dir/system_webview_pak_whitelist.txt" |
| } |
| |
| group("android_webview") { |
| if (public_android_sdk) { |
| deps = [ |
| ":system_webview_apk", |
| ] |
| } |
| } |
| |
| generate_jni("native_jni") { |
| sources = [ |
| "java/src/org/chromium/android_webview/AndroidProtocolHandler.java", |
| "java/src/org/chromium/android_webview/AwAutofillClient.java", |
| "java/src/org/chromium/android_webview/AwBrowserProcess.java", |
| "java/src/org/chromium/android_webview/AwContents.java", |
| "java/src/org/chromium/android_webview/AwContentsBackgroundThreadClient.java", |
| "java/src/org/chromium/android_webview/AwContentsClientBridge.java", |
| "java/src/org/chromium/android_webview/AwContentsIoThreadClient.java", |
| "java/src/org/chromium/android_webview/AwContentsLifecycleNotifier.java", |
| "java/src/org/chromium/android_webview/AwContentsStatics.java", |
| "java/src/org/chromium/android_webview/AwCookieManager.java", |
| "java/src/org/chromium/android_webview/AwDebug.java", |
| "java/src/org/chromium/android_webview/AwDevToolsServer.java", |
| "java/src/org/chromium/android_webview/AwFeatureList.java", |
| "java/src/org/chromium/android_webview/AwFormDatabase.java", |
| "java/src/org/chromium/android_webview/AwGLFunctor.java", |
| "java/src/org/chromium/android_webview/AwHttpAuthHandler.java", |
| "java/src/org/chromium/android_webview/AwMetricsLogUploader.java", |
| "java/src/org/chromium/android_webview/AwMetricsServiceClient.java", |
| "java/src/org/chromium/android_webview/AwPdfExporter.java", |
| "java/src/org/chromium/android_webview/AwPicture.java", |
| "java/src/org/chromium/android_webview/AwQuotaManagerBridge.java", |
| "java/src/org/chromium/android_webview/AwRenderProcess.java", |
| "java/src/org/chromium/android_webview/AwResource.java", |
| "java/src/org/chromium/android_webview/AwSettings.java", |
| "java/src/org/chromium/android_webview/AwTracingController.java", |
| "java/src/org/chromium/android_webview/AwVariationsSeedBridge.java", |
| "java/src/org/chromium/android_webview/AwWebContentsDelegate.java", |
| "java/src/org/chromium/android_webview/AwWebResourceResponse.java", |
| "java/src/org/chromium/android_webview/InputStreamUtil.java", |
| "java/src/org/chromium/android_webview/JavaBrowserViewRendererHelper.java", |
| "java/src/org/chromium/android_webview/PopupTouchHandleDrawable.java", |
| "java/src/org/chromium/android_webview/permission/AwPermissionRequest.java", |
| ] |
| jni_package = "android_webview" |
| |
| deps = [ |
| ":cancellation_signal_android_jar_jni_headers", |
| ] |
| } |
| |
| generate_jar_jni("cancellation_signal_android_jar_jni_headers") { |
| classes = [ "android/os/CancellationSignal.class" ] |
| jni_package = "android_webview" |
| } |
| |
| java_cpp_enum("aw_permission_request_resource") { |
| sources = [ |
| "browser/permission/aw_permission_request.h", |
| ] |
| } |
| |
| java_cpp_enum("android_webview_java_enums_srcjar") { |
| sources = [ |
| "browser/aw_renderer_priority.h", |
| ] |
| } |
| |
| java_cpp_enum("aw_error_ui") { |
| sources = [ |
| "browser/aw_safe_browsing_blocking_page.h", |
| ] |
| } |
| |
| java_cpp_enum("aw_safe_browsing_action") { |
| sources = [ |
| "browser/aw_url_checker_delegate_impl.h", |
| ] |
| } |
| |
| jinja_template("system_webview_manifest") { |
| input = "apk/java/AndroidManifest.xml" |
| output = system_webview_android_manifest |
| variables = [ "manifest_package=$system_webview_package_name" ] |
| } |
| |
| jinja_template("trichrome_webview_manifest") { |
| input = "apk/java/AndroidManifest.xml" |
| output = trichrome_webview_android_manifest |
| variables = trichrome_jinja_variables + [ |
| "manifest_package=$system_webview_package_name", |
| "library=libmonochrome.so", |
| ] |
| } |
| |
| webview_repack_locales("repack_locales") { |
| input_locales = locales |
| output_locales = locales |
| |
| if (enable_resource_whitelist_generation) { |
| repack_whitelist = system_webview_pak_whitelist |
| deps = [ |
| ":system_webview_pak_whitelist", |
| ] |
| } |
| } |
| |
| android_assets("locale_pak_assets") { |
| disable_compression = true |
| renaming_sources = [] |
| renaming_destinations = [] |
| foreach(_locale, locales) { |
| renaming_sources += [ "$root_out_dir/android_webview/locales/$_locale.pak" ] |
| renaming_destinations += [ "stored-locales/$_locale.pak" ] |
| } |
| treat_as_locale_paks = true |
| deps = [ |
| ":repack_locales", |
| ] |
| } |
| |
| repack("repack_pack") { |
| sources = [ |
| "$root_gen_dir/content/content_resources.pak", |
| "$root_gen_dir/net/net_resources.pak", |
| "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak", |
| "$target_gen_dir/aw_resources.pak", |
| "$target_gen_dir/components_resources.pak", |
| "$target_gen_dir/webui_resources.pak", |
| ] |
| deps = [ |
| ":generate_aw_resources", |
| ":generate_components_resources", |
| ":generate_webui_resources", |
| "//content:resources", |
| "//net:net_resources", |
| "//third_party/blink/public:resources", |
| ] |
| output = "$target_gen_dir/resources.pak" |
| |
| if (enable_resource_whitelist_generation) { |
| repack_whitelist = system_webview_pak_whitelist |
| deps += [ ":system_webview_pak_whitelist" ] |
| } |
| } |
| |
| repack("repack_100_percent") { |
| sources = [ |
| "$root_gen_dir/content/app/resources/content_resources_100_percent.pak", |
| "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_100_percent.pak", |
| "$root_gen_dir/ui/resources/ui_resources_100_percent.pak", |
| ] |
| deps = [ |
| "//content/app/resources", |
| "//third_party/blink/public:scaled_resources_100_percent", |
| "//ui/resources", |
| ] |
| output = "$target_gen_dir/chrome_100_percent.pak" |
| |
| if (enable_resource_whitelist_generation) { |
| repack_whitelist = system_webview_pak_whitelist |
| deps += [ ":system_webview_pak_whitelist" ] |
| } |
| } |
| |
| android_assets("pak_file_assets") { |
| sources = [ |
| "$target_gen_dir/chrome_100_percent.pak", |
| "$target_gen_dir/resources.pak", |
| ] |
| deps = [ |
| ":repack_100_percent", |
| ":repack_pack", |
| ] |
| disable_compression = true |
| } |
| |
| # These assets are needed by both monochrome and stand alone WebView, but not by |
| # Chrome. |
| android_assets("monochrome_webview_assets") { |
| deps = [ |
| "//third_party/icu:icu_assets", |
| ] |
| if (use_v8_context_snapshot) { |
| deps += [ "//tools/v8_context_snapshot:v8_context_snapshot_assets" ] |
| } else { |
| deps += [ "//v8:v8_external_startup_data_assets" ] |
| } |
| if (android_64bit_target_cpu && build_apk_secondary_abi) { |
| deps += [ ":v8_snapshot_secondary_abi_assets" ] |
| } |
| } |
| |
| java_group("assets") { |
| deps = [ |
| ":license_assets", |
| ":locale_pak_assets", |
| ":monochrome_webview_assets", |
| ":pak_file_assets", |
| ] |
| } |
| |
| java_group("stub_assets") { |
| deps = [ |
| ":license_assets", |
| ] |
| } |
| |
| android_assets("license_assets") { |
| renaming_sources = [ "$root_gen_dir/components/resources/about_credits.html" ] |
| renaming_destinations = [ "webview_licenses.notice" ] |
| deps = [ |
| "//components/resources:about_credits", |
| ] |
| } |
| |
| android_resources("system_webview_resources") { |
| resource_dirs = [ "apk/java/res" ] |
| custom_package = system_webview_package_name |
| } |
| |
| android_resources("resources") { |
| resource_dirs = [ "java/res" ] |
| custom_package = "org.chromium.android_webview" |
| deps = [ |
| ":strings_grd", |
| ] |
| } |
| |
| grit("generate_aw_resources") { |
| source = "ui/aw_resources.grd" |
| outputs = [ |
| "grit/aw_resources.h", |
| "aw_resources.pak", |
| ] |
| } |
| |
| grit("generate_aw_strings") { |
| source = "ui/aw_strings.grd" |
| outputs = [ |
| "grit/aw_strings.h", |
| ] |
| foreach(_locale, locales) { |
| outputs += [ "aw_strings_${_locale}.pak" ] |
| } |
| } |
| |
| grit("generate_webui_resources") { |
| source = "../ui/webui/resources/webui_resources.grd" |
| |
| # The .grd contains references to generated files. |
| source_is_generated = true |
| |
| # webui/resources has way too many resources. The whitelist is trim this down |
| # to a reasonable size |
| whitelist = rebase_path("ui/grit_resources_whitelist.txt", root_build_dir) |
| inputs = [ |
| "//android_webview/ui/grit_resources_whitelist.txt", |
| ] |
| grit_flags = [ |
| "-w", |
| whitelist, |
| ] |
| outputs = [ |
| "grit/webui_resources.h", |
| "grit/webui_resources_map.cc", |
| "grit/webui_resources_map.h", |
| "webui_resources.pak", |
| ] |
| } |
| |
| grit("generate_components_resources") { |
| source = "../components/resources/components_resources.grd" |
| |
| # The .grd contains references to generated files. |
| source_is_generated = true |
| |
| # See :generate_webui_resources for an explanation of the whitelist |
| whitelist = rebase_path("ui/grit_resources_whitelist.txt", root_build_dir) |
| inputs = [ |
| "//android_webview/ui/grit_resources_whitelist.txt", |
| ] |
| grit_flags = [ |
| "-w", |
| whitelist, |
| ] |
| outputs = [ |
| "grit/components_resources.h", |
| "components_resources.pak", |
| ] |
| |
| deps = [ |
| "//components/resources:components_resources", |
| ] |
| } |
| |
| grit("generate_components_strings") { |
| source = "../components/components_strings.grd" |
| |
| # components_strings contains strings from all components. WebView |
| # will never display most of them, so we try to limit the included |
| # strings. This whitelist trims about 50% more than the compile-based |
| # whitelist generated by :system_webview_pak_whitelist. |
| whitelist = rebase_path("ui/grit_strings_whitelist.txt", root_build_dir) |
| inputs = [ |
| "//android_webview/ui/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-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-rUS/components_strings.xml", |
| "java/res/values-es/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-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-ko/components_strings.xml", |
| "java/res/values-lt/components_strings.xml", |
| "java/res/values-lv/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-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" ] |
| } |
| } |
| |
| source_set("webview_entry_point") { |
| deps = [ |
| ":common", |
| ] |
| sources = [ |
| "lib/webview_entry_point.cc", |
| ] |
| } |
| |
| shared_library("libwebviewchromium") { |
| deps = [ |
| ":webview_entry_point", |
| ] |
| configs -= [ "//build/config/android:hide_all_but_jni_onload" ] |
| configs += [ "//build/config/android:hide_all_but_jni" ] |
| } |
| |
| if (android_64bit_target_cpu) { |
| android_assets("v8_snapshot_secondary_abi_assets") { |
| _secondary_abi_out_dir = |
| get_label_info("//v8($android_secondary_abi_toolchain)", "root_out_dir") |
| assert(android_64bit_target_cpu, |
| "32-bit targets shouldn't have secondary abi") |
| arch_suffix = "32" |
| if (use_v8_context_snapshot) { |
| renaming_sources = [ "$_secondary_abi_out_dir/v8_context_snapshot.bin" ] |
| renaming_destinations = [ "v8_context_snapshot_$arch_suffix.bin" ] |
| } else { |
| renaming_sources = [ "$_secondary_abi_out_dir/snapshot_blob.bin" ] |
| renaming_destinations = [ "snapshot_blob_$arch_suffix.bin" ] |
| } |
| disable_compression = true |
| deps = [ |
| "//tools/v8_context_snapshot($android_secondary_abi_toolchain)", |
| "//v8($android_secondary_abi_toolchain)", |
| ] |
| } |
| |
| template("webview_library") { |
| chrome_common_shared_library(target_name) { |
| forward_variables_from(invoker, "*") |
| deps = [ |
| ":webview_entry_point", |
| "//components/crash/android:crashpad_main", |
| ] |
| is_webview = true |
| } |
| } |
| |
| # The webview-only library needs the same library name as the browser |
| # library, since the system webview factory will differentiate only by ABI. |
| webview_library("monochrome") { |
| } |
| |
| # Bundle-specific webview library. Currently identical, but may diverge. |
| webview_library("monochrome_base") { |
| } |
| } |
| |
| if (enable_resource_whitelist_generation) { |
| generate_resource_whitelist("system_webview_pak_whitelist") { |
| deps = [ |
| ":libwebviewchromium", |
| ] |
| input = "$root_out_dir/lib.unstripped/libwebviewchromium$shlib_extension" |
| output = system_webview_pak_whitelist |
| } |
| } |
| |
| source_set("common") { |
| sources = [ |
| "browser/android_protocol_handler.cc", |
| "browser/android_protocol_handler.h", |
| "browser/aw_autofill_client.cc", |
| "browser/aw_autofill_client.h", |
| "browser/aw_browser_context.cc", |
| "browser/aw_browser_context.h", |
| "browser/aw_browser_main_parts.cc", |
| "browser/aw_browser_main_parts.h", |
| "browser/aw_browser_permission_request_delegate.h", |
| "browser/aw_browser_policy_connector.cc", |
| "browser/aw_browser_policy_connector.h", |
| "browser/aw_browser_terminator.cc", |
| "browser/aw_browser_terminator.h", |
| "browser/aw_content_browser_client.cc", |
| "browser/aw_content_browser_client.h", |
| "browser/aw_contents.cc", |
| "browser/aw_contents.h", |
| "browser/aw_contents_client_bridge.cc", |
| "browser/aw_contents_client_bridge.h", |
| "browser/aw_contents_io_thread_client.cc", |
| "browser/aw_contents_io_thread_client.h", |
| "browser/aw_contents_lifecycle_notifier.cc", |
| "browser/aw_contents_lifecycle_notifier.h", |
| "browser/aw_contents_statics.cc", |
| "browser/aw_cookie_access_policy.cc", |
| "browser/aw_cookie_access_policy.h", |
| "browser/aw_debug.cc", |
| "browser/aw_devtools_manager_delegate.cc", |
| "browser/aw_devtools_manager_delegate.h", |
| "browser/aw_devtools_server.cc", |
| "browser/aw_devtools_server.h", |
| "browser/aw_download_manager_delegate.cc", |
| "browser/aw_download_manager_delegate.h", |
| "browser/aw_feature_list.cc", |
| "browser/aw_feature_list.h", |
| "browser/aw_feature_list_creator.cc", |
| "browser/aw_feature_list_creator.h", |
| "browser/aw_form_database.cc", |
| "browser/aw_form_database_service.cc", |
| "browser/aw_form_database_service.h", |
| "browser/aw_gl_functor.cc", |
| "browser/aw_gl_functor.h", |
| "browser/aw_gl_surface.cc", |
| "browser/aw_gl_surface.h", |
| "browser/aw_http_auth_handler.cc", |
| "browser/aw_http_auth_handler.h", |
| "browser/aw_javascript_dialog_manager.cc", |
| "browser/aw_javascript_dialog_manager.h", |
| "browser/aw_login_delegate.cc", |
| "browser/aw_login_delegate.h", |
| "browser/aw_media_url_interceptor.cc", |
| "browser/aw_media_url_interceptor.h", |
| "browser/aw_metrics_log_uploader.cc", |
| "browser/aw_metrics_log_uploader.h", |
| "browser/aw_metrics_service_client.cc", |
| "browser/aw_metrics_service_client.h", |
| "browser/aw_pdf_exporter.cc", |
| "browser/aw_pdf_exporter.h", |
| "browser/aw_permission_manager.cc", |
| "browser/aw_permission_manager.h", |
| "browser/aw_picture.cc", |
| "browser/aw_picture.h", |
| "browser/aw_print_manager.cc", |
| "browser/aw_print_manager.h", |
| "browser/aw_printing_message_filter.cc", |
| "browser/aw_printing_message_filter.h", |
| "browser/aw_proxying_url_loader_factory.cc", |
| "browser/aw_proxying_url_loader_factory.h", |
| "browser/aw_quota_manager_bridge.cc", |
| "browser/aw_quota_manager_bridge.h", |
| "browser/aw_quota_permission_context.cc", |
| "browser/aw_quota_permission_context.h", |
| "browser/aw_render_process.cc", |
| "browser/aw_render_process.h", |
| "browser/aw_render_process_gone_delegate.h", |
| "browser/aw_render_thread_context_provider.cc", |
| "browser/aw_render_thread_context_provider.h", |
| "browser/aw_renderer_priority.h", |
| "browser/aw_resource_context.cc", |
| "browser/aw_resource_context.h", |
| "browser/aw_safe_browsing_blocking_page.cc", |
| "browser/aw_safe_browsing_blocking_page.h", |
| "browser/aw_safe_browsing_resource_throttle.cc", |
| "browser/aw_safe_browsing_resource_throttle.h", |
| "browser/aw_safe_browsing_ui_manager.cc", |
| "browser/aw_safe_browsing_ui_manager.h", |
| "browser/aw_safe_browsing_whitelist_manager.cc", |
| "browser/aw_safe_browsing_whitelist_manager.h", |
| "browser/aw_settings.cc", |
| "browser/aw_settings.h", |
| "browser/aw_speech_recognition_manager_delegate.cc", |
| "browser/aw_speech_recognition_manager_delegate.h", |
| "browser/aw_ssl_host_state_delegate.cc", |
| "browser/aw_ssl_host_state_delegate.h", |
| "browser/aw_url_checker_delegate_impl.cc", |
| "browser/aw_url_checker_delegate_impl.h", |
| "browser/aw_variations_seed_bridge.cc", |
| "browser/aw_variations_seed_bridge.h", |
| "browser/aw_variations_service_client.cc", |
| "browser/aw_variations_service_client.h", |
| "browser/aw_web_contents_delegate.cc", |
| "browser/aw_web_contents_delegate.h", |
| "browser/aw_web_contents_view_delegate.cc", |
| "browser/aw_web_contents_view_delegate.h", |
| "browser/aw_web_ui_controller_factory.cc", |
| "browser/aw_web_ui_controller_factory.h", |
| "browser/browser_view_renderer.cc", |
| "browser/browser_view_renderer.h", |
| "browser/browser_view_renderer_client.h", |
| "browser/child_frame.cc", |
| "browser/child_frame.h", |
| "browser/command_line_helper.cc", |
| "browser/command_line_helper.h", |
| "browser/compositor_frame_consumer.h", |
| "browser/compositor_frame_producer.h", |
| "browser/compositor_id.cc", |
| "browser/compositor_id.h", |
| "browser/cookie_manager.cc", |
| "browser/deferred_gpu_command_service.cc", |
| "browser/deferred_gpu_command_service.h", |
| "browser/find_helper.cc", |
| "browser/find_helper.h", |
| "browser/gl_view_renderer_manager.cc", |
| "browser/gl_view_renderer_manager.h", |
| "browser/hardware_renderer.cc", |
| "browser/hardware_renderer.h", |
| "browser/icon_helper.cc", |
| "browser/icon_helper.h", |
| "browser/input_stream.cc", |
| "browser/input_stream.h", |
| "browser/java_browser_view_renderer_helper.cc", |
| "browser/java_browser_view_renderer_helper.h", |
| "browser/net/android_stream_reader_url_request_job.cc", |
| "browser/net/android_stream_reader_url_request_job.h", |
| "browser/net/aw_cookie_change_dispatcher_wrapper.cc", |
| "browser/net/aw_cookie_change_dispatcher_wrapper.h", |
| "browser/net/aw_cookie_store_wrapper.cc", |
| "browser/net/aw_cookie_store_wrapper.h", |
| "browser/net/aw_http_user_agent_settings.cc", |
| "browser/net/aw_http_user_agent_settings.h", |
| "browser/net/aw_network_change_notifier.cc", |
| "browser/net/aw_network_change_notifier.h", |
| "browser/net/aw_network_change_notifier_factory.cc", |
| "browser/net/aw_network_change_notifier_factory.h", |
| "browser/net/aw_network_delegate.cc", |
| "browser/net/aw_network_delegate.h", |
| "browser/net/aw_request_interceptor.cc", |
| "browser/net/aw_request_interceptor.h", |
| "browser/net/aw_url_request_context_getter.cc", |
| "browser/net/aw_url_request_context_getter.h", |
| "browser/net/aw_url_request_job_factory.cc", |
| "browser/net/aw_url_request_job_factory.h", |
| "browser/net/aw_web_resource_request.cc", |
| "browser/net/aw_web_resource_request.h", |
| "browser/net/aw_web_resource_response.cc", |
| "browser/net/aw_web_resource_response.h", |
| "browser/net/init_native_callback.cc", |
| "browser/net/init_native_callback.h", |
| "browser/net/input_stream_reader.cc", |
| "browser/net/input_stream_reader.h", |
| "browser/net_helpers.cc", |
| "browser/net_helpers.h", |
| "browser/net_network_service/android_stream_reader_url_loader.cc", |
| "browser/net_network_service/android_stream_reader_url_loader.h", |
| "browser/parent_compositor_draw_constraints.cc", |
| "browser/parent_compositor_draw_constraints.h", |
| "browser/parent_output_surface.cc", |
| "browser/parent_output_surface.h", |
| "browser/permission/aw_permission_request.cc", |
| "browser/permission/aw_permission_request.h", |
| "browser/permission/aw_permission_request_delegate.cc", |
| "browser/permission/aw_permission_request_delegate.h", |
| "browser/permission/media_access_permission_request.cc", |
| "browser/permission/media_access_permission_request.h", |
| "browser/permission/permission_request_handler.cc", |
| "browser/permission/permission_request_handler.h", |
| "browser/permission/permission_request_handler_client.cc", |
| "browser/permission/permission_request_handler_client.h", |
| "browser/permission/simple_permission_request.cc", |
| "browser/permission/simple_permission_request.h", |
| "browser/popup_touch_handle_drawable.cc", |
| "browser/popup_touch_handle_drawable.h", |
| "browser/render_thread_manager.cc", |
| "browser/render_thread_manager.h", |
| "browser/render_thread_manager_client.h", |
| "browser/renderer_host/auto_login_parser.cc", |
| "browser/renderer_host/auto_login_parser.h", |
| "browser/renderer_host/aw_render_view_host_ext.cc", |
| "browser/renderer_host/aw_render_view_host_ext.h", |
| "browser/renderer_host/aw_resource_dispatcher_host_delegate.cc", |
| "browser/renderer_host/aw_resource_dispatcher_host_delegate.h", |
| "browser/scoped_app_gl_state_restore.cc", |
| "browser/scoped_app_gl_state_restore.h", |
| "browser/state_serializer.cc", |
| "browser/state_serializer.h", |
| "browser/surfaces_instance.cc", |
| "browser/surfaces_instance.h", |
| "browser/tracing/aw_trace_event_args_whitelist.cc", |
| "browser/tracing/aw_trace_event_args_whitelist.h", |
| "browser/tracing/aw_tracing_controller.cc", |
| "browser/tracing/aw_tracing_controller.h", |
| "browser/tracing/aw_tracing_delegate.cc", |
| "browser/tracing/aw_tracing_delegate.h", |
| "common/android_webview_message_generator.cc", |
| "common/android_webview_message_generator.h", |
| "common/aw_channel.cc", |
| "common/aw_channel.h", |
| "common/aw_content_client.cc", |
| "common/aw_content_client.h", |
| "common/aw_descriptors.h", |
| "common/aw_hit_test_data.cc", |
| "common/aw_hit_test_data.h", |
| "common/aw_media_drm_bridge_client.cc", |
| "common/aw_media_drm_bridge_client.h", |
| "common/aw_paths.cc", |
| "common/aw_paths.h", |
| "common/aw_resource.cc", |
| "common/aw_resource.h", |
| "common/aw_switches.cc", |
| "common/aw_switches.h", |
| "common/crash_reporter/aw_crash_reporter_client.cc", |
| "common/crash_reporter/aw_crash_reporter_client.h", |
| "common/crash_reporter/crash_keys.cc", |
| "common/crash_reporter/crash_keys.h", |
| "common/devtools_instrumentation.h", |
| "common/render_view_messages.cc", |
| "common/render_view_messages.h", |
| "common/url_constants.cc", |
| "common/url_constants.h", |
| "gpu/aw_content_gpu_client.cc", |
| "gpu/aw_content_gpu_client.h", |
| "lib/aw_main_delegate.cc", |
| "lib/aw_main_delegate.h", |
| "lib/webview_jni_onload.cc", |
| "lib/webview_jni_onload.h", |
| "public/browser/draw_gl.h", |
| "public/browser/draw_sw.h", |
| "renderer/aw_content_renderer_client.cc", |
| "renderer/aw_content_renderer_client.h", |
| "renderer/aw_content_settings_client.cc", |
| "renderer/aw_content_settings_client.h", |
| "renderer/aw_key_systems.cc", |
| "renderer/aw_key_systems.h", |
| "renderer/aw_print_render_frame_helper_delegate.cc", |
| "renderer/aw_print_render_frame_helper_delegate.h", |
| "renderer/aw_render_frame_ext.cc", |
| "renderer/aw_render_frame_ext.h", |
| "renderer/aw_render_thread_observer.cc", |
| "renderer/aw_render_thread_observer.h", |
| "renderer/aw_render_view_ext.cc", |
| "renderer/aw_render_view_ext.h", |
| "renderer/aw_url_loader_throttle_provider.cc", |
| "renderer/aw_url_loader_throttle_provider.h", |
| "renderer/aw_websocket_handshake_throttle_provider.cc", |
| "renderer/aw_websocket_handshake_throttle_provider.h", |
| "renderer/print_render_frame_observer.cc", |
| "renderer/print_render_frame_observer.h", |
| "utility/aw_content_utility_client.cc", |
| "utility/aw_content_utility_client.h", |
| ] |
| |
| deps = [ |
| ":generate_aw_resources", |
| ":generate_aw_strings", |
| ":generate_components_strings", |
| ":native_jni", |
| "//base", |
| "//base/third_party/dynamic_annotations:dynamic_annotations", |
| "//components/autofill/android:provider", |
| "//components/autofill/content/browser", |
| "//components/autofill/content/renderer", |
| "//components/cdm/browser", |
| "//components/cdm/renderer", |
| "//components/crash/content/app", |
| "//components/crash/content/browser", |
| "//components/download/public/common:public", |
| "//components/embedder_support/android:web_contents_delegate", |
| "//components/google/core/browser", |
| "//components/heap_profiling", |
| "//components/keyed_service/content", |
| "//components/metrics", |
| "//components/metrics:gpu", |
| "//components/metrics:metrics", |
| "//components/metrics:net", |
| "//components/metrics:ui", |
| "//components/minidump_uploader", |
| "//components/navigation_interception", |
| "//components/network_session_configurator/common", |
| "//components/policy:generated", |
| "//components/policy/content/", |
| "//components/policy/core/browser", |
| "//components/policy/core/common", |
| "//components/prefs", |
| "//components/printing/browser", |
| "//components/printing/common", |
| "//components/printing/renderer", |
| "//components/safe_browsing", |
| "//components/safe_browsing/android:safe_browsing_mobile", |
| "//components/safe_browsing/browser", |
| "//components/safe_browsing/common", |
| "//components/safe_browsing/renderer:throttles", |
| "//components/safe_browsing/triggers", |
| "//components/safe_browsing/web_ui", |
| "//components/services/heap_profiling", |
| "//components/services/heap_profiling/public/cpp", |
| "//components/services/heap_profiling/public/mojom", |
| "//components/spellcheck:buildflags", |
| "//components/supervised_user_error_page", |
| "//components/supervised_user_error_page:gin", |
| "//components/url_matcher", |
| "//components/variations/service", |
| "//components/version_info:channel", |
| "//components/version_info/android:channel_getter", |
| "//components/visitedlink/browser", |
| "//components/visitedlink/renderer", |
| "//components/viz/service", |
| "//components/web_restrictions:browser", |
| "//content", |
| "//content/public/app:both", |
| "//content/public/browser", |
| "//content/public/common:content_descriptor_keys", |
| "//content/public/common:service_names", |
| "//crypto", |
| "//gin", |
| "//gpu/command_buffer/client:gles2_implementation", |
| "//gpu/command_buffer/service", |
| "//gpu/ipc:gl_in_process_context", |
| "//gpu/skia_bindings", |
| "//media", |
| "//media/midi", |
| "//net", |
| "//net:extras", |
| "//printing", |
| "//services/preferences/tracked:tracked", |
| "//services/service_manager/public/cpp", |
| "//services/viz/public/interfaces", |
| "//skia", |
| "//storage/browser", |
| "//storage/common", |
| "//third_party/blink/public:blink", |
| "//ui/base", |
| "//ui/events:gesture_detection", |
| "//ui/gfx", |
| "//ui/gl", |
| "//ui/gl/init", |
| "//ui/shell_dialogs", |
| "//url", |
| "//v8", |
| ] |
| |
| if (enable_spellcheck) { |
| deps += [ |
| "//components/spellcheck/browser", |
| "//components/spellcheck/renderer", |
| ] |
| } |
| |
| configs += [ |
| "//tools/v8_context_snapshot:use_v8_context_snapshot", |
| "//v8:external_startup_data", |
| ] |
| |
| libs = [ "jnigraphics" ] |
| } |
| |
| android_library("android_webview_java") { |
| java_files = [ |
| "java/src/org/chromium/android_webview/AndroidProtocolHandler.java", |
| "java/src/org/chromium/android_webview/AutofillActionModeCallback.java", |
| "java/src/org/chromium/android_webview/AwActionModeCallback.java", |
| "java/src/org/chromium/android_webview/AwAutofillClient.java", |
| "java/src/org/chromium/android_webview/AwAutofillManager.java", |
| "java/src/org/chromium/android_webview/AwAutofillProvider.java", |
| "java/src/org/chromium/android_webview/AwAutofillUMA.java", |
| "java/src/org/chromium/android_webview/AwBrowserContext.java", |
| "java/src/org/chromium/android_webview/AwBrowserProcess.java", |
| "java/src/org/chromium/android_webview/AwContents.java", |
| "java/src/org/chromium/android_webview/AwConsoleMessage.java", |
| "java/src/org/chromium/android_webview/AwContentsBackgroundThreadClient.java", |
| "java/src/org/chromium/android_webview/AwContentsClient.java", |
| "java/src/org/chromium/android_webview/AwContentsClientBridge.java", |
| "java/src/org/chromium/android_webview/AwContentsClientCallbackHelper.java", |
| "java/src/org/chromium/android_webview/AwContentsIoThreadClient.java", |
| "java/src/org/chromium/android_webview/AwContentsLifecycleNotifier.java", |
| "java/src/org/chromium/android_webview/AwContentsStatics.java", |
| "java/src/org/chromium/android_webview/AwCookieManager.java", |
| "java/src/org/chromium/android_webview/AwDebug.java", |
| "java/src/org/chromium/android_webview/AwDevToolsServer.java", |
| "java/src/org/chromium/android_webview/AwFeatureList.java", |
| "java/src/org/chromium/android_webview/AwFormDatabase.java", |
| "java/src/org/chromium/android_webview/AwFunctor.java", |
| "java/src/org/chromium/android_webview/AwGeolocationPermissions.java", |
| "java/src/org/chromium/android_webview/AwGLFunctor.java", |
| "java/src/org/chromium/android_webview/AwHttpAuthHandler.java", |
| "java/src/org/chromium/android_webview/AwLayoutSizer.java", |
| "java/src/org/chromium/android_webview/AwMetricsLogUploader.java", |
| "java/src/org/chromium/android_webview/AwMetricsServiceClient.java", |
| "java/src/org/chromium/android_webview/AwNetworkChangeNotifierRegistrationPolicy.java", |
| "java/src/org/chromium/android_webview/AwPdfExporter.java", |
| "java/src/org/chromium/android_webview/AwPicture.java", |
| "java/src/org/chromium/android_webview/AwPrintDocumentAdapter.java", |
| "java/src/org/chromium/android_webview/AwSafeBrowsingConfigHelper.java", |
| "java/src/org/chromium/android_webview/AwSafeBrowsingResponse.java", |
| "java/src/org/chromium/android_webview/AwQuotaManagerBridge.java", |
| "java/src/org/chromium/android_webview/AwRenderProcessGoneDetail.java", |
| "java/src/org/chromium/android_webview/AwResource.java", |
| "java/src/org/chromium/android_webview/AwRenderProcess.java", |
| "java/src/org/chromium/android_webview/AwSafeBrowsingConversionHelper.java", |
| "java/src/org/chromium/android_webview/AwScrollOffsetManager.java", |
| "java/src/org/chromium/android_webview/AwServiceWorkerClient.java", |
| "java/src/org/chromium/android_webview/AwServiceWorkerController.java", |
| "java/src/org/chromium/android_webview/AwServiceWorkerSettings.java", |
| "java/src/org/chromium/android_webview/AwSettings.java", |
| "java/src/org/chromium/android_webview/AwSupportLibIsomorphic.java", |
| "java/src/org/chromium/android_webview/AwSwitches.java", |
| "java/src/org/chromium/android_webview/AwTracingController.java", |
| "java/src/org/chromium/android_webview/AwViewMethods.java", |
| "java/src/org/chromium/android_webview/AwViewAndroidDelegate.java", |
| "java/src/org/chromium/android_webview/AwVariationsSeedBridge.java", |
| "java/src/org/chromium/android_webview/AwWebContentsDelegate.java", |
| "java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java", |
| "java/src/org/chromium/android_webview/AwWebContentsObserver.java", |
| "java/src/org/chromium/android_webview/AwWebResourceResponse.java", |
| "java/src/org/chromium/android_webview/AwZoomControls.java", |
| "java/src/org/chromium/android_webview/CleanupReference.java", |
| "java/src/org/chromium/android_webview/ClientCertLookupTable.java", |
| "java/src/org/chromium/android_webview/DefaultVideoPosterRequestHandler.java", |
| "java/src/org/chromium/android_webview/ErrorCodeConversionHelper.java", |
| "java/src/org/chromium/android_webview/FindAddress.java", |
| "java/src/org/chromium/android_webview/FullScreenView.java", |
| "java/src/org/chromium/android_webview/HttpAuthDatabase.java", |
| "java/src/org/chromium/android_webview/InputStreamUtil.java", |
| "java/src/org/chromium/android_webview/JavaBrowserViewRendererHelper.java", |
| "java/src/org/chromium/android_webview/JsPromptResultReceiver.java", |
| "java/src/org/chromium/android_webview/JsResultHandler.java", |
| "java/src/org/chromium/android_webview/JsResultReceiver.java", |
| "java/src/org/chromium/android_webview/NullAwViewMethods.java", |
| "java/src/org/chromium/android_webview/OverScrollGlow.java", |
| "java/src/org/chromium/android_webview/PopupTouchHandleDrawable.java", |
| "java/src/org/chromium/android_webview/ResourcesContextWrapperFactory.java", |
| "java/src/org/chromium/android_webview/ScopedSysTraceEvent.java", |
| "java/src/org/chromium/android_webview/ScrollAccessibilityHelper.java", |
| "java/src/org/chromium/android_webview/SslUtil.java", |
| "java/src/org/chromium/android_webview/VariationsSeedLoader.java", |
| "java/src/org/chromium/android_webview/ViewPositionObserver.java", |
| "java/src/org/chromium/android_webview/WebViewChromiumRunQueue.java", |
| "java/src/org/chromium/android_webview/permission/AwGeolocationCallback.java", |
| "java/src/org/chromium/android_webview/permission/AwPermissionRequest.java", |
| "java/src/org/chromium/android_webview/policy/AwPolicyProvider.java", |
| ] |
| deps = [ |
| ":android_webview_commandline_java", |
| ":android_webview_platform_services_java", |
| ":android_webview_services_java", |
| ":android_webview_variations_utils_java", |
| ":resources", |
| ":strings_grd", |
| ":system_webview_manifest", |
| "//base:base_java", |
| "//components/autofill/android:autofill_java", |
| "//components/autofill/android:provider_java", |
| "//components/background_task_scheduler:background_task_scheduler_task_ids_java", |
| "//components/crash/android:java", |
| "//components/embedder_support/android:web_contents_delegate_java", |
| "//components/minidump_uploader:minidump_uploader_java", |
| "//components/navigation_interception/android:navigation_interception_java", |
| "//components/policy/android:policy_java", |
| "//components/safe_browsing/android:safe_browsing_java", |
| "//components/variations:load_seed_result_enum_java", |
| "//components/variations/android:variations_java", |
| "//components/version_info/android:version_constants_java", |
| "//components/web_restrictions:client_java", |
| "//content/public/android:content_java", |
| "//device/gamepad:java", |
| "//net/android:net_java", |
| "//services/network/public/mojom:mojom_java", |
| "//third_party/android_deps:android_support_annotations_java", |
| "//third_party/blink/public:blink_headers_java", |
| "//ui/android:ui_java", |
| ] |
| |
| if (enable_spellcheck) { |
| deps += [ "//components/spellcheck/browser/android:java" ] |
| } |
| |
| srcjar_deps = [ |
| ":aw_permission_request_resource", |
| ":android_webview_java_enums_srcjar", |
| ":aw_error_ui", |
| ":aw_safe_browsing_action", |
| "//components/safe_browsing/db:sb_threat_values", |
| ] |
| |
| android_manifest_for_lint = system_webview_android_manifest |
| } |
| |
| android_library("android_webview_variations_utils_java") { |
| java_files = [ "java/src/org/chromium/android_webview/VariationsUtils.java" ] |
| deps = [ |
| "//android_webview/proto:aw_variations_seed_proto_java", |
| "//base:base_java", |
| "//components/variations/android:variations_java", |
| "//third_party/android_deps:com_google_protobuf_protobuf_lite_java", |
| ] |
| } |
| |
| java_strings_grd("strings_grd") { |
| grd_file = "java/strings/android_webview_strings.grd" |
| outputs = [ |
| "values-am/android_webview_strings.xml", |
| "values-ar/android_webview_strings.xml", |
| "values-bg/android_webview_strings.xml", |
| "values-ca/android_webview_strings.xml", |
| "values-cs/android_webview_strings.xml", |
| "values-da/android_webview_strings.xml", |
| "values-de/android_webview_strings.xml", |
| "values-el/android_webview_strings.xml", |
| "values-en-rGB/android_webview_strings.xml", |
| "values-es-rUS/android_webview_strings.xml", |
| "values-es/android_webview_strings.xml", |
| "values-fa/android_webview_strings.xml", |
| "values-fi/android_webview_strings.xml", |
| "values-fr/android_webview_strings.xml", |
| "values-hi/android_webview_strings.xml", |
| "values-hr/android_webview_strings.xml", |
| "values-hu/android_webview_strings.xml", |
| "values-in/android_webview_strings.xml", |
| "values-it/android_webview_strings.xml", |
| "values-iw/android_webview_strings.xml", |
| "values-ja/android_webview_strings.xml", |
| "values-ko/android_webview_strings.xml", |
| "values-lt/android_webview_strings.xml", |
| "values-lv/android_webview_strings.xml", |
| "values-nb/android_webview_strings.xml", |
| "values-nl/android_webview_strings.xml", |
| "values-pl/android_webview_strings.xml", |
| "values-pt-rBR/android_webview_strings.xml", |
| "values-pt-rPT/android_webview_strings.xml", |
| "values-ro/android_webview_strings.xml", |
| "values-ru/android_webview_strings.xml", |
| "values-sk/android_webview_strings.xml", |
| "values-sl/android_webview_strings.xml", |
| "values-sr/android_webview_strings.xml", |
| "values-sv/android_webview_strings.xml", |
| "values-sw/android_webview_strings.xml", |
| "values-th/android_webview_strings.xml", |
| "values-tl/android_webview_strings.xml", |
| "values-tr/android_webview_strings.xml", |
| "values-uk/android_webview_strings.xml", |
| "values-vi/android_webview_strings.xml", |
| "values-zh-rCN/android_webview_strings.xml", |
| "values-zh-rTW/android_webview_strings.xml", |
| "values/android_webview_strings.xml", |
| ] |
| } |
| |
| # Separate target to allow for a dependency on GmsCore without pulling in all of |
| # android_webview_java. It compiles the abstract class; implementations are |
| # compiled separately. |
| android_library("android_webview_platform_services_java") { |
| java_files = [ |
| "java/src/org/chromium/android_webview/PlatformServiceBridge.java", |
| "java/src/org/chromium/android_webview/PlatformServiceBridgeImpl.java", |
| ] |
| |
| deps = [ |
| "//base:base_java", |
| "//third_party/android_deps:android_support_annotations_java", |
| ] |
| |
| # The appropriate .class file will be loaded via a dependency to a library |
| # like :platform_service_bridge_upstream_implementation_java below. We only include the |
| # .java file because other files in the target depend on it. |
| jar_excluded_patterns = [ "*/PlatformServiceBridgeImpl.class" ] |
| } |
| |
| # This target compiles the implementation of PlatformServiceBridge for AOSP targets. |
| android_library("platform_service_bridge_upstream_implementation_java") { |
| java_files = |
| [ "java/src/org/chromium/android_webview/PlatformServiceBridgeImpl.java" ] |
| deps = [ |
| ":android_webview_platform_services_java", |
| ] |
| } |
| |
| android_library("android_webview_commandline_java") { |
| java_files = [ |
| "java/src/org/chromium/android_webview/command_line/CommandLineUtil.java", |
| ] |
| |
| deps = [ |
| "//base:base_java", |
| ] |
| } |
| |
| # Keep WebView's services separate from other WebView code to keep their deps clean |
| # (and make them easy to move). |
| android_library("android_webview_services_java") { |
| java_files = [ |
| "java/src/org/chromium/android_webview/services/AwMinidumpUploadJobService.java", |
| "java/src/org/chromium/android_webview/services/AwMinidumpUploaderDelegate.java", |
| "java/src/org/chromium/android_webview/services/CrashReceiverService.java", |
| "java/src/org/chromium/android_webview/services/ServiceInit.java", |
| "java/src/org/chromium/android_webview/services/AwVariationsSeedFetcher.java", |
| "java/src/org/chromium/android_webview/services/VariationsSeedHolder.java", |
| "java/src/org/chromium/android_webview/services/VariationsSeedServer.java", |
| ] |
| deps = [ |
| ":android_webview_commandline_java", |
| ":android_webview_platform_services_java", |
| ":android_webview_variations_utils_java", |
| ":system_webview_manifest", |
| "//base:base_java", |
| "//components/background_task_scheduler:background_task_scheduler_task_ids_java", |
| "//components/minidump_uploader:minidump_uploader_java", |
| "//components/variations/android:variations_java", |
| "//components/version_info/android:version_constants_java", |
| ] |
| srcjar_deps = [ |
| ":crash_receiver_aidl", |
| ":aw_variations_seed_server_aidl", |
| ] |
| android_manifest_for_lint = system_webview_android_manifest |
| } |
| |
| android_aidl("crash_receiver_aidl") { |
| import_include = [ "java/src" ] |
| sources = [ |
| "java/src/org/chromium/android_webview/services/ICrashReceiverService.aidl", |
| ] |
| } |
| |
| android_aidl("aw_variations_seed_server_aidl") { |
| import_include = [ "java/src" ] |
| sources = [ |
| "java/src/org/chromium/android_webview/services/IVariationsSeedServer.aidl", |
| ] |
| } |
| |
| if (public_android_sdk) { |
| system_webview_apk_tmpl("system_webview_apk") { |
| version_name = chrome_version_name |
| android_manifest = system_webview_android_manifest |
| android_manifest_dep = ":system_webview_manifest" |
| deps = upstream_only_webview_deps |
| apk_name = "SystemWebView" |
| } |
| |
| system_webview_apk_tmpl("trichrome_webview_apk") { |
| version_name = chrome_version_name |
| android_manifest = trichrome_webview_android_manifest |
| android_manifest_dep = ":trichrome_webview_manifest" |
| deps = upstream_only_webview_deps |
| apk_name = "TrichromeWebView" |
| use_trichrome_library = true |
| } |
| } |