Posted on July 5, 2019

We are glad to announce the release of the new JxBrowser 6.24!

In this update we extended the public API with the new features you have been asking for the most and fixed a lot of reported issues.

Please note that this update is the last minor update of JxBrowser 6 that extends the public API with the new functionality. All the new features, Chromium upgrades, support of the new operating systems and JDKs, different enhancements, etc. will be applied on top of the latest (mainstream) version. The current mainstream version is 7.0. We strongly recommend that you upgrade your projects that use JxBrowser to the latest JxBrowser version.

JxBrowser 6 will be supported by the end of 2019. Please check the FAQ section in our “Migrating from 6.x to 7.0” guide.

Features & Improvements

Chromium switches

  • The --hide-scrollbars switcher that allows hiding scroll bars on the web pages.
  • The --disable-touch-menu switcher that blocks the touch popup menu on Windows.
  • The --autoplay-policy=no-user-gesture-required switcher that allows enabling autoplay on the web pages. By default, autoplay is disabled.

API

  • The DOMElement DOMAttributeNode.getOwnerElement() method that allows getting the DOMElement node this attribute is attached to.
  • The List<Certificate> CertificateVerifyParams.getIntermediateCertificates() method that allows getting the intermediate certificate list retrieved from the server that can be used to reconstruct and verify the complete certificate chain.
  • The LoadParams.isMainFrame() method that allows you to know if it’s a main frame initiated this load request.
  • The BoundsListener interface that allows handling requests to resize/move browser window through the resizeTo(), resizeBy(), moveTo(), and moveBy() JavaScript functions.
  • The FocusListener interface that allows getting notifications when JavaScript requests to set focus to a Browser instance.

Other features and improvements

  • Support of the JavaScript NaN in JavaScript-Java bridge.
  • Support of internationalization (i18n) when browsing local file system.
  • Prevent the XPathResult objects from being garbage collected while it is used in Java code.
  • Avoid the bug in JDK with the “java.io.IOException: error=26, Text file busy” error on extracting binaries on Linux.
  • Include the information about the product details such as version, copyright, product name, etc. to the JxBrowser binaries details on Windows platform.
  • Improve security by disabling functionality that allows ignoring SSL certificate errors and loading HTTPS web pages with invalid SSL certificates by default. Now, such web pages will not be loaded by default and you will get an error page complaining about invalid SSL certificate.

Fixed issues

  • Thread leak during converting a massive number of HTML documents to PDF. The “Printing_Worker” threads are being leaked for each Browser.print() call and eventually, the program fails.
  • Thread deadlock when setting custom protocol handler from PopupContainer.insertBrowser().
  • The scaling issue on Windows 10 with a multi-screen setup with different scaling factors (e.g. 100% and 125%) after upgrading to Chromium 69.
  • PDF Viewer is opened in the whole view instead of opening in an IFRAME where the PDF document is embedded.
  • Black flickering on JFrame startup on Windows.
  • The missing LoadListener.onFinishLoadingFrame() event when loading, for example, “about:blank” on Linux.
  • The missing LoadListener.onFailLoadingFrame() event when it’s expected to be fired.
  • The missing NetworkDelegate.onBeforeURLRequest() event when loading a web page.
  • Offline JavaScript service workers are not initialized properly. When loading a web page that initializes service workers, we see the “Error during service worker registration” message in the JS console.
  • The NumberFormatException error is thrown when trying to fetch properties of the empty HTML input element.
  • The JavaFX BrowserView control is clickable when modal dialog is opened in the heavyweight rendering mode on Linux.
  • Crash on attempt to log the registered Java object through the console.log() or alert() JavaScript functions.
  • Crash when loading a remote debug URL in JxBrowser on Windows.
  • Crash when opening, closing, and opening a popup window again on Windows.
  • Crash when updating proxy configuration when at least one Browser instance has been created.
  • Crash on subsequent load URL calls when NetworkDelegate is configured.
  • Crash in Chromium renderer process when canceling file download.
  • The StringIndexOutOfBoundsException error is thrown when calling CookieStorage.getAllCookies().
  • The IllegalStateException error when calling JSObject.setProperty() after loading a web page with different domain.
  • The “failed to deserialize message” error when clicking the BrowserView control on Windows with enabled IME.
  • The missing Win64 Chromium binaries in OSGi environment.
  • Crash when disposing drop down popup window on Windows.
  • SpellCheckerService is always reporting that spell checker is enabled even when it’s disabled.

Download JxBrowser 6.24

Go Top