diff options
Diffstat (limited to 'chromium/ios/web_view/BUILD.gn')
-rw-r--r-- | chromium/ios/web_view/BUILD.gn | 50 |
1 files changed, 44 insertions, 6 deletions
diff --git a/chromium/ios/web_view/BUILD.gn b/chromium/ios/web_view/BUILD.gn index 627cb45bafe..23240a5d1fa 100644 --- a/chromium/ios/web_view/BUILD.gn +++ b/chromium/ios/web_view/BUILD.gn @@ -5,6 +5,7 @@ import("//build/config/ios/ios_sdk.gni") import("//build/config/ios/rules.gni") import("//build/config/locales.gni") +import("//build/mac/tweak_info_plist.gni") import("//components/cronet/native/include/headers.gni") import("//components/grpc_support/include/headers.gni") import("//ios/build/config.gni") @@ -278,6 +279,7 @@ source_set("web_view_sources") { "//components/pref_registry", "//components/prefs", "//components/proxy_config", + "//components/safe_browsing/core/common:safe_browsing_prefs", "//components/security_state/ios", "//components/signin/core/browser", "//components/signin/ios/browser", @@ -303,6 +305,7 @@ source_set("web_view_sources") { "//ios/components/webui:url_constants", "//ios/components/webui/sync_internals", "//ios/net", + "//ios/third_party/webkit", "//ios/web", "//ios/web/common", "//ios/web/common:user_agent", @@ -327,8 +330,32 @@ source_set("web_view_sources") { ] } -# Generate the umbrella header. -action("web_view_umbrella_header") { +# Two umbrella headers may be generated: +# - One that matches ios_web_view_output_name, e.g. CronetChromeWebView.h +# - Another that is hardcoded as ChromeWebView.h +# +# This is needed to fix the issue where the generated .modulemap points to a +# non-existent umbrella header. +# +# TODO(crbug.com/1084855): Remove :web_view_umbrella_header_old after all +# clients migrate off of it. +if (ios_web_view_generate_extra_umbrella_header) { + action("web_view_umbrella_header") { + script = "//build/config/ios/generate_umbrella_header.py" + + full_header_path = target_gen_dir + "/" + ios_web_view_output_name + ".h" + outputs = [ full_header_path ] + + args = [ + "--output-path", + rebase_path(full_header_path, root_build_dir), + ] + + args += rebase_path(ios_web_view_public_headers, root_build_dir) + } +} + +action("web_view_umbrella_header_old") { script = "//build/config/ios/generate_umbrella_header.py" full_header_path = target_gen_dir + "/ChromeWebView.h" @@ -342,12 +369,19 @@ action("web_view_umbrella_header") { args += rebase_path(ios_web_view_public_headers, root_build_dir) } +tweak_info_plist("info_plist") { + info_plists = [ "Info.plist" ] +} + ios_framework_bundle("web_view") { output_name = ios_web_view_output_name - info_plist = "Info.plist" + info_plist_target = ":info_plist" - public_headers = ios_web_view_public_headers - public_headers += get_target_outputs(":web_view_umbrella_header") + public_headers = get_target_outputs(":web_view_umbrella_header_old") + if (ios_web_view_generate_extra_umbrella_header) { + public_headers += get_target_outputs(":web_view_umbrella_header") + } + public_headers += ios_web_view_public_headers if (ios_web_view_include_cronet) { public_headers += [ "//components/cronet/ios/Cronet.h" ] public_headers += grpc_public_headers @@ -362,10 +396,14 @@ ios_framework_bundle("web_view") { deps = [ ":web_view_sources", - ":web_view_umbrella_header", + "//ios/third_party/webkit", "//ios/web/public/init", "//testing/gtest:ios_coverage_utils", ] + deps += [ ":web_view_umbrella_header_old" ] + if (ios_web_view_generate_extra_umbrella_header) { + deps += [ ":web_view_umbrella_header" ] + } if (ios_web_view_include_cronet) { deps += [ "//components/cronet/ios:cronet_sources" ] } |