发布日期 2016年09月16日

JxBrowser 6.7

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 Browser instance. Now you can disable zoom functionality for a specific Browser instance to prevent web page from zooming via zoom in/out/reset functions or via touch gestures on the touch screen devices.
  • The new version now features functionality that allows getting notifications when web page becomes unresponsive/responsive.
  • Support of HiDPI monitors on Windows platforms has been improved. Several developers reported the issue with positioning BrowserView component 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.exe where 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.
  • JavaScript-Java Bridge API has been extended. We added functionality that allows setting items to JSArray at specific index, implemented support of access to (ability to modify) public field of injected Java object into JavaScript code, and added the ability to instantiate JavaScript objects in Java code.
  • The 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.
  • The 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.
  • 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.

The version introduces fixes for the following issues:

  • The StringIndexOutOfBoundsException error when calling the DOMElement.getAttributes() method.
  • 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 DOMElement.hasProperty() method.
  • The issue when keyboard shortcuts such as Cmd+A, Cmd+C, Cmd+V, Cmd+X, Cmd+Z, Cmd+Y do not work on macOS when CapsLock is on.
  • Stability of the library in multi-threaded environment when creating a number of Browser instances with unique BrowserContext.

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

Go Top