Posted on August 29, 2019
JxBrowser 7.2
We are glad to announce the release of the new JxBrowser 7.2!
You can always tell a pro by the attention paid to the details. This version of JxBrowser allows you go into very subtleties of your application’s appearance and security, and make everything look and behave just as you planned.
Custom error page
We extended the API with two new callbacks that allow overriding the standard Chromium error pages for HTTP and network errors. The following simple example demonstrates how to do it:
navigation.set(ShowHttpErrorPageCallback.class, params ->
ShowHttpErrorPageCallback.Response.show(
"<html><body>HTTP error</body></html>"));
navigation.set(ShowNetErrorPageCallback.class, params ->
ShowNetErrorPageCallback.Response.show(
"<html><body>Network error</body></html>"));
Favicon
Now, you can access the favicon of the currently loaded web page via the Browser.favicon()
method.
Transparent background
The background of the web pages is opaque by default. To enable transparent background on the web pages loaded in
a Browser
instance please use the following setting:
browser.settings().enableTransparentBackground();
This functionality works only in the off-screen rendering mode on Windows and Linux. On macOS it works in both rendering modes.
Treat insecure origin as secure
Now, you can configure the list of insecure origins that must be treated as secure using the following API:
Engine engine = Engine.newInstance(
EngineOptions.newBuilder(renderingMode)
.treatInsecureOriginAsSecure(
"http://foo.com", "*.foo.*.bar.com")
.build());
It has the same effect as adding the --unsafely-treat-insecure-origin-as-secure
Chromium switch.
Frame initiated download
Access an instance of the Frame
initiated download using the following API:
downloads.set(StartDownloadCallback.class, (params, tell) -> {
params.frame().ifPresent(frame -> {});
...
});
Node’s XPath
The API has been extended with the Node.xPath()
method that allows getting a string representing XPath to the node.
Disallow JavaScript to access cookies
Now you can prevent JavaScript from accessing the document.cookies
property using the following code:
browser.settings().disallowJavaScriptAccessCookies();
Improvements
- Javadoc for the Swing and JavaFX artifacts is now available in the Maven repository.
- Added ability to programmatically request focus in both Swing and JavaFX
BrowserView
via thebrowserView.requestFocus()
method. - All the Chromium binaries on Windows 32- and 64-bit are now signed with a valid TeamDev signature.
- Signature of the internal 7zip executables used to extract Chromium binaries on Windows is updated.
Fixed issues
- Crash when clearing HTTP disk cache when the Incognito mode is enabled.
- The
java.lang.IllegalStateException
error when creating aBrowser
instance. - Empty
UrlRequest
inBeforeSendUploadDataCallback.Params
. - The
java.lang.NullPointerException
error and freeze when Chromium process is terminated during a blocking PRC call. - The
java.lang.NullPointerException
error when JavaFXBrowserView
is created but not displayed. - The
java.lang.IllegalArgumentException: Cannot find the /7.1/chromium-win64.7z resource in JARs
error when onlyjxbrowser-win32.jar
is included into the classpath. - Starting empty popups which have not been closed after download.
- Ignored mouse clicks when
BrowserView
is inside a JavaFXTab
.
Download JxBrowser 7.2
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 @JxBrowserTeam to get notified of the library updates.
Subscribe to our RSS feed to get instant updates on new releases.