diff --git a/README.md b/README.md index 2edb5490..38b603c3 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,10 @@ CEF4Delphi is an open source project created by Salvador Díaz Fau to embed Chro CEF4Delphi is based on DCEF3, made by Henri Gourvest. The original license of DCEF3 still applies to CEF4Delphi. Read the license terms in the first lines of any *.pas file. -CEF4Delphi uses CEF 3.3497.1833.g13f506f which includes Chromium 69.0.3497.100. +CEF4Delphi uses CEF 3.3497.1834.g0a87d5f which includes Chromium 69.0.3497.100. The CEF3 binaries used by CEF4Delphi are available for download at spotify : -* [32 bits](http://opensource.spotify.com/cefbuilds/cef_binary_3.3497.1833.g13f506f_windows32.tar.bz2) -* [64 bits](http://opensource.spotify.com/cefbuilds/cef_binary_3.3497.1833.g13f506f_windows64.tar.bz2) +* [32 bits](http://opensource.spotify.com/cefbuilds/cef_binary_3.3497.1834.g0a87d5f_windows32.tar.bz2) +* [64 bits](http://opensource.spotify.com/cefbuilds/cef_binary_3.3497.1834.g0a87d5f_windows64.tar.bz2) CEF4Delphi was developed and tested on Delphi 10.2 Tokyo and it has been tested in Delphi 7, Delphi XE, Delphi 10 and Lazarus 1.8.4/FPC 3.0.4. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components. diff --git a/source/uCEFApplication.pas b/source/uCEFApplication.pas index e3a37072..7935d5d6 100644 --- a/source/uCEFApplication.pas +++ b/source/uCEFApplication.pas @@ -138,6 +138,7 @@ type FAppSettings : TCefSettings; FDeviceScaleFactor : single; FCheckDevToolsResources : boolean; + FCheckExtensions : boolean; FDisableGPUCache : boolean; FStatus : TCefAplicationStatus; FMissingLibFiles : string; @@ -259,6 +260,7 @@ type function FindFlashDLL(var aFileName : string) : boolean; procedure ShowErrorMessageDlg(const aError : string); virtual; function ParseProcessType : TCefProcessType; + procedure DisableExtensions; public constructor Create; @@ -355,6 +357,7 @@ type property ReRaiseExceptions : boolean read FReRaiseExceptions write FReRaiseExceptions; property DeviceScaleFactor : single read FDeviceScaleFactor; property CheckDevToolsResources : boolean read FCheckDevToolsResources write FCheckDevToolsResources; + property CheckExtensions : boolean read FCheckExtensions write FCheckExtensions; property LocalesRequired : ustring read FLocalesRequired write FLocalesRequired; property CustomFlashPath : ustring read FCustomFlashPath write FCustomFlashPath; property ProcessType : TCefProcessType read FProcessType; @@ -507,6 +510,7 @@ begin FSetCurrentDir := False; FGlobalContextInitialized := False; FCheckDevToolsResources := True; + FCheckExtensions := True; FDisableGPUCache := True; FLocalesRequired := ''; FProcessType := ParseProcessType; @@ -580,6 +584,12 @@ begin end; end; +procedure TCefApplication.DisableExtensions; +begin + CheckExtensions := False; + AddCustomCommandLine('--disable-extensions'); +end; + procedure TCefApplication.AfterConstruction; begin inherited AfterConstruction; @@ -814,7 +824,7 @@ begin end; TempMissingFrm := not(CheckDLLs(FFrameworkDirPath, FMissingLibFiles)); - TempMissingRsc := not(CheckResources(FResourcesDirPath, FMissingLibFiles, FCheckDevToolsResources)); + TempMissingRsc := not(CheckResources(FResourcesDirPath, FMissingLibFiles, FCheckDevToolsResources, FCheckExtensions)); TempMissingLoc := not(CheckLocales(FLocalesDirPath, FMissingLibFiles, FLocalesRequired)); if TempMissingFrm or TempMissingRsc or TempMissingLoc then @@ -855,6 +865,7 @@ begin if not(Is32BitProcess) then Result := True else + begin FStatus := asErrorDLLVersion; TempString := 'Wrong CEF3 binaries !' + diff --git a/source/uCEFMiscFunctions.pas b/source/uCEFMiscFunctions.pas index ff2c1462..8132bf8c 100644 --- a/source/uCEFMiscFunctions.pas +++ b/source/uCEFMiscFunctions.pas @@ -167,7 +167,7 @@ function GetDLLVersion(const aDLLFile : string; var aVersionInfo : TFileVersion function SplitLongString(aSrcString : string) : string; function GetAbsoluteDirPath(const aSrcPath : string; var aRsltPath : string) : boolean; function CheckLocales(const aLocalesDirPath : string; var aMissingFiles : string; const aLocalesRequired : string = '') : boolean; -function CheckResources(const aResourcesDirPath : string; var aMissingFiles : string; aCheckDevResources: boolean = True) : boolean; +function CheckResources(const aResourcesDirPath : string; var aMissingFiles : string; aCheckDevResources: boolean = True; aCheckExtensions: boolean = True) : boolean; function CheckDLLs(const aFrameworkDirPath : string; var aMissingFiles : string) : boolean; function CheckDLLVersion(const aDLLFile : string; aMajor, aMinor, aRelease, aBuild : uint16) : boolean; function FileVersionInfoToString(const aVersionInfo : TFileVersionInfo) : string; @@ -909,7 +909,7 @@ begin end; end; -function CheckResources(const aResourcesDirPath : string; var aMissingFiles : string; aCheckDevResources: boolean) : boolean; +function CheckResources(const aResourcesDirPath : string; var aMissingFiles : string; aCheckDevResources, aCheckExtensions: boolean) : boolean; var TempDir : string; TempList : TStringList; @@ -928,8 +928,8 @@ begin TempList.Add(TempDir + 'cef.pak'); TempList.Add(TempDir + 'cef_100_percent.pak'); TempList.Add(TempDir + 'cef_200_percent.pak'); - TempList.Add(TempDir + 'cef_extensions.pak'); + if aCheckExtensions then TempList.Add(TempDir + 'cef_extensions.pak'); if aCheckDevResources then TempList.Add(TempDir + 'devtools_resources.pak'); if TempExists then