Posted on September 16, 2016
In this update we extended existing API with new functionality, fixed several critical issues reported by our customers, and improved stability of the library in multi-threaded environments.
Let us provide you with more details of what has been improved:
- We have added functionality that allows enabling/disabling zoom for a
Browserinstance. Now you can disable zoom functionality for a specific
Browserinstance to prevent web page from zooming via zoom in/out/reset functions or via touch gestures on the touch screen devices. Read more.
- The new version now features functionality that allows getting notifications when web page becomes unresponsive/responsive. Read more.
- Support of HiDPI monitors on Windows platforms has been improved. Several developers reported the issue with positioning
BrowserViewcomponent inside Java frame on HiDPI monitors on Windows platform. The issue is reproducible only when system font scale factor is != 100% and Java process does not have the DPI Awareness flag in the process’ manifest. So, they were running Java program using patched
java.exewhere the DPI Awareness flag is removed. JxBrowser Chromium process has the DPI Awareness flag in the process’ manifest. Thus, it leads to the situation when Java and JxBrowser Chromium processes are differently configured. To solve the issue we need to run JxBrowser Chromium process with the same DPI Awareness flag value. We updated code in JxBrowser Chromium process, so that it programmatically detects whether the flag is set in Java process and configures JxBrowser Chromium process accordingly.
DOMElement.getBoundingClientRect()method has been implemented. This method allows getting bounds of the element and its position relative to the top-left of the viewport of the current document. Read more.
Browser.forwardKeyEvent()method has been added. This method allows forwarding keyboard events to the currently loaded web page. It’s very useful when using JxBrowser in a kiosk Java application that must run on terminals with touch screen. Read more.
- Size of JxBrowser JAR files has been reduced by ~30% by using a better compression algorithm for archiving Chromium binaries.
- Default logging level has been changed to SEVERE instead of ALL. According to your feedback, you prefer that JxBrowser does not print all log messages into console output by default.
- Default popup window title has been changed. Now, popup window title displays the currently loaded document’s title. If the document’s title represents an empty string, the popup window title will be empty as well. It will not display the “JxBrowser Popup” text like in previous versions.
- We have removed TeamDev’s signature from JAR files. Starting from this update we decided to ship JxBrowser as a set of unsigned JAR files. From the support requests we noticed that signed JAR files cause deployment and modification issues for developers. The developers cannot modify Manifest files of the signed JxBrowser JAR files or combine them into a single JAR. When they deploy JxBrowser in their JWS application, then have to remove TeamDev’s signature and sign JxBrowser JAR files with their own signature. To get rid of these little big issues, we decided to remove signature from JxBrowser JAR files to make life of Java developers easier. You can still download JxBrowser distribution package with signed JAR files from http://cloud.teamdev.com/downloads/jxbrowser/jxbrowser-x.x.x-cross-desktop-win_mac_linux-signed.zip, where the x.x.x must be replaced with an actual JxBrowser version.
The version introduces fixes for the following issues:
StringIndexOutOfBoundsExceptionerror when calling the
- The “IllegalArgumentException: Unsupported value: 17” error when loading web page.
- The issue when printer prints documents in color when the “Black and White” option in default Print dialog is selected. The issue was in incorrect print setting flag sent to Chromium engine during printing.
- The issue when render process is unexpectedly terminated when calling the
- The issue when keyboard shortcuts such as
Cmd+Ydo not work on macOS when CapsLock is on.
- Stability of the library in multi-threaded environment when creating a number of
Browserinstances with unique