1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-02-02 10:25:26 +02:00

Update to CEF 78.2.9

This commit is contained in:
Salvador Díaz Fau 2019-10-30 10:26:48 +01:00
parent 2fe89069a4
commit f0106c20d7
16 changed files with 68 additions and 108 deletions

View File

@ -3,10 +3,10 @@ CEF4Delphi is an open source project created by Salvador D
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 77.1.18 which includes Chromium 77.0.3865.120.
CEF4Delphi uses CEF 78.2.9 which includes Chromium 78.0.3904.70.
The CEF binaries used by CEF4Delphi are available for download at spotify :
* [32 bits](http://opensource.spotify.com/cefbuilds/cef_binary_77.1.18%2Bg8e8d602%2Bchromium-77.0.3865.120_windows32.tar.bz2)
* [64 bits](http://opensource.spotify.com/cefbuilds/cef_binary_77.1.18%2Bg8e8d602%2Bchromium-77.0.3865.120_windows64.tar.bz2)
* [32 bits](http://opensource.spotify.com/cefbuilds/cef_binary_78.2.9%2Bg4907ec5%2Bchromium-78.0.3904.70_windows32.tar.bz2)
* [64 bits](http://opensource.spotify.com/cefbuilds/cef_binary_78.2.9%2Bg4907ec5%2Bchromium-78.0.3904.70_windows64.tar.bz2)
CEF4Delphi was developed and tested on Delphi 10.3 Rio and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 10.2 and Lazarus 2.0.4/FPC 3.0.4. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.

View File

@ -206,13 +206,16 @@ var
begin
try
// The new request context overrides several GlobalCEFApp properties like :
// cache, AcceptLanguageList, PersistSessionCookies, PersistUserPreferences,
// IgnoreCertificateErrors and EnableNetSecurityExpiration
// cache, AcceptLanguageList, PersistSessionCookies, PersistUserPreferences and
// IgnoreCertificateErrors
// If you use an empty cache path, CEF will use in-memory cache.
// The cache directories of all the browsers *MUST* be a subdirectory of
// GlobalCEFApp.RootCache unless you use a blank cache (in-memory).
if MainForm.NewContextChk.Checked then
TempContext := TCefRequestContextRef.New('', '', False, False, False, False)
TempContext := TCefRequestContextRef.New('', '', False, False, False)
else
TempContext := nil;

View File

@ -206,13 +206,16 @@ var
TempContext : ICefRequestContext;
begin
// The new request context overrides several GlobalCEFApp properties like :
// cache, AcceptLanguageList, PersistSessionCookies, PersistUserPreferences,
// IgnoreCertificateErrors and EnableNetSecurityExpiration
// cache, AcceptLanguageList, PersistSessionCookies, PersistUserPreferences and
// IgnoreCertificateErrors.
// If you use an empty cache path, CEF will use in-memory cache.
// The cache directories of all the browsers *MUST* be a subdirectory of
// GlobalCEFApp.RootCache unless you use a blank cache (in-memory).
if MainForm.NewContextChk.Checked then
TempContext := TCefRequestContextRef.New('', '', False, False, False, False)
TempContext := TCefRequestContextRef.New('', '', False, False, False)
else
TempContext := nil;

View File

@ -21,7 +21,7 @@
</CompilerOptions>
<Description Value="CEF4Delphi is an open source project created by Salvador Díaz Fau to embed Chromium-based browsers in applications made with Delphi or Lazarus/FPC."/>
<License Value="MPL 1.1"/>
<Version Major="77" Minor="1" Release="18"/>
<Version Major="78" Minor="2" Release="9"/>
<Files Count="144">
<Item1>
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>

View File

@ -60,15 +60,15 @@ uses
uCEFTypes, uCEFInterfaces, uCEFBaseRefCounted, uCEFSchemeRegistrar;
const
CEF_SUPPORTED_VERSION_MAJOR = 77;
CEF_SUPPORTED_VERSION_MINOR = 1;
CEF_SUPPORTED_VERSION_RELEASE = 18;
CEF_SUPPORTED_VERSION_MAJOR = 78;
CEF_SUPPORTED_VERSION_MINOR = 2;
CEF_SUPPORTED_VERSION_RELEASE = 9;
CEF_SUPPORTED_VERSION_BUILD = 0;
CEF_CHROMEELF_VERSION_MAJOR = 77;
CEF_CHROMEELF_VERSION_MAJOR = 78;
CEF_CHROMEELF_VERSION_MINOR = 0;
CEF_CHROMEELF_VERSION_RELEASE = 3865;
CEF_CHROMEELF_VERSION_BUILD = 120;
CEF_CHROMEELF_VERSION_RELEASE = 3904;
CEF_CHROMEELF_VERSION_BUILD = 70;
{$IFDEF MSWINDOWS}
LIBCEF_DLL = 'libcef.dll';
@ -106,7 +106,6 @@ type
FPersistSessionCookies : Boolean;
FPersistUserPreferences : boolean;
FIgnoreCertificateErrors : Boolean;
FEnableNetSecurityExpiration : boolean;
FBackgroundColor : TCefColor;
FAcceptLanguageList : ustring;
FApplicationClientID : ustring;
@ -382,7 +381,6 @@ type
property RemoteDebuggingPort : Integer read FRemoteDebuggingPort write FRemoteDebuggingPort;
property UncaughtExceptionStackSize : Integer read FUncaughtExceptionStackSize write FUncaughtExceptionStackSize;
property IgnoreCertificateErrors : Boolean read FIgnoreCertificateErrors write FIgnoreCertificateErrors;
property EnableNetSecurityExpiration : boolean read FEnableNetSecurityExpiration write FEnableNetSecurityExpiration;
property BackgroundColor : TCefColor read FBackgroundColor write FBackgroundColor;
property AcceptLanguageList : ustring read FAcceptLanguageList write FAcceptLanguageList;
property ApplicationClientID : ustring read FApplicationClientID write FApplicationClientID;
@ -604,7 +602,6 @@ begin
FPersistSessionCookies := False;
FPersistUserPreferences := False;
FIgnoreCertificateErrors := False;
FEnableNetSecurityExpiration := False;
FBackgroundColor := 0;
FAcceptLanguageList := '';
FApplicationClientID := '';
@ -1156,7 +1153,6 @@ begin
aSettings.remote_debugging_port := FRemoteDebuggingPort;
aSettings.uncaught_exception_stack_size := FUncaughtExceptionStackSize;
aSettings.ignore_certificate_errors := Ord(FIgnoreCertificateErrors);
aSettings.enable_net_security_expiration := Ord(FEnableNetSecurityExpiration);
aSettings.background_color := FBackgroundColor;
aSettings.accept_language_list := CefString(FAcceptLanguageList);
aSettings.application_client_id_for_file_scanning := CefString(FApplicationClientID);
@ -2276,11 +2272,9 @@ end;
function TCefApplication.Load_cef_ssl_info_capi_h : boolean;
begin
{$IFDEF FPC}Pointer({$ENDIF}cef_is_cert_status_error{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_is_cert_status_error');
{$IFDEF FPC}Pointer({$ENDIF}cef_is_cert_status_minor_error{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_is_cert_status_minor_error');
{$IFDEF FPC}Pointer({$ENDIF}cef_is_cert_status_error{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_is_cert_status_error');
Result := assigned(cef_is_cert_status_error) and
assigned(cef_is_cert_status_minor_error);
Result := assigned(cef_is_cert_status_error);
end;
function TCefApplication.Load_cef_stream_capi_h : boolean;

View File

@ -541,7 +541,6 @@ type
procedure LoadURL(const aURL : ustring; const aFrameName : ustring = ''); overload;
procedure LoadURL(const aURL : ustring; const aFrame : ICefFrame); overload;
procedure LoadURL(const aURL : ustring; const aFrameIdentifier : int64); overload;
procedure LoadString(const aString : ustring; const aURL : ustring = '');
procedure LoadRequest(const aRequest: ICefRequest);
procedure GoBack;
@ -1803,17 +1802,9 @@ begin
end;
end;
procedure TChromium.LoadString(const aString : ustring; const aURL : ustring);
var
TempFrame : ICefFrame;
begin
if Initialized then
begin
TempFrame := FBrowser.MainFrame;
if (TempFrame <> nil) and TempFrame.IsValid then TempFrame.LoadString(aString, aURL);
end;
end;
// WARNING: This function will fail with "bad IPC message" reason
// INVALID_INITIATOR_ORIGIN (213) unless you first navigate to the request
// origin using some other mechanism (LoadURL, link click, etc).
procedure TChromium.LoadRequest(const aRequest: ICefRequest);
var
TempFrame : ICefFrame;
@ -2377,7 +2368,7 @@ begin
end;
// TChromium.VisitURLCookies triggers the TChromium.OnCookiesVisited event for each cookie
// aID is an optional parameter to identify which VisitAllCookies call has triggered the
// aID is an optional parameter to identify which VisitURLCookies call has triggered the
// OnCookiesVisited event.
function TChromium.VisitURLCookies(const url : ustring; includeHttpOnly : boolean; aID : integer) : boolean;
var

View File

@ -508,7 +508,6 @@ type
procedure LoadURL(const aURL : ustring; const aFrameName : ustring = ''); overload;
procedure LoadURL(const aURL : ustring; const aFrame : ICefFrame); overload;
procedure LoadURL(const aURL : ustring; const aFrameIdentifier : int64); overload;
procedure LoadString(const aString : ustring; const aURL : ustring = '');
procedure LoadRequest(const aRequest: ICefRequest);
procedure GoBack;
@ -1602,17 +1601,9 @@ begin
end;
end;
procedure TFMXChromium.LoadString(const aString : ustring; const aURL : ustring);
var
TempFrame : ICefFrame;
begin
if Initialized then
begin
TempFrame := FBrowser.MainFrame;
if (TempFrame <> nil) and TempFrame.IsValid then TempFrame.LoadString(aString, aURL);
end;
end;
// WARNING: This function will fail with "bad IPC message" reason
// INVALID_INITIATOR_ORIGIN (213) unless you first navigate to the request
// origin using some other mechanism (LoadURL, link click, etc).
procedure TFMXChromium.LoadRequest(const aRequest: ICefRequest);
var
TempFrame : ICefFrame;
@ -2176,7 +2167,7 @@ begin
end;
// TFMXChromium.VisitURLCookies triggers the TFMXChromium.OnCookiesVisited event for each cookie
// aID is an optional parameter to identify which VisitAllCookies call has triggered the
// aID is an optional parameter to identify which VisitURLCookies call has triggered the
// OnCookiesVisited event.
function TFMXChromium.VisitURLCookies(const url : ustring; includeHttpOnly : boolean; aID : integer) : boolean;
var

View File

@ -69,7 +69,6 @@ type
procedure GetTextProc(const proc: TCefStringVisitorProc);
procedure LoadRequest(const request: ICefRequest);
procedure LoadUrl(const url: ustring);
procedure LoadString(const str, url: ustring);
procedure ExecuteJavaScript(const code, scriptUrl: ustring; startLine: Integer);
function IsMain: Boolean;
function IsFocused: Boolean;
@ -186,22 +185,12 @@ begin
PCefFrame(FData)^.load_request(PCefFrame(FData), CefGetData(request));
end;
procedure TCefFrameRef.LoadString(const str, url: ustring);
var
TempString, TempURL : TCefString;
begin
TempString := CefString(str);
TempURL := CefString(url);
PCefFrame(FData)^.load_string(PCefFrame(FData), @TempString, @TempURL);
end;
procedure TCefFrameRef.LoadUrl(const url: ustring);
var
TempURL : TCefString;
begin
TempURL := CefString(url);
PCefFrame(FData)^.load_url(PCefFrame(FData), @TempURL);
end;
procedure TCefFrameRef.Paste;

View File

@ -694,7 +694,6 @@ type
procedure GetTextProc(const proc: TCefStringVisitorProc);
procedure LoadRequest(const request: ICefRequest);
procedure LoadUrl(const url: ustring);
procedure LoadString(const str, url: ustring);
procedure ExecuteJavaScript(const code, scriptUrl: ustring; startLine: Integer);
function IsMain: Boolean;
function IsFocused: Boolean;
@ -775,7 +774,8 @@ type
procedure SetMimeType(const mimetype: ustring);
function GetCharset: ustring;
procedure SetCharset(const charset: ustring);
function GetHeader(const name: ustring): ustring;
function GetHeaderByName(const name: ustring): ustring;
procedure SetHeaderByName(const name, value: ustring; overwrite: boolean);
procedure GetHeaderMap(const headerMap: ICefStringMultimap);
procedure SetHeaderMap(const headerMap: ICefStringMultimap);
function GetURL: ustring;
@ -2031,7 +2031,6 @@ type
['{ACBD2395-E9C1-49E5-B7F3-344DAA4A0F12}']
function IsValid: Boolean;
function IsReadOnly: Boolean;
function Copy: ICefPrintSettings;
procedure SetOrientation(landscape: Boolean);
function IsLandscape: Boolean;
procedure SetPrinterPrintableArea(const physicalSizeDeviceUnits: PCefSize; const printableAreaDeviceUnits: PCefRect; landscapeNeedsFlip: Boolean);

View File

@ -157,7 +157,6 @@ var
// /include/capi/cef_ssl_info_capi.h
cef_is_cert_status_error : function(status : TCefCertStatus) : integer; cdecl;
cef_is_cert_status_minor_error : function(status : TCefCertStatus) : integer; cdecl;
// /include/capi/cef_stream_capi.h
cef_stream_reader_create_for_file : function(const fileName: PCefString): PCefStreamReader; cdecl;

View File

@ -153,7 +153,6 @@ function CustomPathIsUNC(const aPath : string) : boolean;
function GetModulePath : string;
function CefIsCertStatusError(Status : TCefCertStatus) : boolean;
function CefIsCertStatusMinorError(Status : TCefCertStatus) : boolean;
function CefCrashReportingEnabled : boolean;
procedure CefSetCrashKeyValue(const aKey, aValue : ustring);
@ -714,13 +713,6 @@ begin
(cef_is_cert_status_error(Status) <> 0);
end;
function CefIsCertStatusMinorError(Status : TCefCertStatus) : boolean;
begin
Result := (GlobalCEFApp <> nil) and
GlobalCEFApp.LibLoaded and
(cef_is_cert_status_minor_error(Status) <> 0);
end;
function CefCrashReportingEnabled : boolean;
begin
Result := (GlobalCEFApp <> nil) and

View File

@ -56,7 +56,6 @@ type
protected
function IsValid: Boolean;
function IsReadOnly: Boolean;
function Copy: ICefPrintSettings;
procedure SetOrientation(landscape: Boolean);
function IsLandscape: Boolean;
procedure SetPrinterPrintableArea(const physicalSizeDeviceUnits: PCefSize; const printableAreaDeviceUnits: PCefRect; landscapeNeedsFlip: Boolean);
@ -88,11 +87,6 @@ uses
uCEFMiscFunctions, uCEFLibFunctions;
function TCefPrintSettingsRef.Copy: ICefPrintSettings;
begin
Result := UnWrap(PCefPrintSettings(FData)^.copy(FData))
end;
function TCefPrintSettingsRef.GetColorModel: TCefColorModel;
begin
Result := PCefPrintSettings(FData)^.get_color_model(FData);

View File

@ -88,7 +88,7 @@ type
class function UnWrap(data: Pointer): ICefRequestContext;
class function Global: ICefRequestContext;
class function New(const settings: PCefRequestContextSettings; const handler: ICefRequestContextHandler = nil): ICefRequestContext; overload;
class function New(const aCache, aAcceptLanguageList : ustring; aPersistSessionCookies, aPersistUserPreferences, aIgnoreCertificateErrors, aEnableNetSecurityExpiration : boolean; const handler: ICefRequestContextHandler = nil): ICefRequestContext; overload;
class function New(const aCache, aAcceptLanguageList : ustring; aPersistSessionCookies, aPersistUserPreferences, aIgnoreCertificateErrors : boolean; const handler: ICefRequestContextHandler = nil): ICefRequestContext; overload;
class function Shared(const other: ICefRequestContext; const handler: ICefRequestContextHandler): ICefRequestContext;
end;
@ -169,7 +169,6 @@ class function TCefRequestContextRef.New(const aCache : us
aPersistSessionCookies : boolean;
aPersistUserPreferences : boolean;
aIgnoreCertificateErrors : boolean;
aEnableNetSecurityExpiration : boolean;
const handler : ICefRequestContextHandler): ICefRequestContext;
var
TempSettings : TCefRequestContextSettings;
@ -179,7 +178,6 @@ begin
TempSettings.persist_session_cookies := Ord(aPersistSessionCookies);
TempSettings.persist_user_preferences := Ord(aPersistUserPreferences);
TempSettings.ignore_certificate_errors := Ord(aIgnoreCertificateErrors);
TempSettings.enable_net_security_expiration := Ord(aEnableNetSecurityExpiration);
TempSettings.accept_language_list := CefString(aAcceptLanguageList);
Result := UnWrap(cef_request_context_create_context(@TempSettings, CefGetData(handler)));

View File

@ -65,7 +65,8 @@ type
procedure SetMimeType(const mimetype: ustring);
function GetCharset: ustring;
procedure SetCharset(const charset: ustring);
function GetHeader(const name: ustring): ustring;
function GetHeaderByName(const name: ustring): ustring;
procedure SetHeaderByName(const name, value: ustring; overwrite: boolean);
procedure GetHeaderMap(const headerMap: ICefStringMultimap);
procedure SetHeaderMap(const headerMap: ICefStringMultimap);
function GetURL: ustring;
@ -92,12 +93,21 @@ begin
Result := PCefResponse(FData)^.get_error(FData);
end;
function TCefResponseRef.GetHeader(const name: ustring): ustring;
function TCefResponseRef.GetHeaderByName(const name: ustring): ustring;
var
TempName : TCefString;
begin
TempName := CefString(name);
Result := CefStringFreeAndGet(PCefResponse(FData)^.get_header(PCefResponse(FData), @TempName));
Result := CefStringFreeAndGet(PCefResponse(FData)^.get_header_by_name(PCefResponse(FData), @TempName));
end;
procedure TCefResponseRef.SetHeaderByName(const name, value: ustring; overwrite: boolean);
var
TempName, TempValue : TCefString;
begin
TempName := CefString(name);
TempValue := CefString(value);
PCefResponse(FData)^.set_header_by_name(PCefResponse(FData), @TempName, @TempValue, ord(overwrite));
end;
procedure TCefResponseRef.GetHeaderMap(const headerMap: ICefStringMultimap);

View File

@ -1051,7 +1051,6 @@ type
remote_debugging_port : Integer;
uncaught_exception_stack_size : Integer;
ignore_certificate_errors : Integer;
enable_net_security_expiration : integer;
background_color : TCefColor;
accept_language_list : TCefString;
application_client_id_for_file_scanning : TCefString;
@ -1190,7 +1189,6 @@ type
persist_session_cookies : Integer;
persist_user_preferences : Integer;
ignore_certificate_errors : Integer;
enable_net_security_expiration : integer;
accept_language_list : TCefString;
end;
@ -1784,23 +1782,24 @@ type
// /include/capi/cef_response_capi.h (cef_response_t)
TCefResponse = record
base : TCefBaseRefCounted;
is_read_only : function(self: PCefResponse): Integer; stdcall;
get_error : function(self: PCefResponse): TCefErrorCode; stdcall;
set_error : procedure(self: PCefResponse; error: TCefErrorCode); stdcall;
get_status : function(self: PCefResponse): Integer; stdcall;
set_status : procedure(self: PCefResponse; status: Integer); stdcall;
get_status_text : function(self: PCefResponse): PCefStringUserFree; stdcall;
set_status_text : procedure(self: PCefResponse; const statusText: PCefString); stdcall;
get_mime_type : function(self: PCefResponse): PCefStringUserFree; stdcall;
set_mime_type : procedure(self: PCefResponse; const mimeType: PCefString); stdcall;
get_charset : function(self: PCefResponse): PCefStringUserFree; stdcall;
set_charset : procedure(self: PCefResponse; const charset: PCefString); stdcall;
get_header : function(self: PCefResponse; const name: PCefString): PCefStringUserFree; stdcall;
get_header_map : procedure(self: PCefResponse; headerMap: TCefStringMultimap); stdcall;
set_header_map : procedure(self: PCefResponse; headerMap: TCefStringMultimap); stdcall;
get_url : function(self: PCefResponse): PCefStringUserFree; stdcall;
set_url : procedure(self: PCefResponse; const url: PCefString); stdcall;
base : TCefBaseRefCounted;
is_read_only : function(self: PCefResponse): Integer; stdcall;
get_error : function(self: PCefResponse): TCefErrorCode; stdcall;
set_error : procedure(self: PCefResponse; error: TCefErrorCode); stdcall;
get_status : function(self: PCefResponse): Integer; stdcall;
set_status : procedure(self: PCefResponse; status: Integer); stdcall;
get_status_text : function(self: PCefResponse): PCefStringUserFree; stdcall;
set_status_text : procedure(self: PCefResponse; const statusText: PCefString); stdcall;
get_mime_type : function(self: PCefResponse): PCefStringUserFree; stdcall;
set_mime_type : procedure(self: PCefResponse; const mimeType: PCefString); stdcall;
get_charset : function(self: PCefResponse): PCefStringUserFree; stdcall;
set_charset : procedure(self: PCefResponse; const charset: PCefString); stdcall;
get_header_by_name : function(self: PCefResponse; const name: PCefString): PCefStringUserFree; stdcall;
set_header_by_name : procedure(self: PCefResponse; const name: PCefString; const value: PCefString; overwrite: integer); stdcall;
get_header_map : procedure(self: PCefResponse; headerMap: TCefStringMultimap); stdcall;
set_header_map : procedure(self: PCefResponse; headerMap: TCefStringMultimap); stdcall;
get_url : function(self: PCefResponse): PCefStringUserFree; stdcall;
set_url : procedure(self: PCefResponse; const url: PCefString); stdcall;
end;
// /include/capi/cef_response_filter_capi.h (cef_response_filter_t)
@ -1978,7 +1977,6 @@ type
base : TCefBaseRefCounted;
is_valid : function(self: PCefPrintSettings): Integer; stdcall;
is_read_only : function(self: PCefPrintSettings): Integer; stdcall;
copy : function(self: PCefPrintSettings): PCefPrintSettings; stdcall;
set_orientation : procedure(self: PCefPrintSettings; landscape: Integer); stdcall;
is_landscape : function(self: PCefPrintSettings): Integer; stdcall;
set_printer_printable_area : procedure(self: PCefPrintSettings; const physical_size_device_units: PCefSize; const printable_area_device_units: PCefRect; landscape_needs_flip: Integer); stdcall;
@ -2560,7 +2558,6 @@ type
get_text : procedure(self: PCefFrame; visitor: PCefStringVisitor); stdcall;
load_request : procedure(self: PCefFrame; request: PCefRequest); stdcall;
load_url : procedure(self: PCefFrame; const url: PCefString); stdcall;
load_string : procedure(self: PCefFrame; const stringVal, url: PCefString); stdcall;
execute_java_script : procedure(self: PCefFrame; const code, script_url: PCefString; start_line: Integer); stdcall;
is_main : function(self: PCefFrame): Integer; stdcall;
is_focused : function(self: PCefFrame): Integer; stdcall;

View File

@ -2,9 +2,9 @@
"UpdateLazPackages" : [
{
"ForceNotify" : true,
"InternalVersion" : 51,
"InternalVersion" : 52,
"Name" : "cef4delphi_lazarus.lpk",
"Version" : "77.1.18.0"
"Version" : "78.2.9.0"
}
],
"UpdatePackageData" : {