dcef3's People
Forkers
samirmishra bar99 anemoonsoftware jonahzheng bgarrels delphiresources reddralf janke99 camark mycopy omegasistemas hzmsrv suiyunonghen mareksrom vitaliy7711 shengpingwu ailinwang cpascal-gr peihexian andreasmichelberger chinadev prosinger 324pp alexandrehonorato strogo jfhyn portos11 jxuatshawdotca luququ2014 doosy wpostma zlexa2015 kattunga corokada robinfan kevinsui581 k1nader leadrive ecolo67 dollavon renych cwbudde hiptc ekapujiw2002 ramazangeven xingtian888 tomaszkunicki allegrox nywong delphigit marciomartins card126 lovethisgame thefunkyjoint progray kohabarro sqlgate johnny9481 aravagli50 patrix kolyars manoelps amesianx bogdancs92 ig777777 otkeri sudoudaisuke loicoudot ap722 kelvinxiao zacat i-pax marcusbhte louisyoo luququ airtonjs yusronarif simyaci19x akac71 sirius3000 alex65535 tby333 mytestbro abecedar2222 linqiyou h2zzhou susuqq charlieyqin alexandrehenzen lobtao cnsuhao syagrius paud gaowenli kimkucheol cy99 haorenyb nzioki recuperarxml goacmedcef3's Issues
VisitDom is never Calling
Hi,
I tried to use mainframe.visitdom to itterate through the DOM. But the callback procedure is never calling.
FBrowser.Browser.Mainframe.VisitDomProc(DOMCallback);
I tried although
FBrowser.Browser.Mainframe.VisitDom(TCefFastDomVisitor.Create(DOMCallback));
procedure DOMCallback(const Document: ICefDomDocument);
begin
ShowMessage(Document.Body.GetValue);
end;
memory leak in cefvcl.pas
symbol 'seek' is deprecated on XE4+
not a bug, bug just an annoying warning :
w1000 symbol 'seek' is deprecated
in
function TCefCustomStreamReader.Seek(offset: Int64; whence: Integer): Integer;
begin
Result := FStream.Seek(offset, whence);
end;
Some pages crashing app
I'm using branch 2704.
When i load some specific pages on TChromium, it will crash my app. An example of page this problem happens is :
http://www.arenasertanejashows.com.br
Just load this page with TChromium default options and app will crash.
The problem is fixed if i set TChromium.Options.ImageLoading to STATE_DISABLED, but of course, no images are loaded.
drop down list
When the position of the form changes, the position of the drop-down box is not re located. Re location only when the size of the form changes. This question should be how to deal with
Mute audio
Hello,
i was wondering if there is a way to mute the audio of an embedded chromium in delphi?
In Regarads
CreativeMD
Huge memory consumption when Options.ImageLoading set to STATE_DISABLED
I'm using branch 2704.
With default options. TChromium won't consume much memory over time, never reaching more than 200-250mb.
But if i set Options.ImageLoading to STATE_DISABLED, after some time loading pages i can see the memory increasing and easily going on > 1GB, just by loading pages. This problem is easily reproduced by using a TTimer to loop page loading each 10 seconds, for instance.
Issue with 64-bit and OnLoadError event in 2454 branch
Hi Henri
Trying to get 2454 to work with Win64, but it is crashing when Load is called. Example code:
procedure TForm1.Button1Click(Sender: TObject);
begin
crm:=TChromium.Create(self);
crm.Parent:=self;
crm.Align:=alclient;
crm.Load('www.google.com');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
crm.Free;
end;
CEF 3.2623 support
Henri,
Is there any plan to upgrade to 3.2623 soon? I think that branch includes support for the new print preview functionality which would be a very useful feature.
Backspace not working if inside ActiveX
Hi, first of all congratulations for this great work! i'm loving DCEF!
I'm putting a TChromium component inside an ActiveX (i'm using delphi 10) so i can run chromium from inside IE8 and it works pretty well.
My only problem is with the backspace key, every time i press it IE go one page back.
Why i'm posting this here? Because before DCEF3 i used DCEF. The same project with DCEF don't have the backspace problem! It correctly handle inside the activex
So.. i'm pretty out of ideas. This thread is my last hope, because the entire project cannot work right now.
Do you have any idea of why this is happening or how to fix it?
I made a few test and the TChromium's "OnKeyEvent" does not trigger at all when pressing backspace, looks like IE intercepts it (but it works with DCEF1 :\ )
thank you!
Html5 Video Fullscreen
Ma bad, i posted a pull request instead of here...
Hi, first of all, great work dude, just got a request, would if be too much to add support for html5 video fullscreen?
Ive seen that someone made a patch:
https://bitbucket.org/chromiumembedded/cef/issues/562
i think it got released on brand 2424, but dont, know for suer... thangs a lot bro!
guiclient demo memory leak
memory leak occur when I close guiclient demo app.
but If I comment this line, not occur.
CefOnRegisterCustomSchemes := RegisterSchemes;
ICefRequest.PostData always is nil.
Hi, I registered a custom scheme which refer to the TFileScheme. and I post a request which has headers, body, now I can get the headers of request, but I cannot get body of request because of ICefRequest.PostData always return nil.
here is my code:
mydpr.dpr;
...
begin
...
CefRegisterSchemeHandlerFactory('native', '', TWebNativeScheme);
...
end.
unit WebNativeScheme;
...
TWebNativeScheme = class(TCefResourceHandlerOwn)
private
FFrame: ICefFrame;
FBrowser: ICefBrowser;
FResponse: IWebResponse;
FResponseStream: TMemoryStream;
protected
// in this method, request.postData always is nil.
function ProcessRequest(const request: ICefRequest;
const callback: ICefCallback): Boolean; override;
...
public
constructor Create(const browser: ICefBrowser; const frame: ICefFrame;
const schemeName: ustring; const request: ICefRequest); override;
destructor Destroy; override;
end;
....
myhtml.html:
...
Ajax.post({
headers: {
key: 'value'
},
url: 'native://ResouceHandler.dll/Unit3/TResourceHandler',
data: { key1: 'value1' },
onSuccess: function(http){
alert(http.responseText);
},
onError: function(http){
alert("fail");
}
});
...
Please tell me this is my code wrong, or CEF itself. Thanks.
Update CEF
Hello.
Whether the CEF updatings to new versions are planned?
CEF1 and CEF3 compatibilities
Hello Hervé,
Most components from TMS Cloud Pack for Firemonkey are wrapped arround DCEF1. They did it because TWebBrowser wans't available on Win32/Win64 platform till XE6. I recently sent them fixes to make their component works with DCEF3. That wasn't a big deal :
I changed these events from
{$IFDEF USECHROMIUM}
procedure BeforeBrowse(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame;
const request: ICefRequest; navType: TCefHandlerNavtype;
isRedirect: boolean; out Result: Boolean);
procedure LoadEnd(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; httpStatusCode: Integer; out Result: Boolean);
{$ENDIF}
to
{$IFDEF USECHROMIUM}
procedure BeforeBrowse(Sender: TObject;const browser: ICefBrowser; const frame: ICefFrame;
const request: ICefRequest; isRedirect: Boolean; out Result: Boolean);
procedure LoadEnd(Sender: TObject;
const browser: ICefBrowser; const frame: ICefFrame; httpStatusCode: Integer);
{$ENDIF}
and changed these calls from
FWebBrowser.Browser.MainFrame.LoadFile(AFile, AFile);
to
FWebBrowser.Browser.MainFrame.LoadString(AFile, 'localhost');
Here is the answer they gave me :
What I meant was to modify the event handlers in CEF3 (ceffmx.pas) to match the ones defined in the FMX.TMSWebGMapsWebBrowser.Win source and create a LoadFile that internally calls the correct method. You can work on a copy of CEF3. This way we keep compatibility with CEF1, accommodate for other users that might still use CEF1, and then you can use CEF3 instead of using the default TWebBrowser implementation.
What do you think ?
when will Firemonkey component support delphi 10 seattle ?
when will Firemonkey component support delphi 10 seattle ? do any plan?
OpenH264 Support
Chrome 50 will support OpenH264 with flag
https://twitter.com/juberti/status/704738003646742529
and M52 will support it by default
https://chromium.googlesource.com/chromium/src.git/+/487e16d68766a496d1174e880036e789c927b32d
We will wait for Branch 2704 https://cefbuilds.com/
Thank you to make greate tool for delphi
Problem when using ReCreateBrowser
Henri - Similar to my last report, using branch 2454, the line SendMessage(FBrowser.Host.WindowHandle, WM_CLOSE, 0, 0)
in ReCreateBrowser is causing the app to close. All fine after commenting it out
Enter-Key in JavaScript KeyUp not working
It looks like in branch 2454, the key up event will not be fired on Enter-key from the browser.
If I do something like this in a HTML page
myTextField.onkeyup = function (e) { console.log("keyup: " + e.keyCode); }
and click any key, it will work for all keys except for the Enter key. The browser only fires keypress and keydown events for this key.
I compared it with a CEF3 test app. There it has worked just fine.
You can download it from here: CEF Builds on "Branch 2454" > "Test App".
For testing this event, I uploaded a Test HTML page with a JQuery file:
TestPage.zip
Is this a bug or did I miss something?
version upgrade
Hello, chrome current version is already 50, can be upgraded at any time DCEF3 version?
2704 Unable to run under Windows xp
2704 Unable to run under Windows xp
request: add support for creating browsers in different contexts
I've been working with testing some of the new SetPreferences features (as noted in my other thread about dynamically changing the proxy). As part of testing some network issues, I wanted to put several TChromium instances in one app, each with a different proxy. But I eventually noticed that when I used SetPreferences, the change was global. This is because crm.Browser.Host.RequestContext is shared among the different instances. I dug down and here's how I changed it so that each browser got their own context:
procedure TCustomChromium.CreateBrowser;
var
info: TCefWindowInfo;
rect: TRect;
settings: TCefBrowserSettings;
contextSettings: TCefRequestContextSettings;
context: ICefRequestContext;
begin
if not (csDesigning in ComponentState) then
begin
FillChar(info, SizeOf(info), 0);
rect := GetClientRect;
info.Style := WS_CHILD or WS_VISIBLE or WS_CLIPCHILDREN or WS_CLIPSIBLINGS or WS_TABSTOP;
info.parent_window := Handle;
info.x := rect.left;
info.y := rect.top;
info.Width := rect.right - rect.left;
info.Height := rect.bottom - rect.top;
FillChar(settings, SizeOf(TCefBrowserSettings), 0);
settings.size := SizeOf(TCefBrowserSettings);
GetSettings(settings);
//contextHandler := TCefRequestContextHandlerRef.
FillChar(contextSettings, SizeOf(contextSettings), 0);
contextSettings.size := SizeOf(contextSettings);
context := TCefRequestContextRef.New(@contextSettings, nil);
{$IFDEF CEF_MULTI_THREADED_MESSAGE_LOOP}
// CefBrowserHostCreate(@info, FHandler, FDefaultUrl, @settings, nil);
CefBrowserHostCreate(@info, FHandler, FDefaultUrl, @settings, context);
{$ELSE}
// FBrowser := CefBrowserHostCreateSync(@info, FHandler, '', @settings, nil);
FBrowser := CefBrowserHostCreateSync(@info, FHandler, '', @settings, context);
FBrowserId := FBrowser.Identifier;
{$ENDIF}
end;
end;
First, does this look correct or have I messed anything up? Do you know of anything wrong with passing in nil to the TCefRequestContextRef.New call?
This is working for me, at least with CEF_MULTI_THREADED_MESSAGE_LOOP turned off.
I was thinking was that TChromium could have a property like UseNewContext and if it was set, then CreateBrowser could use a different context for that one. Otherwise, it would use the global context.
What do you think?
Are there updates of Chrome DLLs for DCEF3 to keep updated with new internet standards
Hi, I have some strange behaviour of Chromium DCEF-2454 with Delphi 7. It seems to be freezing. I can download a page and then suddenly is freezing... If I try to use the LoadUrl again command then LoadStart event is no more triggered.
Any idea where it can come from ?
Is that due to some Java Script that is not supported by my DCEF version ?
Are there DLLs or code updates required to have more stable version ?
Hope someone can help me.
Regards. Renaud.
Fix Press the backspace key will delete the two characters
In the input box, press the backspace key will delete the two characters
Modify the code
ceffmx.pas
procedure TCustomChromiumFMX.DialogKey(var Key: Word; Shift: TShiftState);
var
event: TCefKeyEvent;
begin
if (Browser <> nil) and (IsFocused) then
begin
FillChar(event, SizeOf(event), 0);
event.kind := KEYEVENT_KEYDOWN;
event.modifiers := getModifiers(Shift);
event.windows_key_code := Key;
Browser.Host.SendKeyEvent(@event);
if Key = 9 then
Key := 0;
end;
Result := False;
if Assigned(FOnBeforeUnloadDialog) then
FOnBeforeUnloadDialog(Self, browser, messageText, isReload, callback, Result);
end;
TO:
procedure TCustomChromiumFMX.DialogKey(var Key: Word; Shift: TShiftState);
var
event: TCefKeyEvent;
begin
if (Browser <> nil) and (IsFocused) then
begin
FillChar(event, SizeOf(event), 0);
if Key = 9 then
event.kind := KEYEVENT_KEYDOWN
else
event.kind := KEYEVENT_KEYUP;
event.modifiers := getModifiers(Shift);
event.windows_key_code := Key;
Browser.Host.SendKeyEvent(@event);
if Key = 9 then
Key := 0;
end;
end;
Can modify this bug.
Can't play videos (HTML5)
I see that bin dir is missing ffmpegsumo.dll, o avcodecs of any kind... Then i've tried to run a video from web.whatsapp.com using HTML player and the videos doesnt run. Youtube is ok.
webrtc
I would like to ask how to open webrtc it
Is there a method to list/add plugins?
Hi there!
I did found plugin realization in headers, but how to exactly list / add plugins into dcef3?
Thanks.
Dcef3 settings for multiple threads
Dcef3 settings for multiple threads, JavaScript access to VCL Delphi when the form is displayed as empty. How to solve this problem
Update to CEF 2623
FMX / Mouse wheel event isn't working when application is ran on secondary screen
Hello,
TChromiumFMX doesn't react to mouse wheel when application is ran on secondary screen.
Edit ceffmx.pas and modify remplace AbsoluteToLocal with ScreenToLocal
procedure TCustomChromiumFMX.MouseWheel(Shift: TShiftState; WheelDelta: Integer;
var Handled: Boolean);
var
event: TCefMouseEvent;
begin
if (FMouseWheelService <> nil) AND (Browser <> nil) then
begin
with ScreenToLocal(FMouseWheelService.GetMousePos()).Round do
begin
event.x := X;
event.y := Y;
event.modifiers := getModifiers(Shift);
Browser.Host.SendMouseWheelEvent(@event, 0, WheelDelta);
end;
end;
Browser showing internal data sometimes
Hi,
Sometimes when i'm using TChromium, instead of loading the page i'm trying to load, it loads a page with this content :
CEF 3.2704.1427.g95055fe
Chromium 51.0.2704.84
OS Windows
WebKit 537.36
JavaScript 5.1.281.59
Flash
User Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36
Command Line "C:\Program Files (x86)\MyApp\myapp.exe" --single-process --no-sandbox --lang=en-US --log-file="C:\Program Files (x86)\MyApp\debug.log" --log-severity=disable --disable-gpu-watchdog --disable-direct-composition --supports-dual-gpus=false --gpu-driver-bug-workarounds=4,12,13,25,46,54 --gpu-vendor-id=0x8086 --gpu-device-id=0x0a16 --gpu-driver-vendor="Intel Corporation" --gpu-driver-version=20.19.15.4331 --num-raster-threads=2 --content-image-texture-target=3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553 --video-image-texture-target=3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553 logdet
Module Path C:\Program Files (x86)\MyApp\libcef.dll
Cache Path C:\Users\rnrso\AppData\Roaming\MyApp\cookies
Tabbed browser example
Any example for tabbed browser? (Overriding OnBeforePopup, creating a new tab, closing a tab)
DCEF2623 MultiProcess SendProcessMessage not work
Hi, thanks for update! In example guiclient not work next code if CefSingleProcess:=false;
class procedure TTestExtension.mouseover(const data: string);
var
msg: ICefProcessMessage;
begin
msg := TCefProcessMessageRef.New('mouseover');
msg.ArgumentList.SetString(0, data);
TCefv8ContextRef.Current.Browser.SendProcessMessage(PID_BROWSER, msg);
end;
Previously worked
Unable to load flash plugin - NPSWF32.dll
You will still update to XE8?
You will still update to XE8?
Font Rendering
How can i get smooth fonts on dcef3? I have tested the same sites on Chrome Client (https://cefbuilds.com/) on the same build from dcef3 and i get smooth fonts. Is there any command to enable direct-write ou something else?
Release 3.2743
Hi support team,
I would like to know when dcef3 will be using the release 3.2743 ?
I'm facing issues related to PDF files which are solved on release 3.2743
Thanks in advance for your answer
Crash when using Free (solution)
Hi Henri, using branch 2454 and I noticed that the line FBrowser.Host.CloseBrowser(False)
in TCustomChromium.Destroy is causing the app to close when Free is called. To reproduce it, just try:
procedure TForm1.Button1Click(Sender: TObject);
begin
crm:=TChromium.Create(self);
crm.Parent:=self;
crm.Align:=alclient;
crm.Load('www.google.com');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
crm.Free;
end;
Exception on V8
Have exceptrion on build 2704 and 2623 and work good on 2454
Class
Unit Cefutils;
Interface
Uses
Classes,
SysUtils,
StrUtils,
Cefvcl,
Math,
Ceflib;
Type
TCustomRenderMessageReceived = Class(TCefRenderProcessHandlerOwn)
Private
Procedure WriteLogDebug(Const LogText: String);
Protected
Function OnProcessMessageReceived(Const browser: ICefBrowser; sourceProcess: TCefProcessId; Const message: ICefProcessMessage): Boolean; Override;
End;
Implementation
Function TCustomRenderMessageReceived.OnProcessMessageReceived(Const browser: ICefBrowser; sourceProcess: TCefProcessId; Const message: ICefProcessMessage): Boolean;
Var
CefProcessMessage: ICefProcessMessage;
CefV8Value: ICefv8Value;
CefV8Exception: ICefV8Exception;
Begin
Result := False;
If (Message.Name = 'ExecuteEval') Then
Try
CefProcessMessage := TCefProcessMessageRef.New('ExecuteEval');
browser.MainFrame.GetV8Context.Eval(Message.ArgumentList.GetString(0), CefV8Value, CefV8Exception);
browser.SendProcessMessage(PID_BROWSER, CefProcessMessage);
Result := True;
exit;
Except
On E: Exception Do
WriteLogDebug('Exception ExecuteEval: ' + E.message);
End;
End;
Procedure TCustomRenderMessageReceived.WriteLogDebug(Const LogText: String);
Var
VarFile: TextFile;
Begin
Try
AssignFile(VarFile, 'DebugCefLog.txt');
If FileExists('DebugCefLog.txt') = True Then
Begin
Append(VarFile)
End
Else
Begin
ReWrite(VarFile);
End;
Writeln(VarFile, Trim(DateTimeToStr(Date + Time) + ':' + ' ' + LogText));
CloseFile(VarFile);
Except
End;
End;
Initialization
CefRenderProcessHandler := TCustomRenderMessageReceived.Create;
End.
Execute on main
CefProcessMessage := TCefProcessMessageRef.New('ExecuteEval');
crm.browser.SendProcessMessage(PID_RENDERER, CefProcessMessage);
about ceffmx doOnPaint?
this code Web page can't display normally
procedure TCustomChromiumFMX.doOnPaint(const browser: ICefBrowser;
kind: TCefPaintElementType; dirtyRectsCount: NativeUInt;
const dirtyRects: PCefRectArray; const buffer: Pointer;
width, height: Integer);
var
src, dst: PByte;
offset, i, {j,} w, c: Integer;
begin
if csDestroying in ComponentState then Exit;
if (FBuffer <> nil) and (FBuffer.Width = Width) and (FBuffer.Height = Height) then
// begin
// Move(buffer^, StartLine^, vw * vh * 4);
// InvalidateRect(ClipRect);
// end;
with FBuffer do
for c := 0 to dirtyRectsCount - 1 do
begin
w := Width * 4;
offset := ((dirtyRects[c].y * Width) + dirtyRects[c].x) * 4;
src := @PByte(buffer)[offset];
dst := @PByte(StartLine)[offset];
offset := dirtyRects[c].width * 4;
for i := 0 to dirtyRects[c].height - 1 do
begin
// for j := 0 to offset div 4 do
// PAlphaColorArray(dst)[j] := PAlphaColorArray(src)[j] or $FF000000;
System.Move(src^, dst^, offset);
Inc(dst, w);
Inc(src, w);
end;
//InvalidateRect(ClipRect);
InvalidateRect(RectF(dirtyRects[c].x, dirtyRects[c].y,
dirtyRects[c].x + dirtyRects[c].width, dirtyRects[c].y + dirtyRects[c].height));
end;
end;
but Changes as,Web page can display normally
procedure TCustomChromiumFMX.doOnPaint(const browser: ICefBrowser;
kind: TCefPaintElementType; dirtyRectsCount: NativeUInt;
const dirtyRects: PCefRectArray; const buffer: Pointer;
width, height: Integer);
var
wSrc : PByte;
wOffset, i, j, c : Integer;
wBitmapData: TBitmapData;
wColor: TAlphaColor;
const
_BytesPercolor : integer = 4;
begin
// Khalid : This is not fully optimized as the buffer returned by Chrome engine is not serialized, so need to loop
// on each pixel (well can optimize using memory copy but need to have the same pixel format for Chrom buffer and Firemonkey Tbitmap)
if (FBuffer = nil) then
FBuffer := TBitmap.Create(Width, Height);
if (FBuffer.Width = Width) and (FBuffer.Height = Height) and (dirtyRectsCount > 0) then
begin
FBuffer.Map(TMapAccess.ReadWrite, wBitmapData); // Getting the bitmap data pointer
try
for c := 0 to dirtyRectsCount - 1 do // for each rect
begin
begin
for i := 0 to dirtyRects[c].height - 1 do // loop on pixels
begin
for j := 0 to dirtyRects[c].width - 1 do
begin
wOffset := (((dirtyRects[c].y + i) * width) + dirtyRects[c].x + j) * _BytesPercolor; // calculate offset
wSrc := @PByte(buffer)[wOffset];
System.Move(wSrc^, wColor, _BytesPercolor); // move color value to firemonkey bitmap
wBitmapData.SetPixel(dirtyRects[c].x + j , dirtyRects[c].y + i, wColor);
end;
end;
end;
InvalidateRect(RectF(0,0,width,height)); // update
end;
finally
FBuffer.Unmap(wBitmapData);
end;
end;
end;
DevTools bugs
f you open the DevTools --> Settings --> WorkSpace and click Add Folder, nothing happens, at least on the guiclient demo on which I based some development of mine.
At the same time, if you try to use TimeLine or Profiles, and you want to save on file (.json), the Save window won't open. The Load window, on the contrary, seems to work fine
Excpetion after login on https://steamcommunity.com/
After login on site https://steamcommunity.com/ application crushed with excpetion
Debugger Exception Notification
Project Project4.exe raised exception class $C0000005 with message 'access violation at 0x00000000: read of address 0x00000000'.
Break Continue Help
GetSource freezes
Hi,
when i'm using Mainframe.getsource to receive the source, the program sometimes freezes.
https://google.com - is working fine
https://facebook.com (Mainpage without login) - is working fine
https://facebook.com (Mainpage with login) - the program is freezing.
Thanks
about tab key invalidity?
dcef3's firemonkey component, tab key unsupported.
Unable send character '.' using SendKeyEvent
It's code works for other character but '.' doesn't send:
var
event: TCefKeyEvent;
str:WideString;
begin
str:='.';
FillChar(event, SizeOf(TCefKeyEvent), 0);
event.kind := KEYEVENT_KEYDOWN;
event.character:=str[1];
event.windows_key_code:=ord(str[1]);
Chromium1.Browser.Host.Browser.MainFrame.Browser.Host.SendKeyEvent(@event);
FillChar(event, SizeOf(TCefKeyEvent), 0);
event.kind := KEYEVENT_CHAR;
event.character:=str[1];
event.windows_key_code:=ord(str[1]);
Chromium1.Browser.Host.Browser.MainFrame.Browser.Host.SendKeyEvent(@event);
FillChar(event, SizeOf(TCefKeyEvent), 0);
event.kind := KEYEVENT_KEYUP;
event.character:=str[1];
event.windows_key_code:=ord(str[1]);
Chromium1.Browser.Host.Browser.MainFrame.Browser.Host.SendKeyEvent(@event);
Uncaught SyntaxError: Use of const in strict mode.
Hello, i am using tchromium to get http://censobasico.inep.gov.br/censobasico/#/ but the website dont show how chrome show, the console show one error,
Uncaught SyntaxError: Use of const in strict mode.
how to install dcef3 in Xe8 ?
hello ,, im new user of delphi ,, i want to ask how to install dcef3 in delphi xe8 ? i was install it in delphi 7 before and not found any problem ..
Is there a way to initiate a download from code?
Hi,
I'm looking for a way to download an image from the web and save it locally. Something like this:
crm.Browser.Download('http://some.url.com/some/path/a_picture.jpg', 'c:\local\path\a_picture.jpg');
I've been trying to use the OnGetResourceHandler event, but I suppose I need to write my own ResourceHandler? Is that correct and how do I do that?
procedure TMainForm.crmGetResourceHandler(Sender: TObject;
const browser: ICefBrowser; const frame: ICefFrame;
const request: ICefRequest; out Result: ICefResourceHandler);
begin
if request.ResourceType = RT_IMAGE then
//Save image somehow
end;
This is just a simplified explanation. On the real website there might be 50, 80 or more images. The site requires that i log in first, so I can't just use "request.Url" with another http component, cause then I get a permission denied error.
Thanks in advance for any help and suggestions. :)
Adding onFaviconChange support
There are plans to add the ability to track the favicon changes?
In CEF3 recently added this possibility (https://code.google.com/p/chromiumembedded/issues/detail?id=964).
I'd love to use it.
Thanks!
Trying to show the developer tools in a 64-bit process leads to a crash
Hello,
Trying to launch developer tools in an external window using TChromium
's method called ShowDevTools
leads to a crash when running a 64-bit build. I experimented with the guiclient
demo and it seems the error comes from libcef.dll
. However, using the TChromiumDevTools
component as already implemented in the demo works fine even in 64-bit.
I'm using the latest version of dcef3 (branch 2704) on Windows 7 64-bit.
To easily see the issue change the following procedure in the guiclient
demo to be:
procedure TMainForm.actDevToolExecute(Sender: TObject);
begin
if actDevTool.Checked then
begin
// DevTools.Visible := True;
// Splitter.Visible := True;
// DevTools.ShowDevTools(crm.Browser);
crm.ShowDevTools();
end else
begin
DevTools.CloseDevTools(crm.Browser);
Splitter.Visible := False;
DevTools.Visible := False;
end;
end;
Then change the build configuration to 64-bit and run the application. Now click the "Show DevTools" menu item from the "Test" menu to see the crash.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.