Disclosure Statement: This site contains affiliate links, which means that I may receive a commission if you make a purchase using these links. As an eBay Partner, I earn from qualifying purchases.

CEF4Delphi updates

User avatar
salvadordf
Posts: 4016
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: CEF4Delphi updates

Post by salvadordf »

Hi,

CEF4Delphi had a few minor updates during these days :
  • Added custom popup windows to the TabbedBrowser2 demo. The same custom popup windows as the PopupBrowser2 demo.
  • Improved Linux support thanks to Christoph Schneider. Thank you very much! :D
  • Added more code comments in the TabbedBrowser2 demo.
  • Modified TCEFWorkScheduler for FPC in Linux.
  • Added GlobalCEFApp.ForcedDeviceScaleFactor property.
  • Added TBufferPanel.ForcedDeviceScaleFactor property.
  • Added TFMXBufferPanel.ForcedDeviceScaleFactor property.
  • Updated ConsoleBrowser2 and WebpageSnapshot demos to use the new TBufferPanel.ForcedDeviceScaleFactor property.
  • Added workaround for the CEF issue #2899. The GlobalCEFApp.IgnoreCertificateErrors wasn't working but this workaround avoids that problem. https://bitbucket.org/chromiumembedded/ ... rrors-true
Linux support in Lazarus keeps improving and I hope to release more working demos in the coming days. :D
User avatar
salvadordf
Posts: 4016
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Linux support in Lazarus

Post by salvadordf »

Linux support in Lazarus keeps improving and now the SimpleOSRBrowser demo can navigate! :D

There are still some issues and missing features but the "readme.md" file now has links to the CEF binaries for Linux in case someone wants to test it or help in the development.

Feel free to make suggestions and create pull requests if you have experience with Lazarus in Linux!

The CEF binaries are these : The CEF binaries for Linux include the debug symbols and they are huge. This slows down the application initialization but you can remove the symbols executing this command in a Linux console :

Code: Select all

strip libcef.so
User avatar
salvadordf
Posts: 4016
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: CEF4Delphi updates

Post by salvadordf »

The latest CEF4Delphi update fixes the SimpleBrowser2 demo in Linux with Lazarus ! :D
User avatar
salvadordf
Posts: 4016
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Printing support in Linux

Post by salvadordf »

I just uploaded a new version of CEF4Delphi which adds printing support for Linux with Lazarus.

I also added 2 more demos for Linux :
  • SubProcess
  • ExternalPumpBrowser
Other changes related to this :
  • Added the GlobalCEFApp.DisableZygote property. This property adds the "--no-zygote" command line switch used in the ExternalPumpBrowser demo.
  • Added the GlobalCEFApp.OnPrintStart event.
  • Added the GlobalCEFApp.OnPrintSettings event.
  • Added the GlobalCEFApp.OnPrintDialog event.
  • Added the GlobalCEFApp.OnPrintJob event.
  • Added the GlobalCEFApp.OnPrintReset event.
  • Added the GlobalCEFApp.OnGetPDFPaperSize event.
User avatar
salvadordf
Posts: 4016
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

CEF4Delphi works on Raspberry Pi !

Post by salvadordf »

I recently bought a Raspberry Pi 4 and installed Lazarus 2.0.10 with Fpcupdeluxe.

Then I installed the latest CEF4Delphi and it works! :D

Image
Image
Image
Image
User avatar
salvadordf
Posts: 4016
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Update to CEF 87.1.13

Post by salvadordf »

Hi,

CEF4Delphi is now updated to CEF 87.1.13 which includes Chromium 87.0.4280.141

The new Chromium version has many security issues fixed. Read this for more information :
https://chromereleases.googleblog.com/2 ... sktop.html

The CEF4Delphi code fixes some compilation issues in FMX for Linux thanks to Christoph Schneider.

The CEF binaries are these :
User avatar
salvadordf
Posts: 4016
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: CEF4Delphi updates

Post by salvadordf »

CEF4Delphi has some more fixes in Linux.

