Remove cef_sandbox dependency on boringssl MD5/SHA1 functions (fixes issue #2743)

This commit is contained in:
Marshall Greenblatt 2019-10-01 14:30:07 +03:00
parent 52c24ed061
commit 729b3f0a8f
5 changed files with 57 additions and 0 deletions

View File

@ -81,6 +81,7 @@ buildflag_header("features") {
flags = [
"ENABLE_CEF=$enable_cef",
"IS_CEF_SANDBOX_BUILD=$is_cef_sandbox_build",
]
}

View File

@ -4,4 +4,11 @@
declare_args() {
enable_cef = true
# Enables base target customizations necessary for distribution of the
# cef_sandbox static library. This value will be set via gn_args.py for the
# official sandbox build configurations only. DO NOT SET THIS VALUE MANUALLY
# FOR OTHER CHROMIUM/CEF BUILD CONFIGURATIONS AS ITS USE MAY HAVE SIGNIFICANT
# PERFORMANCE AND/OR SECURITY IMPLICATIONS.
is_cef_sandbox_build = false
}

View File

@ -433,5 +433,10 @@ patches = [
# - Remove unsupported print preview UI options.
# https://bitbucket.org/chromiumembedded/cef/issues/123
'name': 'print_preview_123',
},
{
# Remove cef_sandbox dependency on boringssl MD5/SHA1 functions.
# https://bitbucket.org/chromiumembedded/cef/issues/2743
'name': 'base_sandbox_2743',
}
]

View File

@ -0,0 +1,40 @@
diff --git base/BUILD.gn base/BUILD.gn
index 2a50cd207695..b0e64eef29a5 100644
--- base/BUILD.gn
+++ base/BUILD.gn
@@ -32,6 +32,7 @@ import("//build/config/sysroot.gni")
import("//build/config/ui.gni")
import("//build/nocompile.gni")
import("//build/timestamp.gni")
+import("//cef/libcef/features/features.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")
@@ -1604,7 +1605,11 @@ jumbo_component("base") {
"hash/md5_constexpr_internal.h",
"hash/sha1.h",
]
- if (is_nacl) {
+ deps += [ "//cef/libcef/features" ]
+ if (enable_cef) {
+ configs += [ "//cef/libcef/features:config" ]
+ }
+ if (is_nacl || is_cef_sandbox_build) {
sources += [
"hash/md5_nacl.cc",
"hash/md5_nacl.h",
diff --git base/hash/md5.h base/hash/md5.h
index 8a49f08dcb04..2f03d7a6d1b3 100644
--- base/hash/md5.h
+++ base/hash/md5.h
@@ -10,8 +10,9 @@
#include "base/base_export.h"
#include "base/strings/string_piece.h"
#include "build/build_config.h"
+#include "cef/libcef/features/features.h"
-#if defined(OS_NACL)
+#if defined(OS_NACL) || BUILDFLAG(IS_CEF_SANDBOX_BUILD)
#include "base/hash/md5_nacl.h"
#else
#include "base/hash/md5_boringssl.h"

View File

@ -445,6 +445,10 @@ def GetConfigArgsSandbox(platform, args, is_debug, cpu):
# Avoid /LTCG linker warnings and generate smaller lib files.
'is_official_build': False,
# Enable base target customizations necessary for distribution of the
# cef_sandbox static library.
'is_cef_sandbox_build': True,
}
if is_debug: