chore: bump chromium to 100.0.4857.0 (main) (#32419)

* chore: bump chromium in DEPS to 99.0.4819.0

* chore: update patches

* chore: bump chromium in DEPS to 99.0.4824.0

* chore: update patches

* chore: bump chromium in DEPS to 99.0.4827.0

* chore: update patches

* 3352511: PiP: Add inkdrop and pointer cursor to PiP window buttons

https://chromium-review.googlesource.com/c/chromium/src/+/3352511

* 3309164: webhid: Show FIDO devices in the chooser if allowed

https://chromium-review.googlesource.com/c/chromium/src/+/3309164

* 3297868: hid: Add experimental HIDDevice.forget()

https://chromium-review.googlesource.com/c/chromium/src/+/3297868

* 3362491: [Extensions] Move i18n API to //extensions

https://chromium-review.googlesource.com/c/chromium/src/+/3362491

* MCC Refactor step0: Allow embedders to register associated_interface binders with RenderFrameHostImpl::associated_registry_.

https://chromium-review.googlesource.com/c/chromium/src/+/3281481

* 3352616: [Gtk] Remove libgtk from the link-line

https://chromium-review.googlesource.com/c/chromium/src/+/3352616

* 3249211: Clear-Site-Data support for partitioned cookies

https://chromium-review.googlesource.com/c/chromium/src/+/3249211

* [Extensions][COIL] Use [allow|block]list in //extensions/common

https://chromium-review.googlesource.com/c/chromium/src/+/3372668

* Begin ScopedUserPrefUpdate migration to modern base::Value

https://chromium-review.googlesource.com/c/chromium/src/+/3376154

* [Code Health] Refactor PrefService GetDict + GetList to use base::Value

https://chromium-review.googlesource.com/c/chromium/src/+/3343526

* 3354997: [CodeHealth] Remove deprecated SetDictionary method

https://chromium-review.googlesource.com/c/chromium/src/+/3354997

* 3287323: Add LacrosPrefStore for lacros settings

https://chromium-review.googlesource.com/c/chromium/src/+/3287323

* 3365916: [PA] Clean up remaining lazy commit code

https://chromium-review.googlesource.com/c/chromium/src/+/3365916

* [MPArch] Target the external protocol error at the responsible frame.

https://chromium-review.googlesource.com/c/chromium/src/+/3011560

* Pass origin to RegisterNonNetworkSubresourceURLLoaderFactories

https://chromium-review.googlesource.com/c/chromium/src/+/3350608

* Linux: Send OSCrypt raw encryption key to the Network Service

https://chromium-review.googlesource.com/c/chromium/src/+/3320484

* [PlzServiceWorker] Remove remaining references to PlzServiceWorker.

https://chromium-review.googlesource.com/c/chromium/src/+/3359441

* chore: fixup for lint

* 3327621: Fix tablet mode detection for Win 11.

https://chromium-review.googlesource.com/c/chromium/src/+/3327621

* 3342428: ax_mac: move AXTextMarker conversion utils under ui umbrella

https://chromium-review.googlesource.com/c/chromium/src/+/3342428

* 3353974: Mac: Use base::Feature for overlay features

https://chromium-review.googlesource.com/c/chromium/src/+/3353974

* chore: bump chromium in DEPS to 99.0.4828.0

* chore: update patches

* chore: bump chromium in DEPS to 99.0.4837.0

* chore: update patches

* chore: update patches

* 3379142: Drop FALLTHROUGH macro
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3379142

* 3381749: C++17: Allow use of std::map::try_emplace and std::map::insert_or_assign
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3381749

* chore: bump chromium in DEPS to 99.0.4839.0

* chore: update patches

* chore: bump chromium in DEPS to 99.0.4840.0

* chore: bump chromium in DEPS to 99.0.4844.0

* 3395881: [api] Deprecate Local<v8::Context> v8::Object::CreationContext()

Ref: https://chromium-review.googlesource.com/c/v8/v8/+/3395881

* chore: update patches

* chore: bump chromium in DEPS to 100.0.4845.0

* chore: update patches

* chore: bump chromium in DEPS to 100.0.4847.0

* chore: update patches

* chore: bump chromium in DEPS to 100.0.4849.0

* chore: update patches

* chore: bump chromium in DEPS to 100.0.4851.0

* chore: bump chromium in DEPS to 100.0.4853.0

* update patches

* chore: update patches

* update patches

* 3383599: Fonts Access: Remove prototype that uses a font picker.

https://chromium-review.googlesource.com/c/chromium/src/+/3383599

* 3404768: Remove ALLOW_UNUSED macros

https://chromium-review.googlesource.com/c/chromium/src/+/3404768

* 3374762: Remove ignore_result.h

https://chromium-review.googlesource.com/c/chromium/src/+/3374762

* 3399305: [unseasoned-pdf] Apply proper frame offsets for touch selections

https://chromium-review.googlesource.com/c/chromium/src/+/3399305

* 3402210: [Extensions] Don't trigger unload event for already unloaded extension

https://chromium-review.googlesource.com/c/chromium/src/+/3402210

* 3410912: Combine URLLoaderClient OnReceiveResponse and OnStartLoadingResponseBody.

https://chromium-review.googlesource.com/c/chromium/src/+/3410912

* 3370428: Make the AuthSchemes policy support dynamic refresh

https://chromium-review.googlesource.com/c/chromium/src/+/3370428

* 3407603: Finish ScopedUserPrefUpdate migration to modern base::Value

https://chromium-review.googlesource.com/c/chromium/src/+/3407603

* 3378352: ozone/x11: move code from //ui/p/x11 to //ui/ozone/p/x11

https://chromium-review.googlesource.com/c/chromium/src/+/3378352

* 3370810: Delete chrome/service, AKA the Cloud Print service process.

https://chromium-review.googlesource.com/c/chromium/src/+/3370810

* chore: bump chromium in DEPS to 100.0.4855.0

* chore: update patches

* fixup! 3370810: Delete chrome/service, AKA the Cloud Print service process.

* revert 3348007 to fix windows build

* 3318572: [Code health] Fix gn check errors in //extensions/browser:*

https://chromium-review.googlesource.com/c/chromium/src/+/3318572

* fix printing.patch

* fix iwyu issue

* 3408515: win: Make ShorcutOperation an enum class and modernize names

https://chromium-review.googlesource.com/c/chromium/src/+/3408515

* 3388333: [UIA] Remove dead code accessibility_misc_utils.h/cc

https://chromium-review.googlesource.com/c/chromium/src/+/3388333

* fix windows build? i hope

* patch gn visibility of //ui/ozone/platform/x11

* missing include base/logging.h

* use BUILDFLAG for USE_NSS_CERTS

https://chromium-review.googlesource.com/c/chromium/src/+/3379123

* defined(OS_*) ==> BUILDFLAG(IS_*)

https://bugs.chromium.org/p/chromium/issues/detail?id=1234043

* fixup! 3404768: Remove ALLOW_UNUSED macros

* another attempt to fix windows build

* temporarily disable the custom scheme service worker test

https://github.com/electron/electron/issues/32664

* fix loading mv3 extensions

not sure what cl broke this unfort.

* fixup! 3404768: Remove ALLOW_UNUSED macros

* patch nan

https://chromium-review.googlesource.com/c/v8/v8/+/3395880

* fix node test

* fix nullptr in FindPdfFrame

* patch perfetto to fix build issue on win-ia32

bc44c3c753

* fix build for linux-x64-testing-no-run-as-node

* fix patch

* skip <webview>.capturePage() test

https://github.com/electron/electron/issues/32705

* test: fix failing tests of focus/blur events of WebContents (#32711)

* inherit stdio from app module test child processes

this prevents them from timing out due to full stdout buffers

* test to see if we can get better logs on windows ci

* try again for appveyor log things

* skip contentTracing tests on ia32

* ci: disable gpu compositing

* drop applied patch

* fix merge fail

* Revert "ci: disable gpu compositing"

This reverts commit 0344129fcb.

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
Co-authored-by: VerteDinde <khammond@slack-corp.com>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
This commit is contained in:
electron-roller[bot]
2022-02-09 18:58:52 -08:00
committed by GitHub
parent e9a43be9be
commit 28ada6ea8b
279 changed files with 1681 additions and 2236 deletions

View File

@@ -88,9 +88,9 @@ bool IsWidevineAvailable(
// TODO(crbug.com/767941): Push persistent-license support info here once
// we check in a new CDM that supports it on Linux.
session_types_supported->insert(media::CdmSessionType::kTemporary);
#if defined(OS_CHROMEOS)
#if BUILDFLAG(IS_CHROMEOS)
session_types_supported->insert(media::CdmSessionType::kPersistentLicense);
#endif // defined(OS_CHROMEOS)
#endif // BUILDFLAG(IS_CHROMEOS)
modes_supported->insert(media::EncryptionMode::kCenc);

View File

@@ -25,15 +25,15 @@
#include "electron/electron_version.h"
#include "shell/common/electron_paths.h"
#if defined(OS_POSIX) && !defined(OS_MAC)
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
#include "components/version_info/version_info_values.h"
#endif
#if defined(OS_POSIX)
#if BUILDFLAG(IS_POSIX)
#include "base/debug/dump_without_crashing.h"
#endif
#if defined(OS_WIN)
#if BUILDFLAG(IS_WIN)
#include "base/strings/string_util_win.h"
#endif
@@ -96,7 +96,7 @@ ElectronCrashReporterClient::ElectronCrashReporterClient() = default;
ElectronCrashReporterClient::~ElectronCrashReporterClient() = default;
#if defined(OS_LINUX)
#if BUILDFLAG(IS_LINUX)
void ElectronCrashReporterClient::SetCrashReporterClientIdFromGUID(
const std::string& client_guid) {
crash_keys::SetMetricsClientIdFromGUID(client_guid);
@@ -127,7 +127,7 @@ base::FilePath ElectronCrashReporterClient::GetReporterLogFilename() {
}
#endif
#if defined(OS_WIN)
#if BUILDFLAG(IS_WIN)
void ElectronCrashReporterClient::GetProductNameAndVersion(
const std::wstring& exe_path,
std::wstring* product_name,
@@ -139,7 +139,7 @@ void ElectronCrashReporterClient::GetProductNameAndVersion(
}
#endif
#if defined(OS_WIN)
#if BUILDFLAG(IS_WIN)
bool ElectronCrashReporterClient::GetCrashDumpLocation(
std::wstring* crash_dir_str) {
base::FilePath crash_dir;
@@ -173,7 +173,7 @@ bool ElectronCrashReporterClient::GetCollectStatsConsent() {
return collect_stats_consent_;
}
#if defined(OS_MAC)
#if BUILDFLAG(IS_MAC)
bool ElectronCrashReporterClient::ReportingIsEnforcedByPolicy(
bool* breakpad_enabled) {
return false;
@@ -195,11 +195,11 @@ void ElectronCrashReporterClient::GetProcessSimpleAnnotations(
(*annotations)["ver"] = ELECTRON_VERSION_STRING;
}
#if defined(OS_LINUX) || defined(OS_MAC)
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
bool ElectronCrashReporterClient::ShouldMonitorCrashHandlerExpensively() {
return false;
}
#endif // OS_LINUX
#endif
std::string ElectronCrashReporterClient::GetUploadUrl() {
return upload_url_;

View File

@@ -31,7 +31,7 @@ class ElectronCrashReporterClient : public crash_reporter::CrashReporterClient {
const std::map<std::string, std::string>& annotations);
// crash_reporter::CrashReporterClient implementation.
#if defined(OS_LINUX)
#if BUILDFLAG(IS_LINUX)
void SetCrashReporterClientIdFromGUID(
const std::string& client_guid) override;
void GetProductNameAndVersion(const char** product_name,
@@ -42,7 +42,7 @@ class ElectronCrashReporterClient : public crash_reporter::CrashReporterClient {
base::FilePath GetReporterLogFilename() override;
#endif
#if defined(OS_WIN)
#if BUILDFLAG(IS_WIN)
void GetProductNameAndVersion(const std::wstring& exe_path,
std::wstring* product_name,
std::wstring* version,
@@ -50,7 +50,7 @@ class ElectronCrashReporterClient : public crash_reporter::CrashReporterClient {
std::wstring* channel_name) override;
#endif
#if defined(OS_WIN)
#if BUILDFLAG(IS_WIN)
bool GetCrashDumpLocation(std::wstring* crash_dir) override;
#else
bool GetCrashDumpLocation(base::FilePath* crash_dir) override;
@@ -66,11 +66,11 @@ class ElectronCrashReporterClient : public crash_reporter::CrashReporterClient {
void GetProcessSimpleAnnotations(
std::map<std::string, std::string>* annotations) override;
#if defined(OS_MAC)
#if BUILDFLAG(IS_MAC)
bool ReportingIsEnforcedByPolicy(bool* breakpad_enabled) override;
#endif
#if defined(OS_MAC) || defined(OS_LINUX)
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
bool ShouldMonitorCrashHandlerExpensively() override;
#endif

View File

@@ -8,7 +8,7 @@
#include "build/build_config.h"
#include "electron/buildflags/buildflags.h"
#if defined(OS_MAC)
#if BUILDFLAG(IS_MAC)
extern "C" {
__attribute__((visibility("default"))) int ElectronMain(int argc, char* argv[]);
@@ -18,6 +18,6 @@ __attribute__((visibility("default"))) int ElectronInitializeICUandStartNode(
char* argv[]);
#endif
}
#endif // OS_MAC
#endif
#endif // ELECTRON_SHELL_APP_ELECTRON_LIBRARY_MAIN_H_

View File

@@ -43,16 +43,16 @@
#include "ui/base/resource/resource_bundle.h"
#include "ui/base/ui_base_switches.h"
#if defined(OS_MAC)
#if BUILDFLAG(IS_MAC)
#include "shell/app/electron_main_delegate_mac.h"
#endif
#if defined(OS_WIN)
#if BUILDFLAG(IS_WIN)
#include "base/win/win_util.h"
#include "chrome/child/v8_crashpad_support_win.h"
#endif
#if defined(OS_LINUX)
#if BUILDFLAG(IS_LINUX)
#include "base/nix/xdg_util.h"
#include "components/crash/core/app/breakpad_linux.h"
#include "v8/include/v8-wasm-trap-handler-posix.h"
@@ -88,11 +88,11 @@ bool IsBrowserProcess(base::CommandLine* cmd) {
// and resources loaded.
bool SubprocessNeedsResourceBundle(const std::string& process_type) {
return
#if defined(OS_LINUX)
#if BUILDFLAG(IS_LINUX)
// The zygote process opens the resources for the renderers.
process_type == ::switches::kZygoteProcess ||
#endif
#if defined(OS_MAC)
#if BUILDFLAG(IS_MAC)
// Mac needs them too for scrollbar related images and for sandbox
// profiles.
process_type == ::switches::kGpuProcess ||
@@ -102,7 +102,7 @@ bool SubprocessNeedsResourceBundle(const std::string& process_type) {
process_type == ::switches::kUtilityProcess;
}
#if defined(OS_WIN)
#if BUILDFLAG(IS_WIN)
void InvalidParameterHandler(const wchar_t*,
const wchar_t*,
const wchar_t*,
@@ -139,7 +139,7 @@ bool ElectronPathProvider(int key, base::FilePath* result) {
create_dir = true;
break;
case DIR_USER_CACHE: {
#if defined(OS_POSIX)
#if BUILDFLAG(IS_POSIX)
int parent_key = base::DIR_CACHE;
#else
// On Windows, there's no OS-level centralized location for caches, so
@@ -153,7 +153,7 @@ bool ElectronPathProvider(int key, base::FilePath* result) {
create_dir = true;
break;
}
#if defined(OS_LINUX)
#if BUILDFLAG(IS_LINUX)
case DIR_APP_DATA: {
auto env = base::Environment::Create();
cur = base::nix::GetXDGDirectory(
@@ -161,7 +161,7 @@ bool ElectronPathProvider(int key, base::FilePath* result) {
break;
}
#endif
#if defined(OS_WIN)
#if BUILDFLAG(IS_WIN)
case DIR_RECENT:
if (!platform_util::GetFolderPath(DIR_RECENT, &cur))
return false;
@@ -169,7 +169,7 @@ bool ElectronPathProvider(int key, base::FilePath* result) {
break;
#endif
case DIR_APP_LOGS:
#if defined(OS_MAC)
#if BUILDFLAG(IS_MAC)
if (!base::PathService::Get(base::DIR_HOME, &cur))
return false;
cur = cur.Append(FILE_PATH_LITERAL("Library"));
@@ -211,7 +211,7 @@ std::string LoadResourceBundle(const std::string& locale) {
// Load other resource files.
base::FilePath pak_dir;
#if defined(OS_MAC)
#if BUILDFLAG(IS_MAC)
pak_dir =
base::mac::FrameworkBundlePath().Append(FILE_PATH_LITERAL("Resources"));
#else
@@ -238,14 +238,14 @@ const size_t ElectronMainDelegate::kNonWildcardDomainNonPortSchemesSize =
bool ElectronMainDelegate::BasicStartupComplete(int* exit_code) {
auto* command_line = base::CommandLine::ForCurrentProcess();
#if defined(OS_WIN)
#if BUILDFLAG(IS_WIN)
v8_crashpad_support::SetUp();
// On Windows the terminal returns immediately, so we add a new line to
// prevent output in the same line as the prompt.
if (IsBrowserProcess(command_line))
std::wcout << std::endl;
#endif // !defined(OS_WIN)
#endif // !BUILDFLAG(IS_WIN)
auto env = base::Environment::Create();
@@ -268,13 +268,13 @@ bool ElectronMainDelegate::BasicStartupComplete(int* exit_code) {
kNonWildcardDomainNonPortSchemes, kNonWildcardDomainNonPortSchemesSize);
#endif
#if defined(OS_MAC)
#if BUILDFLAG(IS_MAC)
OverrideChildProcessPath();
OverrideFrameworkBundlePath();
SetUpBundleOverrides();
#endif
#if defined(OS_WIN)
#if BUILDFLAG(IS_WIN)
// Ignore invalid parameter errors.
_set_invalid_parameter_handler(InvalidParameterHandler);
// Disable the ActiveVerifier, which is used by Chrome to track possible
@@ -285,7 +285,7 @@ bool ElectronMainDelegate::BasicStartupComplete(int* exit_code) {
base::win::PinUser32();
#endif
#if defined(OS_LINUX)
#if BUILDFLAG(IS_LINUX)
// Check for --no-sandbox parameter when running as root.
if (getuid() == 0 && IsSandboxEnabled(command_line))
LOG(FATAL) << "Running as root without --"
@@ -327,7 +327,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
user_data_dir, false, true);
}
#if !defined(OS_WIN)
#if !BUILDFLAG(IS_WIN)
// For windows we call InitLogging later, after the sandbox is initialized.
//
// On Linux, we force a "preinit" in the zygote (i.e. never log to a default
@@ -352,7 +352,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
LoadResourceBundle(locale);
}
#if defined(OS_WIN) || (defined(OS_MAC) && !defined(MAS_BUILD))
#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_MAC) && !defined(MAS_BUILD))
// In the main process, we wait for JS to call crashReporter.start() before
// initializing crashpad. If we're in the renderer, we want to initialize it
// immediately at boot.
@@ -362,7 +362,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
}
#endif
#if defined(OS_LINUX)
#if BUILDFLAG(IS_LINUX)
// Zygote needs to call InitCrashReporter() in RunZygote().
if (process_type != ::switches::kZygoteProcess && !process_type.empty()) {
ElectronCrashReporterClient::Create();
@@ -390,7 +390,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
// Allow file:// URIs to read other file:// URIs by default.
command_line->AppendSwitch(::switches::kAllowFileAccessFromFiles);
#if defined(OS_MAC)
#if BUILDFLAG(IS_MAC)
// Enable AVFoundation.
command_line->AppendSwitch("enable-avfoundation");
#endif
@@ -398,7 +398,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
}
void ElectronMainDelegate::SandboxInitialized(const std::string& process_type) {
#if defined(OS_WIN)
#if BUILDFLAG(IS_WIN)
logging::InitElectronLogging(*base::CommandLine::ForCurrentProcess(),
/* is_preinit = */ process_type.empty());
#endif
@@ -409,7 +409,7 @@ void ElectronMainDelegate::PreBrowserMain() {
// flags and we need to make sure the feature list is initialized before the
// service manager reads the features.
InitializeFeatureList();
#if defined(OS_MAC)
#if BUILDFLAG(IS_MAC)
RegisterAtomCrApp();
#endif
}
@@ -462,7 +462,7 @@ bool ElectronMainDelegate::ShouldLockSchemeRegistry() {
return false;
}
#if defined(OS_LINUX)
#if BUILDFLAG(IS_LINUX)
void ElectronMainDelegate::ZygoteForked() {
// Needs to be called after we have DIR_USER_DATA. BrowserMain sets
// this up for the browser process in a different manner.
@@ -485,6 +485,6 @@ void ElectronMainDelegate::ZygoteForked() {
// Reset the command line for the newly spawned process.
crash_keys::SetCrashKeysFromCommandLine(*command_line);
}
#endif // defined(OS_LINUX)
#endif // BUILDFLAG(IS_LINUX)
} // namespace electron

View File

@@ -45,12 +45,12 @@ class ElectronMainDelegate : public content::ContentMainDelegate {
content::MainFunctionParams main_function_params) override;
bool ShouldCreateFeatureList() override;
bool ShouldLockSchemeRegistry() override;
#if defined(OS_LINUX)
#if BUILDFLAG(IS_LINUX)
void ZygoteForked() override;
#endif
private:
#if defined(OS_MAC)
#if BUILDFLAG(IS_MAC)
void OverrideChildProcessPath();
void OverrideFrameworkBundlePath();
void SetUpBundleOverrides();

View File

@@ -18,20 +18,13 @@
#include "shell/common/electron_command_line.h"
#include "shell/common/electron_constants.h"
namespace {
ALLOW_UNUSED_TYPE bool IsEnvSet(const char* name) {
char* indicator = getenv(name);
return indicator && indicator[0] != '\0';
}
} // namespace
int main(int argc, char* argv[]) {
FixStdioStreams();
#if BUILDFLAG(ENABLE_RUN_AS_NODE)
if (electron::fuses::IsRunAsNodeEnabled() && IsEnvSet(electron::kRunAsNode)) {
char* indicator = getenv(electron::kRunAsNode);
if (electron::fuses::IsRunAsNodeEnabled() && indicator &&
indicator[0] != '\0') {
base::i18n::InitializeICU();
base::AtExitManager atexit_manager;
return electron::NodeMain(argc, argv);

View File

@@ -20,7 +20,7 @@
namespace {
ALLOW_UNUSED_TYPE bool IsEnvSet(const char* name) {
bool IsEnvSet(const char* name) {
char* indicator = getenv(name);
return indicator && indicator[0] != '\0';
}

View File

@@ -44,7 +44,7 @@ namespace {
const char kUserDataDir[] = "user-data-dir";
const char kProcessType[] = "type";
ALLOW_UNUSED_TYPE bool IsEnvSet(const char* name) {
bool IsEnvSet(const char* name) {
size_t required_size;
getenv_s(&required_size, nullptr, 0, name);
return required_size != 0;

View File

@@ -30,11 +30,11 @@
#include "shell/common/node_bindings.h"
#include "shell/common/node_includes.h"
#if defined(OS_LINUX)
#if BUILDFLAG(IS_LINUX)
#include "components/crash/core/app/breakpad_linux.h"
#endif
#if defined(OS_WIN)
#if BUILDFLAG(IS_WIN)
#include "chrome/child/v8_crashpad_support_win.h"
#endif
@@ -65,7 +65,7 @@ int SetNodeCliFlags() {
args.emplace_back("electron");
for (const auto& arg : argv) {
#if defined(OS_WIN)
#if BUILDFLAG(IS_WIN)
const auto& option = base::WideToUTF8(arg);
#else
const auto& option = arg;
@@ -100,7 +100,7 @@ void ClearCrashKeyStub(const std::string& key) {}
namespace electron {
#if defined(OS_LINUX)
#if BUILDFLAG(IS_LINUX)
void CrashReporterStart(gin_helper::Dictionary options) {
std::string submit_url;
bool upload_to_server = true;
@@ -140,7 +140,7 @@ v8::Local<v8::Value> GetParameters(v8::Isolate* isolate) {
int NodeMain(int argc, char* argv[]) {
base::CommandLine::Init(argc, argv);
#if defined(OS_WIN)
#if BUILDFLAG(IS_WIN)
v8_crashpad_support::SetUp();
#endif
@@ -148,7 +148,7 @@ int NodeMain(int argc, char* argv[]) {
ElectronCrashReporterClient::Create();
#endif
#if defined(OS_WIN) || (defined(OS_MAC) && !defined(MAS_BUILD))
#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_MAC) && !defined(MAS_BUILD))
crash_reporter::InitializeCrashpad(false, "node");
#endif
@@ -225,7 +225,7 @@ int NodeMain(int argc, char* argv[]) {
// Setup process.crashReporter in child node processes
gin_helper::Dictionary reporter = gin::Dictionary::CreateEmpty(isolate);
#if defined(OS_LINUX)
#if BUILDFLAG(IS_LINUX)
reporter.SetMethod("start", &CrashReporterStart);
#endif

View File

@@ -8,11 +8,7 @@
#include <sys/stat.h>
#include <unistd.h>
#include <cstdio>
// Copied from //base/ignore_result.h to avoid taking a dependency on //base on
// macOS.
template <typename T>
inline void ignore_result(const T&) {}
#include <tuple>
void FixStdioStreams() {
// libuv may mark stdin/stdout/stderr as close-on-exec, which interferes
@@ -24,9 +20,9 @@ void FixStdioStreams() {
// For details see https://github.com/libuv/libuv/issues/2062
struct stat st;
if (fstat(STDIN_FILENO, &st) < 0 && errno == EBADF)
ignore_result(freopen("/dev/null", "r", stdin));
std::ignore = freopen("/dev/null", "r", stdin);
if (fstat(STDOUT_FILENO, &st) < 0 && errno == EBADF)
ignore_result(freopen("/dev/null", "w", stdout));
std::ignore = freopen("/dev/null", "w", stdout);
if (fstat(STDERR_FILENO, &st) < 0 && errno == EBADF)
ignore_result(freopen("/dev/null", "w", stderr));
std::ignore = freopen("/dev/null", "w", stderr);
}