diff --git a/source/uCEFApplicationCore.pas b/source/uCEFApplicationCore.pas
index e36341ae..e4cf3ba2 100644
--- a/source/uCEFApplicationCore.pas
+++ b/source/uCEFApplicationCore.pas
@@ -161,6 +161,9 @@ type
FDisableHangMonitor : boolean;
FHideCrashRestoreBubble : boolean;
FPostQuantumKyber : TCefState;
+ {$IFDEF LINUX}
+ FPasswordStorage : TCefPasswordStorage;
+ {$ENDIF}
// Fields used during the CEF initialization
@@ -1322,6 +1325,15 @@ type
/// This option enables a combination of X25519 and Kyber in TLS 1.3.
///
property TLS13HybridizedKyberSupport : TCefState read FPostQuantumKyber write FPostQuantumKyber;
+ {$IFDEF LINUX}
+ ///
+ /// Specifies which encryption storage backend to use in Linux.
+ ///
+ ///
+ /// Chromium document: docs/linux/password_storage.md
+ ///
+ property PasswordStorage : TCefPasswordStorage read FPasswordStorage write FPasswordStorage;
+ {$ENDIF}
///
/// Ignores certificate-related errors.
///
@@ -1997,6 +2009,9 @@ begin
FDisableHangMonitor := False;
FHideCrashRestoreBubble := True;
FPostQuantumKyber := STATE_DEFAULT;
+ {$IFDEF LINUX}
+ FPasswordStorage := psDefault;
+ {$ENDIF}
// Fields used during the CEF initialization
FWindowsSandboxInfo := nil;
@@ -3678,6 +3693,16 @@ begin
STATE_DISABLED : ReplaceSwitch(aKeys, aValues, '--disable-features', 'PostQuantumKyber');
end;
+ {$IFDEF LINUX}
+ case FPasswordStorage of
+ psGnomeLibsecret : ReplaceSwitch(aKeys, aValues, '--password-store', 'gnome-libsecret');
+ psKWallet : ReplaceSwitch(aKeys, aValues, '--password-store', 'kwallet');
+ psKWallet5 : ReplaceSwitch(aKeys, aValues, '--password-store', 'kwallet5');
+ psKWallet6 : ReplaceSwitch(aKeys, aValues, '--password-store', 'kwallet6');
+ psBasic : ReplaceSwitch(aKeys, aValues, '--password-store', 'basic');
+ end;
+ {$ENDIF}
+
// The list of features you can enable is here :
// https://chromium.googlesource.com/chromium/src/+/master/chrome/common/chrome_features.cc
// https://source.chromium.org/chromium/chromium/src/+/main:content/public/common/content_features.cc
diff --git a/source/uCEFTypes.pas b/source/uCEFTypes.pas
index cf2fe453..6fa442e2 100644
--- a/source/uCEFTypes.pas
+++ b/source/uCEFTypes.pas
@@ -424,6 +424,38 @@ type
///
fd : integer;
end;
+
+ ///
+ /// Specifies which encryption storage backend to use in Linux.
+ ///
+ ///
+ /// Chromium document: docs/linux/password_storage.md
+ ///
+ TCefPasswordStorage = (
+ ///
+ /// Chromium chooses which store to use automatically, based on your desktop environment.
+ ///
+ psDefault,
+ ///
+ /// GNOME Libsecret.
+ ///
+ psGnomeLibsecret,
+ ///
+ /// KWallet 4.
+ ///
+ psKWallet,
+ ///
+ /// KWallet 5.
+ ///
+ psKWallet5,
+ ///
+ /// KWallet 6.
+ ///
+ psKWallet6,
+ ///
+ /// Plain text.
+ ///
+ psBasic);
{$ENDIF}
///
diff --git a/update_CEF4Delphi.json b/update_CEF4Delphi.json
index cd007efe..5df8fd0a 100644
--- a/update_CEF4Delphi.json
+++ b/update_CEF4Delphi.json
@@ -2,7 +2,7 @@
"UpdateLazPackages" : [
{
"ForceNotify" : true,
- "InternalVersion" : 714,
+ "InternalVersion" : 715,
"Name" : "cef4delphi_lazarus.lpk",
"Version" : "134.3.2"
}
|