1
0
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:
Salvador Diaz Fau
2017-03-15 14:53:45 +01:00
parent b35837585c
commit 6178ab49a5
29 changed files with 1223 additions and 451 deletions

View File

@ -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.