List icon Contents

Posted on November 6, 2017

JxBrowser 6.17

JxBrowser 6.17 lists quite a number of new features and improvements.

Sandbox on Windows

In this version we have added support of the Chromium Sandbox on the Windows platforms. By default Sandbox is disabled to save backward compatibility with the previous versions. To enable Sandbox set the jxbrowser.chromium.sandbox System Property to true before you create a first Browser instance. For example:

System.setProperty("jxbrowser.chromium.sandbox","true");
Browser browser = new Browser();

DOMFrameElement

The DOMFrameElement interface has been introduced. Now, you can cast the DOMElement instance that represents an IFRAME or FRAME HTML element to DOMFrameElement, and access the DOMDocument instance of the given frame. For example:

DOMDocument document = browser.getDocument();
DOMElement iframe = document.findElement(By.tagName("iframe"));
if (iframe instanceof DOMFrameElement) {
    DOMFrameElement frameElement = (DOMFrameElement) iframe;
    DOMDocument frameDocument = frameElement.getContentDocument();
    //...
}

Improvements

From this version on JxBrowser support page ranges when saving PDF as PDF document. Partial content printing also became possible.

We take stability seriously, so this release can boast improved stability in multi-threaded environment when disposing the Browser instance, and enhanced stability of the Chromium engine when submitting a credit card credentials on a payment portal web page.

And a couple more convenient improvements in this version: The DefaultDialogHandler Swing implementation now respects Swing’s EDT-Rules and disables UI dialogs in EDT. The debug.log file generation on Windows 7 and 8/8.1 has been disabled.

Fixed issues

  • Black screen and flickering during resizing BrowserView in the heavyweight rendering mode on Windows platforms.
  • IllegalArgumentException exception thrown when providing a valid language through the --lang Chromium switcher.
  • The unexpected ConcurrentModificationException exception thrown from the internal NetworkDelegate implementation.
  • Rotation not working for drop downs with the lightweight rendering mode in JavaFX application.
  • Two-sided checkbox not working on the default Swing print dialog.
  • The selected printer name not being applied in the default JavaFX and Swing print dialog implementations.
  • The window.outerHeight JavaScript code always returning 0 in the lightweight rendering mode.
  • BrowserContext duplicating Chromium data, cache, and memory directories when a relative path is provided.
  • Printing SVG content on Windows platform. It was broken because of disabled Chromium Sandbox. Some SVG content requires that Chromium Sandbox is enabled to correctly print SVG content.
  • The Browser.invokeAndWaitFinishLoadingMainFrame() method never ending if loading failed.
  • Hovering the mouse over a re-sizable data grid header not changing the cursor.

Java 9 support

This release does not include Java 9 support. Unfortunately, Oracle removed the important functionality without providing any alternatives. Previously, it was possible to get the native window handles for Java Swing/JavaFX frames. Now to support the heavyweight rendering mode under Java 9, we have to find a completely new approach.

That’s what we are working on at the moment. We do our best to enable Java 9 support in JxBrowser as soon as possible. Thank you for your patience.

Write us at customer-care@teamdev.com to download JxBrowser 6.17.