Posted on Oct 17, 2019

Oracle has released the new JDK, Apple has released the new macOS, and we have released the new JxBrowser, supporting both of them, for you to enjoy the updates right away.

Besides, JxBrowser 7.3 got way more stable and reliable with all the fixes and improvements, introduced in this release.

What’s New

macOS Catalina

This month Apple has announced the public release of macOS Catalina (10.15). JxBowser 7.3 has been tested on this operating system and now officially supports it.

Java 13

Oracle announced the GA release of JDK 13. And starting with version 7.3 JxBrowser officially supports it on the Windows, Linux, and macOS platforms.

Browser initiated URL request

In the BeforeSendHeadersCallback and ReceiveHeadersCallback callbacks you can access the Browser instance, which initiated the corresponding URL request. For example:

network.set(BeforeSendHeadersCallback.class, params -> {
    // Access the Browser instance initiated this URL request.
    params.browser().ifPresent(browser -> {});
    return BeforeSendHeadersCallback.Response.proceed();
});

network.set(ReceiveHeadersCallback.class, params -> {
    // Access the Browser instance initiated this URL request.
    params.browser().ifPresent(browser -> {});
    return ReceiveHeadersCallback.Response.proceed();
});

Disabling BrowserView

Now you can disable/enable both the Swing and JavaFX BrowserView component in both rendering modes using the BrowserView.setEnabled(boolean) method. The disabled BrowserView renders web content as usual but ignores the user input.

Improvements

  • The library checks all the required dependencies on Linux platform and throws an exception if some dependencies are missing and must be installed. The checking mechanism takes into account the LD_LIBRARY_PATH environment variable.
  • Swing BrowserView is now positioned correctly inside a container without layout manager in the hardware accelerated rendering mode.

Fixed issues

  • Wrong scaling when moving BrowserView on macOS from an HiDPI to Non-HiDPI display and vice versa.
  • Broken painting when removing and adding the same Swing BrowserView component in the off-screen rendering mode.
  • Infinite await after closing an Engine instance during stopping JavaFX application.
  • Overriding URL request with the same HTTP headers in the ReceiveHeadersCallback callback leading to an issue when some websites stop loading.
  • The java.lang.IllegalArgumentException: Failed to determine action class error when registering a callback which implements two or more callback interfaces.
  • The Swing BrowserView bounds are incorrect when displayed on the monitor with the scale factor > 100% and when the --force-device-scale-factor=1.0 Chromium switch is used.
  • The web content being displayed at the top left corner of the main screen when a Swing BrowserView component is embedded into the JTabbedPane container.
  • The Cookie expiration time being ignored and invalid when putting a cookie to the cookie store.
  • The key property being empty when the keydown JavaScript event has been fired in the off-screen rendering mode.
  • Drag and drop not working properly on the Bing maps, HTML sliders, and the WebGL content in the off-screen rendering mode.
  • The java.lang.NullPointerException error during constructing a JsError instance.
  • Flickering during resizing WebGL content on Linux in the off-screen rendering mode.
  • Memory leak when loading the web pages with the different domains in the off-screen rendering mode when the BrowserView is displayed in both Swing and JavaFX.
  • The pending Chromium render processes when killing Java process when Chromium Sandbox is disabled on Windows.
  • Wrong BrowserView being displayed when two or more BrowserView instances are used in JTabbedPane in the hardware-accelerated rendering mode on macOS.
  • Wrong Frame in the PointInspection structure for an HTML element located inside an IFRAME.
  • CookieStore not being able to delete the cookies which were set by a web server.
  • Native crash when displaying a JavaFX Stage with the TabPane that contains BrowserView in the hardware-accelerated rendering mode on Windows and Java 10 and higher.
  • Right click context menu not working for some web pages on Windows in the off-screen rendering mode.

Request evaluation license
Download JxBrowser 7.3

Go Top