Posted on January 28, 2017
JxBrowser 6.13
JxBrowser 6.13 includes several new features such as functionality that allows programmatically triggering DOM events and configuring WebRTC IP handling policy. We also keep improving the library by implementing fixes requested by the users.
Creating and dispatching DOM events
In this version JxBrowser DOM Events API is extended with new methods and classes, which allow creating and triggering
DOM events at the specified HTML element. Starting from v6.13 JxBrowser supports the Event, UIEvent
, MouseEvent
,
and KeyEvent DOM
events. To dispatch an event use the DOMEventTarget.dispatchEvent(DOMEvent event)
method.
WebRTC IP handling policy
The BrowserPreferences
class is extended with the setWebRTCIPHandlingPolicy(WebRTCIPHandlingPolicy policy)
method
that allows configuring WebRTC IP handling policy. The list of supported policies is available in
the WebRTCIPHandlingPolicy
enum.
No pain with OS detection in old JREs
The environment validation algorithm is improved. JxBrowser detects OS name and version using standard Java system
properties such as "os.name"
and "os.version"
. Old JREs such as 1.6 do not recognize modern operating systems and detect
them as "Windows NT (unknown)"
which leads to the "com.teamdev.jxbrowser.chromium.internal.EnvironmentException: Unsupported operating system. Supported OS: Windows 7, 8, 10, Windows Server 2008 R2, 2012, 2016, macOS 10.9+ & Linux. Current OS: Windows NT (unknown), version: 6.2"
exception. The workaround was to manually set "os.name"
to a string that
contains supported operating system name such as “Windows 7” or “Windows Server 2016”. This workaround was not
convenient for JxBrowser customers.
In this update we made environment validation less strong. Now, JxBrowser checks only minimal supported OS and JRE version. It allows using the library with old JREs such as 1.6 on modern operating systems such as Windows Server 2016 without any workarounds or manipulations with the “os.name” system properties.
Improvements
The following functionality got better in v6.13:
- JAWS support in heavyweight rendering mode.
- Memory usage on Windows, macOS and Linux platforms. We discovered and resolved several memory leaks related to lightweight rendering mode, virtual memory usage, internal IPC implementation, JNI code, etc.
Fixes
Here’s what has been resolved in this update:
- The deadlock issue during drag and drop on macOS and Windows platforms in both Swing and JavaFX views. It was caused by a logical error in drag and drop implementation on Java side in lightweight rendering mode.
- The regression issue when mouse and keyboard events are not fired in heavyweight rendering mode is fixed. The issue arose after upgrade to Chromium 55. Now, this functionality works exactly as in previous JxBrowser versions based on previous Chromium builds.
- The issue when the
onblur
event is not fired whenBrowserView
lost focus. - The issue when the
“java.lang.IllegalArgumentException: The certificateStr cannot be null or empty”
exception is thrown when loading HTTPS web pages. - The regression issue when
DownloadItem.setDestinationFile()
is ignored. - The issue when mouse clicks are ignored in dropdowns and are not recognized by some JavaScript libraries such
as
Hammer.js
in the lightweight rendering mode is resolved. It was a regression issue after upgrade to Chromium 55. Now, this functionality works as expected. - This update addresses the rendering issues on macOS and Windows in lightweight rendering mode in both Swing and JavaFX
views. The rendering issues used to happen during resizing browser view, displaying dropdowns, after disposing and
creating
Browser
instances, on Windows platforms with HiDPI monitors. There were several root causes of the rendering issues. All of them are fixed in this version.
Write us at customer-care@teamdev.com to download JxBrowser 6.13.
Follow @JxBrowserTeam to get notified of the library updates.
Subscribe to our RSS feed to get instant updates on new releases.