Posted on
JxBrowser 7.12.1
We are glad to announce a patch update with several important fixes and improvements.
Improvements
The
CFProcessPathenvironment variable on macOS is now skipped when launching the Main Chromium process, preventing Chromium from finding its internal resources which results in failure to start. TheCFProcessPathenvironment variable is used on macOS to make it possible to drag items onto the application’s dock icon for processing. Your Java application will still be able to use it.No
Advancedbutton is now shown on the error page that is shown when you load an HTTPS web page with an invalid SSL certificate. Now the only way to load a web page with an invalid SSL certificate is to use theCertificateErrorCallbackas shown below:browser.set(CertificateErrorCallback.class, (params, tell) -> tell.allow());The
jxbrowser.force.dpi.awarenesssystem property has been added. The presence of this property tells the library that the DPI awareness mode of the current Java process should be programmatically set toSystembefore launching the Main Chromium process.This property addresses the HiDPI issue in Java 8u211+. When creating an
Engineinstance before the UI toolkit is initialized, the Java and Chromium processes end up with different DPI awareness modes. This leads to the rendering issues in the HiDPI environments. It happens because starting from 8u211, Java does not enforce any DPI awareness mode to the applications via manifest like before. Since 8u211, Java startsunawareand lets the application configure the DPI awareness mode programmatically during UI toolkit initialization.When the library runs the Chromium process, it does not know whether a UI toolkit is initialized and the DPI awareness mode is configured. It is important to know this in order to synchronize the modes between Java and Chromium processes. To bypass the issue we decided to set the Java DPI awareness mode programmatically if this property is set. In this case, we do not need to know whether a UI toolkit has been initialized or not. We can just set the mode and launch the Chromium process and the DPI awareness mode of Java and Chromium will be the same.
It is now allowed to access
LocalStoragefrom JavaScript if the web page was loaded from a JAR archive.During
Engineinitialization Kaspersky shows a security warning that “Chromium is attempting to get access to webcam”. We updated the initialization flow so that the webcam functionality is initialized only when the web page requests access to it. It allows suppressing the warning dialog duringEnginestartup.
Fixed issues
- Chromium crash when loading
about:blankafterhttp://localhost/any.xml. - Chromium crash when loading a data URI to a non-main frame.
- Chromium crash when accessing content document of an
IFRAMEif loading content of theIFRAMEwas canceled. - JVM crash when opening RPC connection on macOS and Linux.
- Dragging/selecting items inside a web page leading to browser becoming unresponsive or JVM crashing in the off-screen rendering mode on Windows and Linux.
- No keyboard modifiers passed when dispatching the
MouseMovedevents to the Chromium in the off-screen rendering mode. resulting in no keyboard modifiers received on the JavaScript side. - Thread deadlock when accessing the main frame of the currently loaded web page from the main SWT thread in the hardware accelerated rendering mode on Windows.
- Thread deadlock when accessing the URL of the currently loaded web page from the main SWT thread in the hardware accelerated rendering mode on Windows when displaying popups.
- Thread deadlock when accessing cookies from the main JavaFX thread in the hardware accelerated rendering mode on
Windows after closing
javafx.scene.control.TextInputDialog. - Thread deadlock when frequently showing/hiding JavaFX
BrowserViewin the hardware accelerated rendering mode on Windows. - Invalid key codes in JavaScript for the
NumPadkeys in the off-screen rendering mode. - Invalid key codes in JavaScript for the
Enter,Tab,Backspacekeys when dispatching theKeyTypedevent in the hardware accelerated rendering mode on Swing. - Incorrect
KeyboardEvent.locationpassed for theNumPad,Left, andRightkeys in the off-screen rendering mode. - Popups size and location calculated improperly when non-default DPI is set in the operating system.
- Not being able to access the content document of an
IFRAMEwhich loads a web page from another domain. - Memory leak in the Chromium Render process when working with the DOM and JavaScript objects in the different web pages using JxBrowser DOM and JavaScript API.
- Scrolling not working after SWT
BrowserViewis once hidden in the off-screen rendering mode. - Chromium window getting destroyed after JavaFX
Stageis hidden with the embeddedBrowserViewin the hardware accelerated rendering mode on Linux. - JavaFX
BrowserViewdispatchingEntertwice in the off-screen rendering mode. - Drag and Drop between JavaFX
BrowserViewand other JavaFX controls not working in the off-screen rendering mode on Linux for JavaFX older than 14th. - Drag and Drop on the web pages that use the custom drag data not working properly in the off-screen rendering mode.
- Drag and drop for links and text not working, when attempted more than once in JavaFX off-screen rendering mode.
- Black JavaFX
BrowserViewafter hiding then showing in the off-screen rendering mode. - HTML slider not working in SWT
BrowserViewin the off-screen rendering mode. - Incorrect size of the popup that is displayed after suppressing the previous popup.
Download JxBrowser 7.12.1
Please share your email with us, and we'll send you download instructions.
We were unable to send the email. Please use the direct link to download JxBrowser.
If you are a registered customer you don't need to do anything to use this update.
If you would like to evaluate the product, you need an evaluation license.
Follow @JxBrowser to get notified of the library updates.
Subscribe to our RSS feed to get instant updates on new releases.
Subscribe to get notifications about the latest releases.