发布日期 2022年12月23日

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

请提供您的电子邮箱地址,我们会尽快将下载说明发送给您。

发送...
请检查您的收件箱。

我们无法发送电子邮件。请使用直接链接下载JxBrowser。

如果您已经是我们的注册客户,您无需任何操作,即可轻松享受此次更新。

如果您希望深入了解并体验我们的产品,您可以申请评估许可证。

获取免费 30 天体验
Go Top