Posted on December 23, 2022
JxBrowser 7.29
In this release, we upgrade Chromium to 108, introduce new API and improve configurability.
Chromium 108
We upgraded Chromium to 108.0.5359.125.
Among other fixes, this update contains 8 important security fixes.
Presentation API
We added support for JavaScript Presentation API.
When a JavaScript application starts the presentation, JxBrowser gives you a callback where you can select the receiving device or cancel the presentation:
browser.set(StartPresentationCallback.class, (params, tell) -> {
MediaReceiver receiver = params.mediaReceivers().await(it -> {
return it.supports(CastMode.PRESENTATION);
});
tell.start(receiver);
});
Casting API
It’s now possible to cast media content directly from JxBrowser to devices supported by Chromium. Here’s how easy it is:
MediaReceiver receiver = mediaReceivers.await(it -> {
return it.supports(CastMode.SCREEN);
});
CompletableFuture<CastSession> future = browser.castScreen(receiver);
Check out the complete guide to this functionality.
Better LoadUrlParams
We introduced a high-level API for setting POST data when loading URLs. Instead of manually composing the POST data
string, use one of the UploadData
ancestors instead. For example:
MultipartFormData data =
MultipartFormData.newBuilder()
.addPair(Pair.of("name", "Janis Joplin"))
.addPair(Pair.of("age", "27"))
.build();
LoadUrlParams params =
LoadUrlParams.newBuilder(url)
.uploadData(data)
.build();
browser.navigation().loadUrl(params);
New Engine options
We introduced two new engine options: rendererHangTimeout()
and disableDnsQuickCheck()
.
The rendererHangTimeout()
configures how long the renderer can be unresponsive before it is considered hung.
The disableDnsQuickCheck()
turns off WPAD optimization, causing Chromium to wait longer for DNS-based WPAD servers.
Network prediction
We added a possibility to manage the network prediction in Chromium:
ProfilePreferences preferences = profile.preferences();
preferences.enableNetworkPrediction();
preferences.disableNetworkPrediction();
preferences.isNetworkPredictionEnabled();
Quality enhancements
- Fixed a deadlock when closing the engine before the system print dialog appeared.
- Made the JS-accessible members visible in the injected Java objects.
- Fixed a detached window after the drag-and-drop on Linux.
- Fixed point inspection not considering the scale factor.
- Fixed point inspection returning shadow DOM elements.
- Fixed
IllegalStateException
thrown when disabling drag-and-drop. - Fixed incorrect focus traversal in Swing.
- Fixed crash when loading PDF sequentially.
- Fixed broken caching when
VerifyCertificateCallback
is used. - Fixed missing microphone permissions in Microsoft Teams meetings.
- Disabled navigation that appeared when pressing the Back/Forward mouse buttons.
- Fixed silent crashes in the GPU processes.
Download JxBrowser 7.29
Please share your email with us, and we'll send you download instructions.
We were unable to send the email. Please use the direct link to download JxBrowser.
If you are a registered customer you don't need to do anything to use this update.
If you would like to evaluate the product, you need an evaluation license.
Follow @JxBrowserTeam to get notified of the library updates.
Subscribe to our RSS feed to get instant updates on new releases.