
The following is an announcement or stickied post related to the forthcoming Webkit browser or JavaScript Core packages for Free Pascal. You can read more the status of these packages
in this announcement. If you are interested in submitting demo project ideas or helping with testing, send sysrpl (the maintainer of www.getlazarus.org) a
private message.
This post relates to plan for releasing the Webkit browser and JavaScript Core (JSC) packages. The JSC package will be released first. It will require testing on Windows, Mac, and Linux. I need to create some compelling demos and record a few videos before publishing it on Github. I will also need to integrate the final published API of the JSC into the Webkit browser package, and again test on Windows, Mac, and Linux.
In JSC what's currently workingJSC ability to work on all platforms. Run any JavaScript plus latest ES6 support. Create Pascal callbacks for JavaScript. Call JavaScript functions/methods from Pascal. Create JavaScript objects dynamically from Pascal. Fully documented.
In JSC what needs workJSC ability to define native JavaScript classes in Pascal. Testing, demos, and videos all need work. Synchronize changes from the JSC package back into the Webkit browser package.
In Webkit browser package what's currently workingGtk2 and Gtk3 bindings. Custom controls working independently of bindings. Some designers and component editors. A lot of functionality has been included beyond what was shown in the demo, including browser element hit testing, intercepting resources before they load, custom alert/confirm/prompt handling. Mostly documented.
In Webkit browser what needs workNeeds download manager code for handling what to do when links that want to download files. Cocoa/Carbon and Qt4/5 all have a paths forward and I have the sources ready. They use the same basic API so changes should be minimal and mostly related to WSClass details. Windows has not been researched yet, but should be possible. I need to implement a few more helper controls. Testing, demos, and videos. Synchronize changes from the JSC package into the Webkit browser package.
So in summaryI will finish the JSC package first, publish it, then do more work on the Webkit browser. The JSC package code is close to done, but demos will needs some time. Everything should work on all major platforms when complete and offer similar experiences.
Notes about GtkContinued Gtk2 support for Webkit was stopped a few years ago. It works, but there have been no updates by the Webkit team for a few years and there are some security holes that won't be patched. Also it does not have the same performance enhancements or improvements as the Gtk3/Mac/Qt versions. I have made some improvements to the LCL Gtk3 units which in order to better support Gtk3. I will publish those changes to Mantis as a patch when the Webkit web browser package is published.