зеркало из https://github.com/electron/electron.git
This reverts commit 7b169c2884
.
This commit is contained in:
Родитель
c252deb878
Коммит
fa0323a3db
|
@ -155,7 +155,6 @@ std::u16string MediaStringProvider(media::MessageId id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(OS_LINUX)
|
#if defined(OS_LINUX)
|
||||||
|
|
||||||
void OverrideLinuxAppDataPath() {
|
void OverrideLinuxAppDataPath() {
|
||||||
base::FilePath path;
|
base::FilePath path;
|
||||||
if (base::PathService::Get(DIR_APP_DATA, &path))
|
if (base::PathService::Get(DIR_APP_DATA, &path))
|
||||||
|
@ -376,24 +375,8 @@ void ElectronBrowserMainParts::PostDestroyThreads() {
|
||||||
fake_browser_process_->PostDestroyThreads();
|
fake_browser_process_->PostDestroyThreads();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(OS_LINUX)
|
|
||||||
// static
|
|
||||||
base::Optional<std::string>& ElectronBrowserMainParts::GetGDKBackend() {
|
|
||||||
static base::Optional<std::string> gdk_backend;
|
|
||||||
return gdk_backend;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void ElectronBrowserMainParts::ToolkitInitialized() {
|
void ElectronBrowserMainParts::ToolkitInitialized() {
|
||||||
#if defined(OS_LINUX)
|
#if defined(OS_LINUX)
|
||||||
// This is set by Chromium here:
|
|
||||||
// https://chromium-review.googlesource.com/c/chromium/src/+/2586184
|
|
||||||
// and can detrimentally affect external app behaviors, so we want to
|
|
||||||
// check if the user has set it so we can use it later.
|
|
||||||
std::string backend;
|
|
||||||
if (base::Environment::Create()->GetVar("GDK_BACKEND", &backend))
|
|
||||||
GetGDKBackend().reset(backend);
|
|
||||||
|
|
||||||
auto linux_ui = BuildGtkUi();
|
auto linux_ui = BuildGtkUi();
|
||||||
linux_ui->Initialize();
|
linux_ui->Initialize();
|
||||||
|
|
||||||
|
|
|
@ -88,11 +88,6 @@ class ElectronBrowserMainParts : public content::BrowserMainParts {
|
||||||
Browser* browser() { return browser_.get(); }
|
Browser* browser() { return browser_.get(); }
|
||||||
BrowserProcessImpl* browser_process() { return fake_browser_process_.get(); }
|
BrowserProcessImpl* browser_process() { return fake_browser_process_.get(); }
|
||||||
|
|
||||||
#if defined(OS_LINUX)
|
|
||||||
// Used by platform_util to set GDK_BACKEND.
|
|
||||||
static base::Optional<std::string>& GetGDKBackend();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// content::BrowserMainParts:
|
// content::BrowserMainParts:
|
||||||
int PreEarlyInitialization() override;
|
int PreEarlyInitialization() override;
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
#include "dbus/bus.h"
|
#include "dbus/bus.h"
|
||||||
#include "dbus/message.h"
|
#include "dbus/message.h"
|
||||||
#include "dbus/object_proxy.h"
|
#include "dbus/object_proxy.h"
|
||||||
#include "shell/browser/electron_browser_main_parts.h"
|
|
||||||
#include "shell/common/platform_util_internal.h"
|
#include "shell/common/platform_util_internal.h"
|
||||||
#include "ui/gtk/gtk_util.h"
|
#include "ui/gtk/gtk_util.h"
|
||||||
#include "url/gurl.h"
|
#include "url/gurl.h"
|
||||||
|
@ -123,18 +122,6 @@ bool XDGUtil(const std::vector<std::string>& argv,
|
||||||
// bring up a new terminal if necessary. See "man mailcap".
|
// bring up a new terminal if necessary. See "man mailcap".
|
||||||
options.environment["MM_NOTTTY"] = "1";
|
options.environment["MM_NOTTTY"] = "1";
|
||||||
|
|
||||||
// If the user set a GDK_BACKEND value of their own, use that,
|
|
||||||
// otherwise unset it becuase Chromium is setting GDK_BACKEND
|
|
||||||
// during GTK initialization and we want to respect user preference.
|
|
||||||
// Setting values in EnvironmentMap to an empty-string
|
|
||||||
// will make sure that they get unset from the environment via
|
|
||||||
// AlterEnvironment().
|
|
||||||
const base::Optional<std::string>& gdk_backend =
|
|
||||||
electron::ElectronBrowserMainParts::GetGDKBackend();
|
|
||||||
options.environment["GDK_BACKEND"] = gdk_backend.has_value()
|
|
||||||
? gdk_backend.value().c_str()
|
|
||||||
: base::NativeEnvironmentString();
|
|
||||||
|
|
||||||
base::Process process = base::LaunchProcess(argv, options);
|
base::Process process = base::LaunchProcess(argv, options);
|
||||||
if (!process.IsValid())
|
if (!process.IsValid())
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -367,13 +367,6 @@ describe('web security', () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
ifdescribe(process.platform === 'linux')('subprocesses', () => {
|
|
||||||
it('does not propagate GDK_BACKEND', () => {
|
|
||||||
const backend = process.env.GDK_BACKEND;
|
|
||||||
expect(backend).to.eq(null);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('command line switches', () => {
|
describe('command line switches', () => {
|
||||||
let appProcess: ChildProcess.ChildProcessWithoutNullStreams | undefined;
|
let appProcess: ChildProcess.ChildProcessWithoutNullStreams | undefined;
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче