You've already forked CEF4Delphi
mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-06-22 22:17:48 +02:00
Update to CEF3.2924.1575
MiniBrowser : Addition of a preferences form, replacement of URLEdt by URLCbx, addition of a custom scheme TCEFApplication : Addition of 3 new properties : EnableSpellingService, EnableMediaStream, EnableSpeechInput TCEFChromium : Renamed internal procedures, addition of UppdatePreferences and SavePreferences procedures, more checks in doOnBeforeClose and doOnClose. TCefChromiumWindow : WebBrowser_OnClose returns False by default
This commit is contained in:
@ -52,7 +52,7 @@ uses
|
||||
{$ELSE}
|
||||
Windows, Classes, SysUtils,
|
||||
{$ENDIF}
|
||||
uCEFTypes, uCEFInterfaces, uCEFLibFunctions;
|
||||
uCEFTypes, uCEFInterfaces, uCEFLibFunctions, uCEFResourceHandler;
|
||||
|
||||
const
|
||||
Kernel32DLL = 'kernel32.dll';
|
||||
@ -116,11 +116,18 @@ procedure CefSetCrashKeyValue(const aKey, aValue : ustring);
|
||||
procedure CefLog(const aFile : string; aLine, aSeverity : integer; const aMessage : string);
|
||||
procedure OutputDebugMessage(const aMessage : string);
|
||||
|
||||
function CefRegisterSchemeHandlerFactory(const SchemeName, HostName: ustring; const handler: TCefResourceHandlerClass): Boolean; overload;
|
||||
function CefRegisterSchemeHandlerFactory(const SchemeName, HostName: ustring; const factory: ICefSchemeHandlerFactory): Boolean; overload;
|
||||
function CefClearSchemeHandlerFactories: Boolean;
|
||||
|
||||
function CefAddCrossOriginWhitelistEntry(const SourceOrigin, TargetProtocol, TargetDomain: ustring; AllowTargetSubdomains: Boolean): Boolean;
|
||||
function CefRemoveCrossOriginWhitelistEntry(const SourceOrigin, TargetProtocol, TargetDomain: ustring; AllowTargetSubdomains: Boolean): Boolean;
|
||||
function CefClearCrossOriginWhitelist: Boolean;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
uCEFConstants, uCEFApplication;
|
||||
uCEFConstants, uCEFApplication, uCEFSchemeHandlerFactory;
|
||||
|
||||
function CefColorGetA(color: TCefColor): Byte;
|
||||
begin
|
||||
@ -446,4 +453,63 @@ begin
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
function CefRegisterSchemeHandlerFactory(const SchemeName, HostName: ustring;
|
||||
const handler: TCefResourceHandlerClass): Boolean;
|
||||
var
|
||||
s, h: TCefString;
|
||||
begin
|
||||
s := CefString(SchemeName);
|
||||
h := CefString(HostName);
|
||||
Result := cef_register_scheme_handler_factory(
|
||||
@s,
|
||||
@h,
|
||||
CefGetData(TCefSchemeHandlerFactoryOwn.Create(handler) as ICefBase)) <> 0;
|
||||
end;
|
||||
|
||||
function CefRegisterSchemeHandlerFactory(const SchemeName, HostName: ustring;
|
||||
const factory: ICefSchemeHandlerFactory): Boolean;
|
||||
var
|
||||
s, h: TCefString;
|
||||
begin
|
||||
s := CefString(SchemeName);
|
||||
h := CefString(HostName);
|
||||
Result := cef_register_scheme_handler_factory(
|
||||
@s,
|
||||
@h,
|
||||
CefGetData(factory as ICefBase)) <> 0;
|
||||
end;
|
||||
|
||||
function CefClearSchemeHandlerFactories: Boolean;
|
||||
begin
|
||||
Result := cef_clear_scheme_handler_factories <> 0;
|
||||
end;
|
||||
|
||||
function CefAddCrossOriginWhitelistEntry(const SourceOrigin, TargetProtocol,
|
||||
TargetDomain: ustring; AllowTargetSubdomains: Boolean): Boolean;
|
||||
var
|
||||
so, tp, td: TCefString;
|
||||
begin
|
||||
so := CefString(SourceOrigin);
|
||||
tp := CefString(TargetProtocol);
|
||||
td := CefString(TargetDomain);
|
||||
Result := cef_add_cross_origin_whitelist_entry(@so, @tp, @td, Ord(AllowTargetSubdomains)) <> 0;
|
||||
end;
|
||||
|
||||
function CefRemoveCrossOriginWhitelistEntry(
|
||||
const SourceOrigin, TargetProtocol, TargetDomain: ustring;
|
||||
AllowTargetSubdomains: Boolean): Boolean;
|
||||
var
|
||||
so, tp, td: TCefString;
|
||||
begin
|
||||
so := CefString(SourceOrigin);
|
||||
tp := CefString(TargetProtocol);
|
||||
td := CefString(TargetDomain);
|
||||
Result := cef_remove_cross_origin_whitelist_entry(@so, @tp, @td, Ord(AllowTargetSubdomains)) <> 0;
|
||||
end;
|
||||
|
||||
function CefClearCrossOriginWhitelist: Boolean;
|
||||
begin
|
||||
Result := cef_clear_cross_origin_whitelist <> 0;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
Reference in New Issue
Block a user