diff options
Diffstat (limited to 'devel/electron38/files/patch-chrome_browser_profiles_profile__impl.cc')
-rw-r--r-- | devel/electron38/files/patch-chrome_browser_profiles_profile__impl.cc | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/devel/electron38/files/patch-chrome_browser_profiles_profile__impl.cc b/devel/electron38/files/patch-chrome_browser_profiles_profile__impl.cc new file mode 100644 index 000000000000..4eef3ab7a6fb --- /dev/null +++ b/devel/electron38/files/patch-chrome_browser_profiles_profile__impl.cc @@ -0,0 +1,40 @@ +--- chrome/browser/profiles/profile_impl.cc.orig 2025-08-26 20:49:50 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; +@@ -603,7 +607,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() +@@ -886,7 +890,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) { |