1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-06-22 22:17:48 +02:00

Added TChromiumCore.AlwaysOpenPDFExternally

This commit is contained in:
salvadordf
2022-10-05 17:36:09 +02:00
parent ea30ee5032
commit cf66869a80
2 changed files with 68 additions and 54 deletions

View File

@ -76,61 +76,62 @@ type
TChromiumCore = class(TComponent, IChromiumEvents) TChromiumCore = class(TComponent, IChromiumEvents)
protected protected
{$IFDEF MSWINDOWS} {$IFDEF MSWINDOWS}
FCompHandle : HWND; FCompHandle : HWND;
{$ENDIF} {$ENDIF}
FHandler : ICefClient; FHandler : ICefClient;
FBrowsersCS : TCriticalSection; FBrowsersCS : TCriticalSection;
FBrowsers : TBrowserInfoList; FBrowsers : TBrowserInfoList;
FBrowserId : integer; FBrowserId : integer;
FMultiBrowserMode : boolean; FMultiBrowserMode : boolean;
FReqContextHandler : ICefRequestContextHandler; FReqContextHandler : ICefRequestContextHandler;
FResourceRequestHandler : ICefResourceRequestHandler; FResourceRequestHandler : ICefResourceRequestHandler;
FMediaObserver : ICefMediaObserver; FMediaObserver : ICefMediaObserver;
FMediaObserverReg : ICefRegistration; FMediaObserverReg : ICefRegistration;
FDevToolsMsgObserver : ICefDevToolsMessageObserver; FDevToolsMsgObserver : ICefDevToolsMessageObserver;
FDevToolsMsgObserverReg : ICefRegistration; FDevToolsMsgObserverReg : ICefRegistration;
FExtensionHandler : ICefExtensionHandler; FExtensionHandler : ICefExtensionHandler;
FDefaultUrl : ustring; FDefaultUrl : ustring;
FOptions : TChromiumOptions; FOptions : TChromiumOptions;
FFontOptions : TChromiumFontOptions; FFontOptions : TChromiumFontOptions;
FPDFPrintOptions : TPDFPrintOptions; FPDFPrintOptions : TPDFPrintOptions;
FDefaultEncoding : ustring; FDefaultEncoding : ustring;
FProxyType : integer; FProxyType : integer;
FProxyScheme : TCefProxyScheme; FProxyScheme : TCefProxyScheme;
FProxyServer : ustring; FProxyServer : ustring;
FProxyPort : integer; FProxyPort : integer;
FProxyUsername : ustring; FProxyUsername : ustring;
FProxyPassword : ustring; FProxyPassword : ustring;
FProxyScriptURL : ustring; FProxyScriptURL : ustring;
FProxyByPassList : ustring; FProxyByPassList : ustring;
FMaxConnectionsPerProxy : integer; FMaxConnectionsPerProxy : integer;
FUpdatePreferences : boolean; FUpdatePreferences : boolean;
FCustomHeaderName : ustring; FCustomHeaderName : ustring;
FCustomHeaderValue : ustring; FCustomHeaderValue : ustring;
FAddCustomHeader : boolean; FAddCustomHeader : boolean;
FDoNotTrack : boolean; FDoNotTrack : boolean;
FSendReferrer : boolean; FSendReferrer : boolean;
FHyperlinkAuditing : boolean; FHyperlinkAuditing : boolean;
FAllowOutdatedPlugins : boolean; FAllowOutdatedPlugins : boolean;
FAlwaysAuthorizePlugins : boolean; FAlwaysAuthorizePlugins : boolean;
FSpellChecking : boolean; FAlwaysOpenPDFExternally : boolean;
FSpellCheckerDicts : ustring; FSpellChecking : boolean;
FZoomStep : byte; FSpellCheckerDicts : ustring;
FZoomStepCS : TCriticalSection; FZoomStep : byte;
FPrefsFileName : string; FZoomStepCS : TCriticalSection;
FIsOSR : boolean; FPrefsFileName : string;
FSafeSearch : boolean; FIsOSR : boolean;
FOffline : boolean; FSafeSearch : boolean;
FYouTubeRestrict : integer; FOffline : boolean;
FPrintingEnabled : boolean; FYouTubeRestrict : integer;
FWindowInfo : TCefWindowInfo; FPrintingEnabled : boolean;
FBrowserSettings : TCefBrowserSettings; FWindowInfo : TCefWindowInfo;
FDevWindowInfo : TCefWindowInfo; FBrowserSettings : TCefBrowserSettings;
FDevBrowserSettings : TCefBrowserSettings; FDevWindowInfo : TCefWindowInfo;
FDragOperations : TCefDragOperations; FDevBrowserSettings : TCefBrowserSettings;
FDragOperations : TCefDragOperations;
{$IFDEF MSWINDOWS} {$IFDEF MSWINDOWS}
FDragDropManager : TCEFDragAndDropMgr; FDragDropManager : TCEFDragAndDropMgr;
FDropTargetWnd : HWND; FDropTargetWnd : HWND;
{$ENDIF} {$ENDIF}
FDragAndDropInitialized : boolean; FDragAndDropInitialized : boolean;
FWebRTCIPHandlingPolicy : TCefWebRTCHandlingPolicy; FWebRTCIPHandlingPolicy : TCefWebRTCHandlingPolicy;
@ -398,6 +399,7 @@ type
procedure SetHyperlinkAuditing(aValue : boolean); procedure SetHyperlinkAuditing(aValue : boolean);
procedure SetAllowOutdatedPlugins(aValue : boolean); procedure SetAllowOutdatedPlugins(aValue : boolean);
procedure SetAlwaysAuthorizePlugins(aValue : boolean); procedure SetAlwaysAuthorizePlugins(aValue : boolean);
procedure SetAlwaysOpenPDFExternally(aValue : boolean);
procedure SetSpellChecking(aValue : boolean); procedure SetSpellChecking(aValue : boolean);
procedure SetSpellCheckerDicts(const aValue : ustring); procedure SetSpellCheckerDicts(const aValue : ustring);
procedure SetWebRTCIPHandlingPolicy(aValue : TCefWebRTCHandlingPolicy); procedure SetWebRTCIPHandlingPolicy(aValue : TCefWebRTCHandlingPolicy);
@ -949,6 +951,7 @@ type
property HyperlinkAuditing : boolean read FHyperlinkAuditing write SetHyperlinkAuditing; property HyperlinkAuditing : boolean read FHyperlinkAuditing write SetHyperlinkAuditing;
property AllowOutdatedPlugins : boolean read FAllowOutdatedPlugins write SetAllowOutdatedPlugins; property AllowOutdatedPlugins : boolean read FAllowOutdatedPlugins write SetAllowOutdatedPlugins;
property AlwaysAuthorizePlugins : boolean read FAlwaysAuthorizePlugins write SetAlwaysAuthorizePlugins; property AlwaysAuthorizePlugins : boolean read FAlwaysAuthorizePlugins write SetAlwaysAuthorizePlugins;
property AlwaysOpenPDFExternally : boolean read FAlwaysOpenPDFExternally write SetAlwaysOpenPDFExternally;
property SpellChecking : boolean read FSpellChecking write SetSpellChecking; property SpellChecking : boolean read FSpellChecking write SetSpellChecking;
property SpellCheckerDicts : ustring read FSpellCheckerDicts write SetSpellCheckerDicts; property SpellCheckerDicts : ustring read FSpellCheckerDicts write SetSpellCheckerDicts;
property HasValidMainFrame : boolean read GetHasValidMainFrame; property HasValidMainFrame : boolean read GetHasValidMainFrame;
@ -1310,6 +1313,7 @@ begin
FSendReferrer := True; FSendReferrer := True;
FAllowOutdatedPlugins := False; FAllowOutdatedPlugins := False;
FAlwaysAuthorizePlugins := False; FAlwaysAuthorizePlugins := False;
FAlwaysOpenPDFExternally := False;
FSpellChecking := True; FSpellChecking := True;
FSpellCheckerDicts := ''; FSpellCheckerDicts := '';
FZoomStep := ZOOM_STEP_DEF; FZoomStep := ZOOM_STEP_DEF;
@ -3248,6 +3252,15 @@ begin
end; end;
end; end;
procedure TChromiumCore.SetAlwaysOpenPDFExternally(aValue : boolean);
begin
if (FAlwaysOpenPDFExternally <> aValue) then
begin
FAlwaysOpenPDFExternally := aValue;
FUpdatePreferences := True;
end;
end;
procedure TChromiumCore.SetSpellChecking(aValue : boolean); procedure TChromiumCore.SetSpellChecking(aValue : boolean);
begin begin
if (FSpellChecking <> aValue) then if (FSpellChecking <> aValue) then
@ -4081,6 +4094,7 @@ begin
UpdatePreference(aBrowser, 'enable_a_ping', FHyperlinkAuditing); UpdatePreference(aBrowser, 'enable_a_ping', FHyperlinkAuditing);
UpdatePreference(aBrowser, 'plugins.allow_outdated', FAllowOutdatedPlugins); UpdatePreference(aBrowser, 'plugins.allow_outdated', FAllowOutdatedPlugins);
UpdatePreference(aBrowser, 'plugins.always_authorize', FAlwaysAuthorizePlugins); UpdatePreference(aBrowser, 'plugins.always_authorize', FAlwaysAuthorizePlugins);
UpdatePreference(aBrowser, 'plugins.always_open_pdf_externally', FAlwaysOpenPDFExternally);
UpdatePreference(aBrowser, 'browser.enable_spellchecking', FSpellChecking); UpdatePreference(aBrowser, 'browser.enable_spellchecking', FSpellChecking);
UpdateStringListPref(aBrowser, 'spellcheck.dictionaries', FSpellCheckerDicts); UpdateStringListPref(aBrowser, 'spellcheck.dictionaries', FSpellCheckerDicts);
UpdatePreference(aBrowser, 'settings.force_google_safesearch', FSafeSearch); UpdatePreference(aBrowser, 'settings.force_google_safesearch', FSafeSearch);

View File

@ -2,7 +2,7 @@
"UpdateLazPackages" : [ "UpdateLazPackages" : [
{ {
"ForceNotify" : true, "ForceNotify" : true,
"InternalVersion" : 437, "InternalVersion" : 438,
"Name" : "cef4delphi_lazarus.lpk", "Name" : "cef4delphi_lazarus.lpk",
"Version" : "106.0.26.0" "Version" : "106.0.26.0"
} }