Linux: Load additional binaries from DIR_ASSETS (fixes issue #1936)
This adds *.pak, locales/*.pak , chrome-sandbox, libGLESv2.so, libEGL.so and swiftshader/*.so to the list of binaries that will be loaded from the libcef.so directory instead of the executable directory by default.
This commit is contained in:
parent
48f7c67587
commit
b3468451f5
|
@ -139,7 +139,7 @@ void OverrideChildProcessPath() {
|
||||||
|
|
||||||
base::FilePath GetResourcesFilePath() {
|
base::FilePath GetResourcesFilePath() {
|
||||||
base::FilePath pak_dir;
|
base::FilePath pak_dir;
|
||||||
base::PathService::Get(base::DIR_MODULE, &pak_dir);
|
base::PathService::Get(base::DIR_ASSETS, &pak_dir);
|
||||||
return pak_dir;
|
return pak_dir;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -265,8 +265,9 @@ bool IsScaleFactorSupported(ui::ScaleFactor scale_factor) {
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(OS_LINUX)
|
#if defined(OS_LINUX)
|
||||||
// Look for the *.dat and *.bin files next to libcef instead of the exe on
|
// Look for binary files (*.bin, *.dat, *.pak, chrome-sandbox, libGLESv2.so,
|
||||||
// Linux. This is already the default on Windows.
|
// libEGL.so, locales/*.pak, swiftshader/*.so) next to libcef instead of the exe
|
||||||
|
// on Linux. This is already the default on Windows.
|
||||||
void OverrideAssetPath() {
|
void OverrideAssetPath() {
|
||||||
Dl_info dl_info;
|
Dl_info dl_info;
|
||||||
if (dladdr(reinterpret_cast<const void*>(&OverrideAssetPath), &dl_info)) {
|
if (dladdr(reinterpret_cast<const void*>(&OverrideAssetPath), &dl_info)) {
|
||||||
|
|
|
@ -418,6 +418,11 @@ patches = [
|
||||||
# https://bitbucket.org/chromiumembedded/cef/issues/2495
|
# https://bitbucket.org/chromiumembedded/cef/issues/2495
|
||||||
'name': 'message_pump_mac_2495',
|
'name': 'message_pump_mac_2495',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
# Linux: Load binaries from DIR_ASSETS.
|
||||||
|
# https://bitbucket.org/chromiumembedded/cef/issues/1936
|
||||||
|
'name': 'linux_assets_path_1936',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
# Windows: Fix jumbo build error in AccessibilityTreeFormatterWin
|
# Windows: Fix jumbo build error in AccessibilityTreeFormatterWin
|
||||||
# https://bugs.chromium.org/p/chromium/issues/detail?id=939668
|
# https://bugs.chromium.org/p/chromium/issues/detail?id=939668
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
diff --git sandbox/linux/suid/client/setuid_sandbox_host.cc sandbox/linux/suid/client/setuid_sandbox_host.cc
|
||||||
|
index 7a103bf7f13c..cd3167ebed09 100644
|
||||||
|
--- sandbox/linux/suid/client/setuid_sandbox_host.cc
|
||||||
|
+++ sandbox/linux/suid/client/setuid_sandbox_host.cc
|
||||||
|
@@ -120,7 +120,7 @@ bool SetuidSandboxHost::IsDisabledViaEnvironment() {
|
||||||
|
base::FilePath SetuidSandboxHost::GetSandboxBinaryPath() {
|
||||||
|
base::FilePath sandbox_binary;
|
||||||
|
base::FilePath exe_dir;
|
||||||
|
- if (base::PathService::Get(base::DIR_EXE, &exe_dir)) {
|
||||||
|
+ if (base::PathService::Get(base::DIR_ASSETS, &exe_dir)) {
|
||||||
|
base::FilePath sandbox_candidate = exe_dir.AppendASCII("chrome-sandbox");
|
||||||
|
if (base::PathExists(sandbox_candidate))
|
||||||
|
sandbox_binary = sandbox_candidate;
|
||||||
|
diff --git ui/gl/init/gl_initializer_x11.cc ui/gl/init/gl_initializer_x11.cc
|
||||||
|
index e3c481b97d89..5fde4a0bb388 100644
|
||||||
|
--- ui/gl/init/gl_initializer_x11.cc
|
||||||
|
+++ ui/gl/init/gl_initializer_x11.cc
|
||||||
|
@@ -88,7 +88,7 @@ bool InitializeStaticEGLInternal(GLImplementation implementation) {
|
||||||
|
if (implementation == kGLImplementationSwiftShaderGL) {
|
||||||
|
#if BUILDFLAG(ENABLE_SWIFTSHADER)
|
||||||
|
base::FilePath module_path;
|
||||||
|
- if (!base::PathService::Get(base::DIR_MODULE, &module_path))
|
||||||
|
+ if (!base::PathService::Get(base::DIR_ASSETS, &module_path))
|
||||||
|
return false;
|
||||||
|
module_path = module_path.Append("swiftshader/");
|
||||||
|
|
||||||
|
@@ -100,7 +100,7 @@ bool InitializeStaticEGLInternal(GLImplementation implementation) {
|
||||||
|
} else if (cmd->GetSwitchValueASCII(switches::kUseGL) ==
|
||||||
|
kGLImplementationANGLEName) {
|
||||||
|
base::FilePath module_path;
|
||||||
|
- if (!base::PathService::Get(base::DIR_MODULE, &module_path))
|
||||||
|
+ if (!base::PathService::Get(base::DIR_ASSETS, &module_path))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
glesv2_path = module_path.Append(kGLESv2ANGLELibraryName);
|
|
@ -5,8 +5,8 @@ cmake Contains CMake configuration files shared by all targets.
|
||||||
|
|
||||||
Debug Contains libcef.so and other components required to run the debug
|
Debug Contains libcef.so and other components required to run the debug
|
||||||
version of CEF-based applications. By default these files should be
|
version of CEF-based applications. By default these files should be
|
||||||
placed in the same directory as the executable and will be copied
|
placed in the same directory as libcef.so and will be copied there
|
||||||
there as part of the build process.
|
as part of the build process.
|
||||||
|
|
||||||
include Contains all required CEF header files.
|
include Contains all required CEF header files.
|
||||||
|
|
||||||
|
@ -15,8 +15,8 @@ libcef_dll Contains the source code for the libcef_dll_wrapper static library
|
||||||
|
|
||||||
Release Contains libcef.so and other components required to run the release
|
Release Contains libcef.so and other components required to run the release
|
||||||
version of CEF-based applications. By default these files should be
|
version of CEF-based applications. By default these files should be
|
||||||
placed in the same directory as the executable and will be copied
|
placed in the same directory as libcef.so and will be copied there
|
||||||
there as part of the build process.
|
as part of the build process.
|
||||||
|
|
||||||
Resources Contains resources required by libcef.so. By default these files
|
Resources Contains resources required by libcef.so. By default these files
|
||||||
should be placed in the same directory as libcef.so and will be
|
should be placed in the same directory as libcef.so and will be
|
||||||
|
|
Loading…
Reference in New Issue