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 internalNetworkDelegate
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.
Follow @JxBrowserTeam to get notified of the library updates.
Subscribe to our RSS feed to get instant updates on new releases.