diff options
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.cc | 40 |
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) { |