https://github.com/cztomczak/cefpython/issues/246
"Using external message pump will improve performance, but it is also required to get rid of some bugs, like missing keyboard events on Mac/Windows reported on the CEF Forum"
Under the title "MultiThreadedMessageLoop", we have had the Timer-based solution in use. Not the one described as a better solution, because of mulithreding issues using that approach.
"A more advanced option involves setting CefSettings.ExternalMessagePump = true; and implementing IBrowserProcessHandler.OnScheduleMessagePumpWork. This allows CEF to notify when it needs to perform work, in some instances this may make your application more responsive. "
https://github.com/cefsharp/CefSharp/wiki/General-Usage
What we are looking into now is to create a .NET class that would call an event on the main UI thread and which could be subscribed from an ABL class.
Some Progress and .NET co-operation links:
https://community-archive.progress.com/forums/00019/36671.html
https://community-archive.progress.com/forums/00019/00842.html