fix: add async macos key provider

This commit is contained in:
Keeley Hammond
2026-01-12 14:28:49 -08:00
parent a7d2a2c2a5
commit 3f9d4b84e8
2 changed files with 14 additions and 0 deletions

View File

@@ -597,6 +597,7 @@ source_set("electron_lib") {
use_libcxx_modules = false
deps += [
"//components/os_crypt/async/browser:keychain_key_provider",
"//components/os_crypt/common:keychain_password_mac",
"//components/remote_cocoa/app_shim",
"//components/remote_cocoa/browser",

View File

@@ -28,6 +28,11 @@
#include "components/os_crypt/async/browser/freedesktop_secret_key_provider.h"
#include "components/os_crypt/async/browser/posix_key_provider.h"
#endif
#if BUILDFLAG(IS_MAC)
#include "components/os_crypt/async/browser/keychain_key_provider.h"
#endif
#include "components/prefs/in_memory_pref_store.h"
#include "components/prefs/json_pref_store.h"
#include "components/prefs/overlay_user_pref_store.h"
@@ -446,6 +451,14 @@ void BrowserProcessImpl::CreateOSCryptAsync() {
/*precedence=*/5u, std::make_unique<os_crypt_async::PosixKeyProvider>());
#endif // BUILDFLAG(IS_LINUX)
#if BUILDFLAG(IS_MAC)
// On macOS, use KeychainKeyProvider for cookie encryption.
// This is enabled by default in Chrome via features::kUseKeychainKeyProvider.
providers.emplace_back(
/*precedence=*/10u,
std::make_unique<os_crypt_async::KeychainKeyProvider>());
#endif // BUILDFLAG(IS_MAC)
os_crypt_async_ =
std::make_unique<os_crypt_async::OSCryptAsync>(std::move(providers));