List icon Conteúdo

Publicado em 28 de janeiro de 2017

JxBrowser 6.13

O JxBrowser 6.13 inclui várias novas características, como a funcionalidade que permite acionar programaticamente eventos DOM e configurar a política de tratamento de IP WebRTC. Também continuamos a melhorar a biblioteca, implementando correções solicitadas pelos usuários.

Criação e envio de eventos DOM

Nesta versão, a API de eventos DOM do JxBrowser está expandida com novos métodos e classes, que permitem criar e acionar eventos DOM no elemento HTML especificado. A partir da versão 6.13 o JxBrowser suporta os eventos Event, UIEvent, MouseEvent, e KeyEvent DOM. Para enviar um evento, utilize o método DOMEventTarget.dispatchEvent(DOMEvent event).

Política de tratamento de IP WebRTC

A classe BrowserPreferences está expandida com o método setWebRTCIPHandlingPolicy(WebRTCIPHandlingPolicy policy) que permite configurar a política de tratamento do IP WebRTC. A lista de políticas suportadas está disponível no enum WebRTCIPHandlingPolicy.

Sem problemas com a detecção de SO em JREs antigas

O algoritmo de validação do ambiente está melhorado. O JxBrowser detecta o nome e a versão do sistema operacional utilizando as propriedades padrão do sistema Java, tais como “os.name” e “os.version”. As JREs antigas, como a 1.6, não reconhecem os sistemas operacionais modernos e os detectam como “Windows NT (desconhecido)”, o que leva à exceção “com.teamdev.jxbrowser.chromium.internal.EnvironmentException: Sistema Operacional não suportado. Sistemas operativos suportados: Windows 7, 8, 10, Windows Server 2008 R2, 2012, 2016, macOS 10.9+ e Linux. Sistema operacional atual: Windows NT (desconhecido), versão: 6.2”. A solução alternativa consistia em definir manualmente “os.name” para uma string de caracteres que contenha o nome do sistema operacional suportado, como “Windows 7” ou “Windows Server 2016”. Esta solução alternativa não era conveniente para os clientes do JxBrowser.

Nesta atualização, tornamos a validação do ambiente menos forte. Agora, o JxBrowser verifica apenas o SO mínimo suportado e a versão do JRE. Ele permite utilizar a biblioteca com JREs antigos, como o 1.6, em sistemas operacionais modernos, como o Windows Server 2016, sem quaisquer soluções alternativas ou manipulações com as propriedades do sistema “os.name”.

Melhorias

As seguintes funcionalidades foram melhoradas na v6.13:

  • Suporte JAWS no modo de renderização heavyweight.
  • Utilização de memória nas plataformas Windows, macOS e Linux. Descobrimos e resolvemos várias perdas de memória relacionadas com o modo de renderização lightweight, a utilização de memória virtual, a implementação interna de IPC, o código JNI, etc.

Correções

Aqui está o que foi resolvido com esta atualização:

  • O problema do deadlock durante o arrastar e soltar nas plataformas macOS e Windows nas visões Swing e JavaFX. O problema foi causado por um erro lógico na implementação de arrastar e soltar no lado Java no modo de renderização lightweight.
  • Foi corrigido o problema de regressão quando os eventos do mouse e do teclado não são disparados no modo de renderização heavyweight. O problema surgiu após a atualização para o Chromium 55. Agora, esta funcionalidade funciona exatamente como nas versões anteriores do JxBrowser baseadas em compilações anteriores do Chromium.
  • O problema quando o evento onblur não é disparado quando o BrowserView perde o foco.
  • O problema quando a exceção “java.lang.IllegalArgumentException: The certificateStr cannot be null or empty” é lançada ao carregar páginas Web HTTPS.
  • O problema de regressão quando DownloadItem.setDestinationFile() é ignorado.
  • O problema em que os cliques do mouse são ignorados nos menus pendentes e não são reconhecidos por algumas bibliotecas JavaScript, tais como como Hammer.js no modo de renderização lightweight, foi resolvido. Tratava-se de um problema de regressão após a atualização para o Chromium 55. Agora, esta funcionalidade funciona como esperado.
  • Esta atualização resolve os problemas de renderização no macOS e no Windows no modo de renderização lightweight nas visões Swing e JavaFX. Os problemas de renderização costumavam ocorrer durante o redimensionamento da visualização do navegador, exibindo menus suspensos, depois de descartar e criar instâncias Browser, em plataformas Windows com monitores HiDPI. Existem várias causas para os problemas de renderização. Todos eles foram corrigidos nesta versão.

Nos envie uma mensagem para customer-care@teamdev.com para fazer o download do JxBrowser 6.13.