You've already forked CEF4Delphi
mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-06-12 22:07:39 +02:00
Update to CEF 3.3440.1802.g9512b3f
- GlobalCEFApp.SitePerProcess default value is now TRUE . - Added TChromium.SpellChecking and TChromium.SpellCheckerDicts properties.
This commit is contained in:
@ -60,14 +60,14 @@ uses
|
|||||||
|
|
||||||
const
|
const
|
||||||
CEF_SUPPORTED_VERSION_MAJOR = 3;
|
CEF_SUPPORTED_VERSION_MAJOR = 3;
|
||||||
CEF_SUPPORTED_VERSION_MINOR = 3396;
|
CEF_SUPPORTED_VERSION_MINOR = 3440;
|
||||||
CEF_SUPPORTED_VERSION_RELEASE = 1786;
|
CEF_SUPPORTED_VERSION_RELEASE = 1802;
|
||||||
CEF_SUPPORTED_VERSION_BUILD = 0;
|
CEF_SUPPORTED_VERSION_BUILD = 0;
|
||||||
|
|
||||||
CEF_CHROMEELF_VERSION_MAJOR = 67;
|
CEF_CHROMEELF_VERSION_MAJOR = 68;
|
||||||
CEF_CHROMEELF_VERSION_MINOR = 0;
|
CEF_CHROMEELF_VERSION_MINOR = 0;
|
||||||
CEF_CHROMEELF_VERSION_RELEASE = 3396;
|
CEF_CHROMEELF_VERSION_RELEASE = 3440;
|
||||||
CEF_CHROMEELF_VERSION_BUILD = 79;
|
CEF_CHROMEELF_VERSION_BUILD = 75;
|
||||||
|
|
||||||
LIBCEF_DLL = 'libcef.dll';
|
LIBCEF_DLL = 'libcef.dll';
|
||||||
CHROMEELF_DLL = 'chrome_elf.dll';
|
CHROMEELF_DLL = 'chrome_elf.dll';
|
||||||
@ -473,7 +473,7 @@ begin
|
|||||||
FOnRegisterCustomSchemes := nil;
|
FOnRegisterCustomSchemes := nil;
|
||||||
FEnableHighDPISupport := False;
|
FEnableHighDPISupport := False;
|
||||||
FMuteAudio := False;
|
FMuteAudio := False;
|
||||||
FSitePerProcess := False;
|
FSitePerProcess := True;
|
||||||
FDisableWebSecurity := False;
|
FDisableWebSecurity := False;
|
||||||
FDisablePDFExtension := False;
|
FDisablePDFExtension := False;
|
||||||
FReRaiseExceptions := False;
|
FReRaiseExceptions := False;
|
||||||
@ -939,7 +939,6 @@ end;
|
|||||||
procedure TCefApplication.InitializeSettings(var aSettings : TCefSettings);
|
procedure TCefApplication.InitializeSettings(var aSettings : TCefSettings);
|
||||||
begin
|
begin
|
||||||
aSettings.size := SizeOf(TCefSettings);
|
aSettings.size := SizeOf(TCefSettings);
|
||||||
aSettings.single_process := Ord(FSingleProcess);
|
|
||||||
aSettings.no_sandbox := Ord(FNoSandbox);
|
aSettings.no_sandbox := Ord(FNoSandbox);
|
||||||
aSettings.browser_subprocess_path := CefString(FBrowserSubprocessPath);
|
aSettings.browser_subprocess_path := CefString(FBrowserSubprocessPath);
|
||||||
aSettings.framework_dir_path := CefString(FFrameworkDirPath);
|
aSettings.framework_dir_path := CefString(FFrameworkDirPath);
|
||||||
@ -1314,6 +1313,9 @@ begin
|
|||||||
commandLine.AppendSwitch('--disable-gpu-compositing');
|
commandLine.AppendSwitch('--disable-gpu-compositing');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
if FSingleProcess then
|
||||||
|
commandLine.AppendSwitch('--single-process');
|
||||||
|
|
||||||
case FSmoothScrolling of
|
case FSmoothScrolling of
|
||||||
STATE_ENABLED : commandLine.AppendSwitch('--enable-smooth-scrolling');
|
STATE_ENABLED : commandLine.AppendSwitch('--enable-smooth-scrolling');
|
||||||
STATE_DISABLED : commandLine.AppendSwitch('--disable-smooth-scrolling');
|
STATE_DISABLED : commandLine.AppendSwitch('--disable-smooth-scrolling');
|
||||||
|
@ -96,6 +96,8 @@ type
|
|||||||
FRunAllFlashInAllowMode : boolean;
|
FRunAllFlashInAllowMode : boolean;
|
||||||
FAllowOutdatedPlugins : boolean;
|
FAllowOutdatedPlugins : boolean;
|
||||||
FAlwaysAuthorizePlugins : boolean;
|
FAlwaysAuthorizePlugins : boolean;
|
||||||
|
FSpellChecking : boolean;
|
||||||
|
FSpellCheckerDicts : ustring;
|
||||||
FCookiePrefs : integer;
|
FCookiePrefs : integer;
|
||||||
FImagesPrefs : integer;
|
FImagesPrefs : integer;
|
||||||
FZoomStep : byte;
|
FZoomStep : byte;
|
||||||
@ -266,6 +268,8 @@ type
|
|||||||
procedure SetRunAllFlashInAllowMode(aValue : boolean);
|
procedure SetRunAllFlashInAllowMode(aValue : boolean);
|
||||||
procedure SetAllowOutdatedPlugins(aValue : boolean);
|
procedure SetAllowOutdatedPlugins(aValue : boolean);
|
||||||
procedure SetAlwaysAuthorizePlugins(aValue : boolean);
|
procedure SetAlwaysAuthorizePlugins(aValue : boolean);
|
||||||
|
procedure SetSpellChecking(aValue : boolean);
|
||||||
|
procedure SetSpellCheckerDicts(const aValue : ustring);
|
||||||
procedure SetWebRTCIPHandlingPolicy(aValue : TCefWebRTCHandlingPolicy);
|
procedure SetWebRTCIPHandlingPolicy(aValue : TCefWebRTCHandlingPolicy);
|
||||||
procedure SetWebRTCMultipleRoutes(aValue : TCefState);
|
procedure SetWebRTCMultipleRoutes(aValue : TCefState);
|
||||||
procedure SetWebRTCNonProxiedUDP(aValue : TCefState);
|
procedure SetWebRTCNonProxiedUDP(aValue : TCefState);
|
||||||
@ -304,6 +308,8 @@ type
|
|||||||
function UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; aValue : integer) : boolean; overload;
|
function UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; aValue : integer) : boolean; overload;
|
||||||
function UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; const aValue : double) : boolean; overload;
|
function UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; const aValue : double) : boolean; overload;
|
||||||
function UpdatePreference(const aBrowser: ICefBrowser; const aName, aValue : ustring) : boolean; overload;
|
function UpdatePreference(const aBrowser: ICefBrowser; const aName, aValue : ustring) : boolean; overload;
|
||||||
|
function UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; const aValue : TStringList) : boolean; overload;
|
||||||
|
function UpdateStringListPref(const aBrowser: ICefBrowser; const aName, aValue : ustring) : boolean;
|
||||||
|
|
||||||
procedure HandleDictionary(const aDict : ICefDictionaryValue; var aResultSL : TStringList; const aRoot : string);
|
procedure HandleDictionary(const aDict : ICefDictionaryValue; var aResultSL : TStringList; const aRoot : string);
|
||||||
procedure HandleNull(const aValue : ICefValue; var aResultSL : TStringList; const aRoot, aKey : string);
|
procedure HandleNull(const aValue : ICefValue; var aResultSL : TStringList; const aRoot, aKey : string);
|
||||||
@ -597,6 +603,8 @@ type
|
|||||||
property RunAllFlashInAllowMode : boolean read FRunAllFlashInAllowMode write SetRunAllFlashInAllowMode;
|
property RunAllFlashInAllowMode : boolean read FRunAllFlashInAllowMode write SetRunAllFlashInAllowMode;
|
||||||
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 SpellChecking : boolean read FSpellChecking write SetSpellChecking;
|
||||||
|
property SpellCheckerDicts : ustring read FSpellCheckerDicts write SetSpellCheckerDicts;
|
||||||
property HasValidMainFrame : boolean read GetHasValidMainFrame;
|
property HasValidMainFrame : boolean read GetHasValidMainFrame;
|
||||||
property FrameCount : NativeUInt read GetFrameCount;
|
property FrameCount : NativeUInt read GetFrameCount;
|
||||||
property DragOperations : TCefDragOperations read FDragOperations write FDragOperations;
|
property DragOperations : TCefDragOperations read FDragOperations write FDragOperations;
|
||||||
@ -739,7 +747,8 @@ uses
|
|||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
uCEFBrowser, uCEFValue, uCEFDictionaryValue, uCEFStringMultimap, uCEFFrame,
|
uCEFBrowser, uCEFValue, uCEFDictionaryValue, uCEFStringMultimap, uCEFFrame,
|
||||||
uCEFApplication, uCEFProcessMessage, uCEFRequestContext, {$IFNDEF FPC}uOLEDragAndDrop,{$ENDIF}
|
uCEFApplication, uCEFProcessMessage, uCEFRequestContext, {$IFNDEF FPC}uOLEDragAndDrop,{$ENDIF}
|
||||||
uCEFPDFPrintCallback, uCEFResolveCallback, uCEFDeleteCookiesCallback, uCEFStringVisitor;
|
uCEFPDFPrintCallback, uCEFResolveCallback, uCEFDeleteCookiesCallback, uCEFStringVisitor,
|
||||||
|
uCEFListValue;
|
||||||
|
|
||||||
constructor TChromium.Create(AOwner: TComponent);
|
constructor TChromium.Create(AOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
@ -766,6 +775,8 @@ begin
|
|||||||
FRunAllFlashInAllowMode := False;
|
FRunAllFlashInAllowMode := False;
|
||||||
FAllowOutdatedPlugins := False;
|
FAllowOutdatedPlugins := False;
|
||||||
FAlwaysAuthorizePlugins := False;
|
FAlwaysAuthorizePlugins := False;
|
||||||
|
FSpellChecking := True;
|
||||||
|
FSpellCheckerDicts := '';
|
||||||
FCookiePrefs := CEF_CONTENT_SETTING_ALLOW;
|
FCookiePrefs := CEF_CONTENT_SETTING_ALLOW;
|
||||||
FImagesPrefs := CEF_CONTENT_SETTING_ALLOW;
|
FImagesPrefs := CEF_CONTENT_SETTING_ALLOW;
|
||||||
FZoomStep := ZOOM_STEP_DEF;
|
FZoomStep := ZOOM_STEP_DEF;
|
||||||
@ -1882,6 +1893,24 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TChromium.SetSpellChecking(aValue : boolean);
|
||||||
|
begin
|
||||||
|
if (FSpellChecking <> aValue) then
|
||||||
|
begin
|
||||||
|
FSpellChecking := aValue;
|
||||||
|
FUpdatePreferences := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TChromium.SetSpellCheckerDicts(const aValue : ustring);
|
||||||
|
begin
|
||||||
|
if (FSpellCheckerDicts <> aValue) then
|
||||||
|
begin
|
||||||
|
FSpellCheckerDicts := aValue;
|
||||||
|
FUpdatePreferences := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TChromium.SetWebRTCIPHandlingPolicy(aValue : TCefWebRTCHandlingPolicy);
|
procedure TChromium.SetWebRTCIPHandlingPolicy(aValue : TCefWebRTCHandlingPolicy);
|
||||||
begin
|
begin
|
||||||
if (FWebRTCIPHandlingPolicy <> aValue) then
|
if (FWebRTCIPHandlingPolicy <> aValue) then
|
||||||
@ -2263,6 +2292,8 @@ begin
|
|||||||
UpdatePreference(aBrowser, 'plugins.run_all_flash_in_allow_mode', FRunAllFlashInAllowMode);
|
UpdatePreference(aBrowser, 'plugins.run_all_flash_in_allow_mode', FRunAllFlashInAllowMode);
|
||||||
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, 'browser.enable_spellchecking', FSpellChecking);
|
||||||
|
UpdateStringListPref(aBrowser, 'spellcheck.dictionaries', FSpellCheckerDicts);
|
||||||
|
|
||||||
if FRunAllFlashInAllowMode then
|
if FRunAllFlashInAllowMode then
|
||||||
UpdatePreference(aBrowser, 'profile.default_content_setting_values.plugins', 1);
|
UpdatePreference(aBrowser, 'profile.default_content_setting_values.plugins', 1);
|
||||||
@ -2466,6 +2497,68 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TChromium.UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; const aValue : TStringList) : boolean;
|
||||||
|
var
|
||||||
|
TempError : ustring;
|
||||||
|
TempValue : ICefValue;
|
||||||
|
TempList : ICefListValue;
|
||||||
|
i : NativeUInt;
|
||||||
|
TempSize : NativeUInt;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
|
||||||
|
try
|
||||||
|
if (aValue <> nil) and
|
||||||
|
(aValue.Count > 0) and
|
||||||
|
(aBrowser <> nil) and
|
||||||
|
(aBrowser.Host <> nil) and
|
||||||
|
aBrowser.Host.RequestContext.CanSetPreference(aName) then
|
||||||
|
begin
|
||||||
|
TempSize := aValue.Count;
|
||||||
|
TempList := TCefListValueRef.New;
|
||||||
|
|
||||||
|
if TempList.SetSize(TempSize) then
|
||||||
|
begin
|
||||||
|
i := 0;
|
||||||
|
while (i < TempSize) do
|
||||||
|
begin
|
||||||
|
TempList.SetString(i, aValue[i]);
|
||||||
|
inc(i);
|
||||||
|
end;
|
||||||
|
|
||||||
|
TempValue := TCefValueRef.New;
|
||||||
|
Result := TempValue.SetList(TempList) and
|
||||||
|
aBrowser.Host.RequestContext.SetPreference(aName, TempValue, TempError);
|
||||||
|
|
||||||
|
if not(Result) then
|
||||||
|
OutputDebugMessage('TChromium.UpdatePreference error : ' + quotedstr(TempError));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
except
|
||||||
|
on e : exception do
|
||||||
|
if CustomExceptionHandler('TChromium.UpdatePreference', e) then raise;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TChromium.UpdateStringListPref(const aBrowser: ICefBrowser; const aName, aValue : ustring) : boolean;
|
||||||
|
var
|
||||||
|
TempSL : TStringList;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
TempSL := nil;
|
||||||
|
|
||||||
|
try
|
||||||
|
if (length(name) > 0) and (length(aValue) > 0) then
|
||||||
|
begin
|
||||||
|
TempSL := TStringList.Create;
|
||||||
|
TempSL.CommaText := aValue;
|
||||||
|
Result := UpdatePreference(aBrowser, aName, TempSL);
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
if (TempSL <> nil) then FreeAndNil(TempSL);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TChromium.HandleNull(const aValue : ICefValue; var aResultSL : TStringList; const aRoot, aKey : string);
|
procedure TChromium.HandleNull(const aValue : ICefValue; var aResultSL : TStringList; const aRoot, aKey : string);
|
||||||
var
|
var
|
||||||
TempKey : string;
|
TempKey : string;
|
||||||
@ -2583,10 +2676,10 @@ begin
|
|||||||
|
|
||||||
case TempValue.GetType of
|
case TempValue.GetType of
|
||||||
VTYPE_NULL : TempResult := TempResult + '-null-,';
|
VTYPE_NULL : TempResult := TempResult + '-null-,';
|
||||||
VTYPE_BOOL : TempResult := TempResult + BoolToStr(aValue.GetBool, true) + ',';
|
VTYPE_BOOL : TempResult := TempResult + BoolToStr(TempValue.GetBool, true) + ',';
|
||||||
VTYPE_INT : TempResult := TempResult + IntToStr(aValue.GetInt) + ',';
|
VTYPE_INT : TempResult := TempResult + IntToStr(TempValue.GetInt) + ',';
|
||||||
VTYPE_DOUBLE : TempResult := TempResult + FloatToStr(aValue.GetDouble) + ',';
|
VTYPE_DOUBLE : TempResult := TempResult + FloatToStr(TempValue.GetDouble) + ',';
|
||||||
VTYPE_STRING : TempResult := TempResult + aValue.GetString + ',';
|
VTYPE_STRING : TempResult := TempResult + TempValue.GetString + ',';
|
||||||
VTYPE_BINARY : TempResult := TempResult + '-binary-,';
|
VTYPE_BINARY : TempResult := TempResult + '-binary-,';
|
||||||
VTYPE_DICTIONARY :
|
VTYPE_DICTIONARY :
|
||||||
begin
|
begin
|
||||||
|
@ -967,7 +967,6 @@ type
|
|||||||
// /include/internal/cef_types.h (cef_settings_t)
|
// /include/internal/cef_types.h (cef_settings_t)
|
||||||
TCefSettings = record
|
TCefSettings = record
|
||||||
size : NativeUInt;
|
size : NativeUInt;
|
||||||
single_process : Integer;
|
|
||||||
no_sandbox : Integer;
|
no_sandbox : Integer;
|
||||||
browser_subprocess_path : TCefString;
|
browser_subprocess_path : TCefString;
|
||||||
framework_dir_path : TCefString;
|
framework_dir_path : TCefString;
|
||||||
|
@ -85,6 +85,8 @@ type
|
|||||||
FRunAllFlashInAllowMode : boolean;
|
FRunAllFlashInAllowMode : boolean;
|
||||||
FAllowOutdatedPlugins : boolean;
|
FAllowOutdatedPlugins : boolean;
|
||||||
FAlwaysAuthorizePlugins : boolean;
|
FAlwaysAuthorizePlugins : boolean;
|
||||||
|
FSpellChecking : boolean;
|
||||||
|
FSpellCheckerDicts : ustring;
|
||||||
FCookiePrefs : integer;
|
FCookiePrefs : integer;
|
||||||
FImagesPrefs : integer;
|
FImagesPrefs : integer;
|
||||||
FZoomStep : byte;
|
FZoomStep : byte;
|
||||||
@ -249,6 +251,8 @@ type
|
|||||||
procedure SetRunAllFlashInAllowMode(aValue : boolean);
|
procedure SetRunAllFlashInAllowMode(aValue : boolean);
|
||||||
procedure SetAllowOutdatedPlugins(aValue : boolean);
|
procedure SetAllowOutdatedPlugins(aValue : boolean);
|
||||||
procedure SetAlwaysAuthorizePlugins(aValue : boolean);
|
procedure SetAlwaysAuthorizePlugins(aValue : boolean);
|
||||||
|
procedure SetSpellChecking(aValue : boolean);
|
||||||
|
procedure SetSpellCheckerDicts(const aValue : ustring);
|
||||||
procedure SetWebRTCIPHandlingPolicy(aValue : TCefWebRTCHandlingPolicy);
|
procedure SetWebRTCIPHandlingPolicy(aValue : TCefWebRTCHandlingPolicy);
|
||||||
procedure SetWebRTCMultipleRoutes(aValue : TCefState);
|
procedure SetWebRTCMultipleRoutes(aValue : TCefState);
|
||||||
procedure SetWebRTCNonProxiedUDP(aValue : TCefState);
|
procedure SetWebRTCNonProxiedUDP(aValue : TCefState);
|
||||||
@ -287,6 +291,8 @@ type
|
|||||||
function UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; aValue : integer) : boolean; overload;
|
function UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; aValue : integer) : boolean; overload;
|
||||||
function UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; const aValue : double) : boolean; overload;
|
function UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; const aValue : double) : boolean; overload;
|
||||||
function UpdatePreference(const aBrowser: ICefBrowser; const aName, aValue : ustring) : boolean; overload;
|
function UpdatePreference(const aBrowser: ICefBrowser; const aName, aValue : ustring) : boolean; overload;
|
||||||
|
function UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; const aValue : TStringList) : boolean; overload;
|
||||||
|
function UpdateStringListPref(const aBrowser: ICefBrowser; const aName, aValue : ustring) : boolean;
|
||||||
|
|
||||||
procedure HandleDictionary(const aDict : ICefDictionaryValue; var aResultSL : TStringList; const aRoot : string);
|
procedure HandleDictionary(const aDict : ICefDictionaryValue; var aResultSL : TStringList; const aRoot : string);
|
||||||
procedure HandleNull(const aValue : ICefValue; var aResultSL : TStringList; const aRoot, aKey : string);
|
procedure HandleNull(const aValue : ICefValue; var aResultSL : TStringList; const aRoot, aKey : string);
|
||||||
@ -565,6 +571,8 @@ type
|
|||||||
property RunAllFlashInAllowMode : boolean read FRunAllFlashInAllowMode write SetRunAllFlashInAllowMode;
|
property RunAllFlashInAllowMode : boolean read FRunAllFlashInAllowMode write SetRunAllFlashInAllowMode;
|
||||||
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 SpellChecking : boolean read FSpellChecking write SetSpellChecking;
|
||||||
|
property SpellCheckerDicts : ustring read FSpellCheckerDicts write SetSpellCheckerDicts;
|
||||||
property HasValidMainFrame : boolean read GetHasValidMainFrame;
|
property HasValidMainFrame : boolean read GetHasValidMainFrame;
|
||||||
property FrameCount : NativeUInt read GetFrameCount;
|
property FrameCount : NativeUInt read GetFrameCount;
|
||||||
property DragOperations : TCefDragOperations read FDragOperations write FDragOperations;
|
property DragOperations : TCefDragOperations read FDragOperations write FDragOperations;
|
||||||
@ -696,7 +704,8 @@ uses
|
|||||||
System.SysUtils, System.Math,
|
System.SysUtils, System.Math,
|
||||||
uCEFBrowser, uCEFValue, uCEFDictionaryValue, uCEFStringMultimap, uCEFFrame,
|
uCEFBrowser, uCEFValue, uCEFDictionaryValue, uCEFStringMultimap, uCEFFrame,
|
||||||
uCEFApplication, uCEFProcessMessage, uCEFRequestContext,
|
uCEFApplication, uCEFProcessMessage, uCEFRequestContext,
|
||||||
uCEFPDFPrintCallback, uCEFResolveCallback, uCEFDeleteCookiesCallback, uCEFStringVisitor;
|
uCEFPDFPrintCallback, uCEFResolveCallback, uCEFDeleteCookiesCallback, uCEFStringVisitor,
|
||||||
|
uCEFListValue;
|
||||||
|
|
||||||
constructor TFMXChromium.Create(AOwner: TComponent);
|
constructor TFMXChromium.Create(AOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
@ -722,6 +731,8 @@ begin
|
|||||||
FRunAllFlashInAllowMode := False;
|
FRunAllFlashInAllowMode := False;
|
||||||
FAllowOutdatedPlugins := False;
|
FAllowOutdatedPlugins := False;
|
||||||
FAlwaysAuthorizePlugins := False;
|
FAlwaysAuthorizePlugins := False;
|
||||||
|
FSpellChecking := True;
|
||||||
|
FSpellCheckerDicts := '';
|
||||||
FCookiePrefs := CEF_CONTENT_SETTING_ALLOW;
|
FCookiePrefs := CEF_CONTENT_SETTING_ALLOW;
|
||||||
FImagesPrefs := CEF_CONTENT_SETTING_ALLOW;
|
FImagesPrefs := CEF_CONTENT_SETTING_ALLOW;
|
||||||
FZoomStep := ZOOM_STEP_DEF;
|
FZoomStep := ZOOM_STEP_DEF;
|
||||||
@ -1716,6 +1727,24 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TFMXChromium.SetSpellChecking(aValue : boolean);
|
||||||
|
begin
|
||||||
|
if (FSpellChecking <> aValue) then
|
||||||
|
begin
|
||||||
|
FSpellChecking := aValue;
|
||||||
|
FUpdatePreferences := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TFMXChromium.SetSpellCheckerDicts(const aValue : ustring);
|
||||||
|
begin
|
||||||
|
if (FSpellCheckerDicts <> aValue) then
|
||||||
|
begin
|
||||||
|
FSpellCheckerDicts := aValue;
|
||||||
|
FUpdatePreferences := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TFMXChromium.SetWebRTCIPHandlingPolicy(aValue : TCefWebRTCHandlingPolicy);
|
procedure TFMXChromium.SetWebRTCIPHandlingPolicy(aValue : TCefWebRTCHandlingPolicy);
|
||||||
begin
|
begin
|
||||||
if (FWebRTCIPHandlingPolicy <> aValue) then
|
if (FWebRTCIPHandlingPolicy <> aValue) then
|
||||||
@ -2251,6 +2280,68 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TFMXChromium.UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; const aValue : TStringList) : boolean;
|
||||||
|
var
|
||||||
|
TempError : ustring;
|
||||||
|
TempValue : ICefValue;
|
||||||
|
TempList : ICefListValue;
|
||||||
|
i : NativeUInt;
|
||||||
|
TempSize : NativeUInt;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
|
||||||
|
try
|
||||||
|
if (aValue <> nil) and
|
||||||
|
(aValue.Count > 0) and
|
||||||
|
(aBrowser <> nil) and
|
||||||
|
(aBrowser.Host <> nil) and
|
||||||
|
aBrowser.Host.RequestContext.CanSetPreference(aName) then
|
||||||
|
begin
|
||||||
|
TempSize := aValue.Count;
|
||||||
|
TempList := TCefListValueRef.New;
|
||||||
|
|
||||||
|
if TempList.SetSize(TempSize) then
|
||||||
|
begin
|
||||||
|
i := 0;
|
||||||
|
while (i < TempSize) do
|
||||||
|
begin
|
||||||
|
TempList.SetString(i, aValue[i]);
|
||||||
|
inc(i);
|
||||||
|
end;
|
||||||
|
|
||||||
|
TempValue := TCefValueRef.New;
|
||||||
|
Result := TempValue.SetList(TempList) and
|
||||||
|
aBrowser.Host.RequestContext.SetPreference(aName, TempValue, TempError);
|
||||||
|
|
||||||
|
if not(Result) then
|
||||||
|
OutputDebugMessage('TFMXChromium.UpdatePreference error : ' + quotedstr(TempError));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
except
|
||||||
|
on e : exception do
|
||||||
|
if CustomExceptionHandler('TFMXChromium.UpdatePreference', e) then raise;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TFMXChromium.UpdateStringListPref(const aBrowser: ICefBrowser; const aName, aValue : ustring) : boolean;
|
||||||
|
var
|
||||||
|
TempSL : TStringList;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
TempSL := nil;
|
||||||
|
|
||||||
|
try
|
||||||
|
if (length(name) > 0) and (length(aValue) > 0) then
|
||||||
|
begin
|
||||||
|
TempSL := TStringList.Create;
|
||||||
|
TempSL.CommaText := aValue;
|
||||||
|
Result := UpdatePreference(aBrowser, aName, TempSL);
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
if (TempSL <> nil) then FreeAndNil(TempSL);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TFMXChromium.HandleNull(const aValue : ICefValue; var aResultSL : TStringList; const aRoot, aKey : string);
|
procedure TFMXChromium.HandleNull(const aValue : ICefValue; var aResultSL : TStringList; const aRoot, aKey : string);
|
||||||
var
|
var
|
||||||
TempKey : string;
|
TempKey : string;
|
||||||
@ -2368,10 +2459,10 @@ begin
|
|||||||
|
|
||||||
case TempValue.GetType of
|
case TempValue.GetType of
|
||||||
VTYPE_NULL : TempResult := TempResult + '-null-,';
|
VTYPE_NULL : TempResult := TempResult + '-null-,';
|
||||||
VTYPE_BOOL : TempResult := TempResult + BoolToStr(aValue.GetBool, true) + ',';
|
VTYPE_BOOL : TempResult := TempResult + BoolToStr(TempValue.GetBool, true) + ',';
|
||||||
VTYPE_INT : TempResult := TempResult + IntToStr(aValue.GetInt) + ',';
|
VTYPE_INT : TempResult := TempResult + IntToStr(TempValue.GetInt) + ',';
|
||||||
VTYPE_DOUBLE : TempResult := TempResult + FloatToStr(aValue.GetDouble) + ',';
|
VTYPE_DOUBLE : TempResult := TempResult + FloatToStr(TempValue.GetDouble) + ',';
|
||||||
VTYPE_STRING : TempResult := TempResult + aValue.GetString + ',';
|
VTYPE_STRING : TempResult := TempResult + TempValue.GetString + ',';
|
||||||
VTYPE_BINARY : TempResult := TempResult + '-binary-,';
|
VTYPE_BINARY : TempResult := TempResult + '-binary-,';
|
||||||
VTYPE_DICTIONARY :
|
VTYPE_DICTIONARY :
|
||||||
begin
|
begin
|
||||||
|
Reference in New Issue
Block a user