发布日期 2017年11月30日

DotNetBrowser 1.14

With this DotNetBrowser update we focused on enhancements for browsing privacy, and HTML5 handling.

Incognito Mode

By default, each Browser instance stores all user data such as history, cookies, cache on the disk. Starting from version 1.14, you can configure Browser to store all user data in memory (Chromium’s “Incognito” mode), so that all user data will be cleared once your .NET application is terminated.

The following example demonstrates how to configure the Browser instance to work in “Incognito” mode and store all user data in memory:

BrowserContextParams parameters = new BrowserContextParams("data-dir")
    { StorageType = StorageType.MEMORY };
BrowserContext context = new BrowserContext(parameters);
Browser browser = BrowserFactory.Create(context);

HTML5 Color Picker

DotNetBrowser now supports HTML Input element with type=color and displays the default color chooser dialog where the user can select the required color. You can override this default behavior by registering your own DialogHandler implementation with overridden OnColorChooser() method where you can set the required color programmatically without displaying any UI dialogs.

Here is the code for this:

internal class DefaultDialogHandler : WinFormsDefaultDialogHandler
{
    public DefaultDialogHandler(Control view) : base(view)
    {
    }

    public override CloseStatus OnColorChooser(ColorChooserParams parameters)
    {
        parameters.Color = Color.Blue;
        return CloseStatus.OK;
    }
}

Improvements:

In this version we have improved performance of the JavaScript-.NET bridge, and of the DOM events processing.

Fixed issues:

  • An internal compiler error resulting from compiling a C++/CLI application that references DotNetBrowser. This issue was caused by the obfuscator settings.
  • A UI thread deadlock sometimes caused by scrolling the web page with the mouse wheel. This issue was reproducible in the heavyweight rendering mode.
  • The Chromium process crashing during filling in the credit card data on the payment web page.
  • The custom SSL certificates not recognized by the Chromium engine properly. This issue was reproducible if the certificate was never installed in the certificate storage.
  • The render process crash due to JavaScript context being destroyed. In the multithreaded environment, it was possible that the JavaScript context is destroyed after the check of its existence is performed and before making an actual JavaScript call. This led to unexpected crashes in Chromium render process.

Request evaluation licence

Go Top