summaryrefslogtreecommitdiff
path: root/chromium/ios/web_view/BUILD.gn
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ios/web_view/BUILD.gn')
-rw-r--r--chromium/ios/web_view/BUILD.gn50
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" ]
}