mirror of
https://git.freebsd.org/ports.git
synced 2025-04-29 18:16:48 -04:00
Build cross platform desktop apps with JavaScript, HTML, and CSS. It's easier than you think. If you can build a website, you can build a desktop app. Electron is a framework for creating native applications with web technologies like JavaScript, HTML, and CSS. It takes care of the hard parts so you can focus on the core of your application. WWW: https://electronjs.org/
152 lines
6.9 KiB
C++
152 lines
6.9 KiB
C++
--- chrome/app/chrome_main_delegate.cc.orig 2024-08-14 20:54:25 UTC
|
|
+++ chrome/app/chrome_main_delegate.cc
|
|
@@ -139,7 +139,7 @@
|
|
#include "components/about_ui/credit_utils.h"
|
|
#endif
|
|
|
|
-#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
|
|
+#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD)
|
|
#include "components/nacl/common/nacl_paths.h"
|
|
#include "components/nacl/zygote/nacl_fork_delegate_linux.h"
|
|
#endif
|
|
@@ -183,21 +183,21 @@
|
|
#include "v8/include/v8.h"
|
|
#endif
|
|
|
|
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
|
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
|
|
#include "base/environment.h"
|
|
#endif
|
|
|
|
-#if BUILDFLAG(IS_LINUX)
|
|
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
|
|
#include "base/nix/scoped_xdg_activation_token_injector.h"
|
|
#include "ui/linux/display_server_utils.h"
|
|
#endif
|
|
|
|
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
|
|
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
|
|
#include "base/message_loop/message_pump_libevent.h"
|
|
#endif
|
|
|
|
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || \
|
|
- BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
|
+ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
|
|
#include "chrome/browser/policy/policy_path_parser.h"
|
|
#include "components/crash/core/app/crashpad.h"
|
|
#endif
|
|
@@ -341,7 +341,7 @@ bool SubprocessNeedsResourceBundle(const std::string&
|
|
// and resources loaded.
|
|
bool SubprocessNeedsResourceBundle(const std::string& process_type) {
|
|
return
|
|
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
|
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
|
|
// The zygote process opens the resources for the renderers.
|
|
process_type == switches::kZygoteProcess ||
|
|
#endif
|
|
@@ -426,7 +426,7 @@ bool HandleVersionSwitches(const base::CommandLine& co
|
|
|
|
// TODO(crbug.com/40118868): Revisit the macro expression once build flag switch
|
|
// of lacros-chrome is complete.
|
|
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
|
|
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
|
|
// Show the man page if --help or -h is on the command line.
|
|
void HandleHelpSwitches(const base::CommandLine& command_line) {
|
|
if (command_line.HasSwitch(switches::kHelp) ||
|
|
@@ -472,7 +472,7 @@ void SetCrashpadUploadConsentPostLogin() {
|
|
}
|
|
#endif // BUILDFLAG(IS_CHROMEOS_LACROS)
|
|
|
|
-#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID)
|
|
+#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD)
|
|
void SIGTERMProfilingShutdown(int signal) {
|
|
content::Profiling::Stop();
|
|
struct sigaction sigact;
|
|
@@ -554,7 +554,7 @@ std::optional<int> AcquireProcessSingleton(
|
|
// process can be exited.
|
|
ChromeProcessSingleton::CreateInstance(user_data_dir);
|
|
|
|
-#if BUILDFLAG(IS_LINUX)
|
|
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
|
|
// Read the xdg-activation token and set it in the command line for the
|
|
// duration of the notification in order to ensure this is propagated to an
|
|
// already running browser process if it exists.
|
|
@@ -638,7 +638,7 @@ void InitializeUserDataDir(base::CommandLine* command_
|
|
std::string process_type =
|
|
command_line->GetSwitchValueASCII(switches::kProcessType);
|
|
|
|
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
|
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
|
|
// On Linux, Chrome does not support running multiple copies under different
|
|
// DISPLAYs, so the profile directory can be specified in the environment to
|
|
// support the virtual desktop use-case.
|
|
@@ -768,7 +768,7 @@ void RecordMainStartupMetrics(const StartupTimestamps&
|
|
#endif
|
|
|
|
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \
|
|
- BUILDFLAG(IS_CHROMEOS)
|
|
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
|
|
// Record the startup process creation time on supported platforms. On Android
|
|
// this is recorded in ChromeMainDelegateAndroid.
|
|
startup_metric_utils::GetCommon().RecordStartupProcessCreationTime(
|
|
@@ -962,7 +962,7 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitia
|
|
#if BUILDFLAG(IS_OZONE)
|
|
// Initialize Ozone platform and add required feature flags as per platform's
|
|
// properties.
|
|
-#if BUILDFLAG(IS_LINUX)
|
|
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
|
|
ui::SetOzonePlatformForLinuxIfNeeded(*base::CommandLine::ForCurrentProcess());
|
|
#endif
|
|
ui::OzonePlatform::PreEarlyInitialization();
|
|
@@ -1160,7 +1160,7 @@ void ChromeMainDelegate::CommonEarlyInitialization(Inv
|
|
const bool is_canary_dev = IsCanaryDev();
|
|
const bool emit_crashes =
|
|
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
|
|
- BUILDFLAG(IS_WIN)
|
|
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
|
|
is_canary_dev;
|
|
#else
|
|
false;
|
|
@@ -1315,7 +1315,7 @@ std::optional<int> ChromeMainDelegate::BasicStartupCom
|
|
|
|
// TODO(crbug.com/40118868): Revisit the macro expression once build flag
|
|
// switch of lacros-chrome is complete.
|
|
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
|
|
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
|
|
// This will directly exit if the user asked for help.
|
|
HandleHelpSwitches(command_line);
|
|
#endif
|
|
@@ -1345,7 +1345,7 @@ std::optional<int> ChromeMainDelegate::BasicStartupCom
|
|
#if BUILDFLAG(IS_CHROMEOS)
|
|
chromeos::dbus_paths::RegisterPathProvider();
|
|
#endif
|
|
-#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
|
|
+#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
|
|
nacl::RegisterPathProvider();
|
|
#endif
|
|
|
|
@@ -1732,7 +1732,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
|
|
CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale;
|
|
}
|
|
|
|
-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
|
+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
|
|
// Zygote needs to call InitCrashReporter() in RunZygote().
|
|
if (process_type != switches::kZygoteProcess &&
|
|
!command_line.HasSwitch(switches::kDisableCrashpadForTesting)) {
|
|
@@ -1828,13 +1828,13 @@ absl::variant<int, content::MainFunctionParams> Chrome
|
|
#else
|
|
|
|
#if BUILDFLAG(IS_MAC) || (BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && \
|
|
- !BUILDFLAG(IS_CHROMEOS))
|
|
+ !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD))
|
|
static const MainFunction kMainFunctions[] = {
|
|
#if BUILDFLAG(IS_MAC)
|
|
{switches::kRelauncherProcess, mac_relauncher::internal::RelauncherMain},
|
|
{switches::kCodeSignCloneCleanupProcess,
|
|
code_sign_clone_manager::internal::ChromeCodeSignCloneCleanupMain},
|
|
-#elif BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
|
|
+#elif BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
|
|
// This entry is not needed on Linux, where the NaCl loader
|
|
// process is launched via nacl_helper instead.
|
|
{switches::kNaClLoaderProcess, NaClMain},
|