aboutsummaryrefslogtreecommitdiff
path: root/devel/electron37/files/patch-chrome_browser_profiles_profile__impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'devel/electron37/files/patch-chrome_browser_profiles_profile__impl.cc')
-rw-r--r--devel/electron37/files/patch-chrome_browser_profiles_profile__impl.cc40
1 files changed, 40 insertions, 0 deletions
diff --git a/devel/electron37/files/patch-chrome_browser_profiles_profile__impl.cc b/devel/electron37/files/patch-chrome_browser_profiles_profile__impl.cc
new file mode 100644
index 000000000000..048624aca71b
--- /dev/null
+++ b/devel/electron37/files/patch-chrome_browser_profiles_profile__impl.cc
@@ -0,0 +1,40 @@
+--- chrome/browser/profiles/profile_impl.cc.orig 2025-06-30 07:04:30 UTC
++++ chrome/browser/profiles/profile_impl.cc
+@@ -269,6 +269,10 @@
+ #include "chrome/browser/safe_browsing/safe_browsing_service.h"
+ #endif
+
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
++#endif
++
+ using bookmarks::BookmarkModel;
+ using content::BrowserThread;
+ using content::DownloadManagerDelegate;
+@@ -593,7 +597,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async
+ policy_provider = GetUserCloudPolicyManagerAsh();
+ #else // !BUILDFLAG(IS_CHROMEOS)
+ {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ProfileManager* profile_manager = g_browser_process->profile_manager();
+ ProfileAttributesEntry* entry =
+ profile_manager->GetProfileAttributesStorage()
+@@ -889,7 +893,17 @@ base::FilePath ProfileImpl::last_selected_directory()
+ }
+
+ base::FilePath ProfileImpl::last_selected_directory() {
++#if BUILDFLAG(IS_OPENBSD)
++ // If unveil(2) is used, force the file dialog directory to something we
++ // know is available.
++ auto* sandbox = sandbox::policy::SandboxLinux::GetInstance();
++ if (sandbox->unveil_initialized())
++ return GetPrefs()->GetFilePath(prefs::kDownloadDefaultDirectory);
++ else
++ return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory);
++#else
+ return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory);
++#endif
+ }
+
+ void ProfileImpl::set_last_selected_directory(const base::FilePath& path) {