aboutsummaryrefslogtreecommitdiff
path: root/devel/electron39/files/patch-chrome_browser_profiles_profile__impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'devel/electron39/files/patch-chrome_browser_profiles_profile__impl.cc')
-rw-r--r--devel/electron39/files/patch-chrome_browser_profiles_profile__impl.cc40
1 files changed, 40 insertions, 0 deletions
diff --git a/devel/electron39/files/patch-chrome_browser_profiles_profile__impl.cc b/devel/electron39/files/patch-chrome_browser_profiles_profile__impl.cc
new file mode 100644
index 000000000000..ad2118224651
--- /dev/null
+++ b/devel/electron39/files/patch-chrome_browser_profiles_profile__impl.cc
@@ -0,0 +1,40 @@
+--- chrome/browser/profiles/profile_impl.cc.orig 2025-10-21 20:19:54 UTC
++++ chrome/browser/profiles/profile_impl.cc
+@@ -268,6 +268,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;
+@@ -602,7 +606,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()
+@@ -876,7 +880,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) {