These are the latest changes :
  • Fixed OSRExternalPumpBrowser in Linux
  • Fixed SimpleOSRBrowser in Linux
  • Added the TBufferPanel.CopyOriginalBuffer property
  • Added the TBufferPanel.MustInitBuffer property
  • Added the TBufferPanel.OrigBuffer property
  • Added the TBufferPanel.OrigBufferWidth property
  • Added the TBufferPanel.OrigBufferHeight property
  • Renamed TBufferPanel.PopupBuffer to TBufferPanel.OrigPopupBuffer
  • Renamed TBufferPanel.PopupBufferWidth to TBufferPanel.OrigPopupBufferWidth
  • Renamed TBufferPanel.PopupBufferHeight to TBufferPanel.OrigPopupBufferHeight
  • Renamed TBufferPanel.PopupBufferBits to TBufferPanel.OrigPopupBufferBits
  • Renamed TBufferPanel.PopupScanlineSize to TBufferPanel.OrigPopupScanlineSize
  • Added the TBufferPanel.UpdateOrigBufferDimensions function
  • Added the TBufferPanel.UpdateOrigPopupBufferDimensions function
TBufferPanel works as before in Windows but I added several properties and functions that initially were meant for Linux but they can be used in Windows too.
User avatar
salvadordf
Posts: 4016
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: CEF4Delphi updates

Post by salvadordf »

I just updated CEF4Delphi with the suggestions from ralph and shobits1. Thank you very much! :D

The missing drag and drop properties and events in TCefWinControl can be used in TCEFWindowParent and TCEFLinkedWindowParent :
  • TCefWinControl.DragKind
  • TCefWinControl.DragCursor
  • TCefWinControl.DragMode
  • TCefWinControl.OnDragDrop
  • TCefWinControl.OnDragOver
  • TCefWinControl.OnStartDrag
  • TCefWinControl.OnEndDrag
TChromium has 3 new DevTools events with pointers to unparsed utf8 strings :
  • TChromium.OnDevToolsRawMessage
  • TChromium.OnDevToolsMethodRawResult
  • TChromium.OnDevToolsRawEvent
The old events are still available and they convert the utf8 string with a json document to an ICefValue parameter.

If your application only receives small json strings then you can safely use the old events but if you think you can receive a big json string then you have the option to use the new events and parse the json string in a thread to improve performance.

The old DevTools events only parse the json string if the application uses those events to improve performance.
User avatar
salvadordf
Posts: 4016
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: CEF4Delphi updates

Post by salvadordf »

CEF4Delphi now has a Firemonkey demo for Linux called FMXExternalPumpBrowser2 :D

It was created with the help from Christoph Schneider. Thank you very much!!!!

Some features are still missing like keyboard input, cursor changes, etc.
It has initialization problems but we hope to fix them with the help of the FMXLinux creator, Eugene Kryukov.
User avatar
salvadordf
Posts: 4016
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Update to CEF 88.1.4

Post by salvadordf »

Hi,

I just updated CEF4Delphi to CEF 88.1.4 which includes Chromium 88.0.4324.96 :D

These is what's new :
  • Added GlobalCEFApp.DisableChromeLoginPrompt
  • Removed GlobalCEFApp.FlashEnabled
  • Removed GlobalCEFApp.CustomFlashPath
  • Removed TChromiumCore.RunAllFlashInAllowMode
The CEF binaries are these :
  • Windows 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.1.4%2Bg5a6ab23%2Bchromium-88.0.4324.96_windows32.tar.bz2
  • Windows 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.1.4%2Bg5a6ab23%2Bchromium-88.0.4324.96_windows64.tar.bz2
  • Linux x86 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.1.4%2Bg5a6ab23%2Bchromium-88.0.4324.96_linux32.tar.bz2
  • Linux x86 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.1.4%2Bg5a6ab23%2Bchromium-88.0.4324.96_linux64.tar.bz2
  • Linux ARM 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.1.4%2Bg5a6ab23%2Bchromium-88.0.4324.96_linuxarm.tar.bz2
  • Linux ARM 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.1.4%2Bg5a6ab23%2Bchromium-88.0.4324.96_linuxarm64.tar.bz2
This version of Chromium drops support for Adobe Flash. If your application needs Flash then keep using the previous release :
https://github.com/salvadordf/CEF4Delphi/releases/tag/87.0.4280.141
Locked