Publicado em 18 de junho de 2020

DotNetBrowser 2.1

Esta atualização melhora o DotNetBrowser com as possibilidades do Chromium 79 e uma série de funcionalidades, aumentando a conveniência da interação com a biblioteca.

O que há de novo

Chromium 79

O motor Chromium foi atualizado para a versão 79.0.3945.130.

Acesso às opções do motor

É possível acessar as opções do Motor quando duas ou mais instâncias do Engine são executadas simultaneamente. Agora você pode personalizar facilmente o idioma do motor, o modo de renderização e muito mais.

Interação flexível com a funcionalidade dos elementos

Emular o comportamento do teclado do usuário para fins de teste ou automação tornou-se mais conveniente devido aos métodos Focus() e Blur() adicionados à funcionalidade Element.

IJsFunction

A interface IJsFunction foi adicionada na API JavaScript-.NET Bridge. Agora é possível trabalhar com as funções JavaScript diretamente a partir do código .NET e passar a referência a uma função do JavaScript para o .NET e vice-versa. Por exemplo:

IJsFunction alert = frame.ExecuteJavaScript<IJsFunction>("window.alert").Result;
alert?.Invoke(window, "Hello world!");

Problemas corrigidos

  • A ArgumentException que ocorre ao minimizar e restaurar uma instância do BrowserView em uma aplicação WinForms ou WPF usando o modo de renderização acelerada por hardware.
  • O evento UnobservedTaskException sendo iniciado intermitentemente durante o processo de descarte de uma instância do Engine.
  • Várias instâncias do motor podem utilizar a mesma pasta de dados do usuário.
  • A tecla Tab não funciona corretamente em aplicações WinForms que utilizam o modo de renderização fora da tela.
  • O acesso aos dispositivos multimédia (microfone e câmera) não funcionando corretamente.
  • Layout incorreto do BrowserView relativo a um formulário ao usar o modo de renderização acelerada por hardware em aplicativos WinForms.
  • A falha que ocorre se a propriedade Engine.Network.AcceptLanguage for definida antes de criar qualquer instância do Browser.
  • O parâmetro Accept-Language foi alterado pela biblioteca DotNetBrowser.

Melhorias

  • O DotNetBrowser agora suporta o Global Assembly Cache.
  • O título DotNetBrowserHostWindow foi removido do controle BrowserView em aplicações WPF que utilizam o modo de renderização acelerada por hardware.
  • Os métodos Navigation.LoadUrl() e Frame.LoadUrl() não requerem mais que o protocolo seja especificado explicitamente. A biblioteca utiliza a mesma abordagem para detectar o protocolo, assim como o utilizado pelo Google Chrome na barra de endereço.
  • A propriedade StartDownloadHandler foi movida da interface IDownloads para a interface IBrowser. Consulte a comparação da implementação das versões 2.0 e 2.1:

v2.0

C#

engine.Downloads.StartDownloadHandler = 
    new Handler<StartDownloadParameters, StartDownloadResponse>((p) =>
    {
        return StartDownloadResponse.DownloadTo(Path.Combine(Path.GetTempPath(),
            p.Download.Info.SuggestedFileName));
});

VB .NET

engine.Downloads.StartDownloadHandler = 
    New Handler(Of StartDownloadParameters, StartDownloadResponse)(Function(p)
        Return StartDownloadResponse.DownloadTo(Path.Combine(Path.GetTempPath(),
            p.Download.Info.SuggestedFileName))
    End Function)

v2.1

C#

browser.StartDownloadHandler = 
    new Handler<StartDownloadParameters, StartDownloadResponse>((p) =>
    {
        return StartDownloadResponse.DownloadTo(Path.Combine(Path.GetTempPath(),
            p.Download.Info.SuggestedFileName));
});

VB .NET

browser.StartDownloadHandler = 
    New Handler(Of StartDownloadParameters, StartDownloadResponse)(Function(p)
        Return StartDownloadResponse.DownloadTo(Path.Combine(Path.GetTempPath(),
            p.Download.Info.SuggestedFileName))
    End Function)

Funcionalidade abandonada

  • O evento INetwork.TransactionStarted. Em vez disso, você pode utilizar o INetwork.StartTransactionHandler.
  • O evento INetwork.BytesReceived. Em vez disso, você pode utilizar o evento INetwork.ResponseBytesReceived.
  • O evento INetwork.BytesSent.
  • A propriedade Url já não está disponível nos CanAccessFileParameters utilizados por INetwork.CanAccessFileHandler.

Pedir licença de avaliação
Baixar DotNetBrowser 2.1 (.NET Framework)
Baixar DotNetBrowser 2.1 (.NET Core)

Go Top