List icon Conteúdo

Publicado em 13 de abril de 2017

JxBrowser 6.14

O JxBrowser 6.14 inclui várias novas funcionalidades há muito esperadas, tais como a injeção de CSS e a obtenção da instância do Browser que iniciou o request de URL no NetworkDelegate. Além de expandir a API do JxBrowser com novas funcionalidades, esta atualização aborda uma série de correções e melhorias.

Injetar uma folha de estilos personalizada (CSS)

Agora você pode injetar uma folha de estilos personalizada em todas as páginas Web carregadas no JxBrowser. Para injetar CSS utilize o método Browser.setCustomStyleSheet(String customStyleSheet). Uma vez definida uma string que representa CSS, todas as páginas web carregadas nesta instância Browser serão atualizadas com o CSS fornecido.

Injetar certificado SSL personalizado

O método DialogHandler.onSelectCertificate(CertificatesDialogParams params) permite selecionar o certificado SSL a partir da lista de certificados instalados. Agora, você pode dizer ao motor Chromium para utilizar o certificado SSL que não está instalado no seu ambiente.

Acessar o Browser em eventos NetworkDelegate

Muitos desenvolvedores solicitaram a possibilidade de associar a instância Browser com o request/response HTTP. Agora você pode fazer isso. Veja o método RequestParams.getBrowser().

Melhorias

As seguintes funcionalidades foram melhoradas na v6.14:

  • Adicionado validador de diretório de perfil do Chromium. Em geral, o motor Chromium não permite a execução de vários processos ou instâncias BrowserContext configuradas para o mesmo diretório de perfil. O compartilhamento do diretório de perfis entre diferentes processos nativos e instâncias BrowserContext pode levar a um comportamento inesperado, incluindo falhas no motor Chromium. Para proteger a aplicação Java de uma falha inesperada no motor Chromium, desde a versão 6.14 o JxBrowser verifica se o diretório de perfil Chromium já está sendo utilizado por outra instância BrowserContext ou por um processo nativo, e lança uma exceção se a instância Browser não puder ser configurada para utilizar o diretório de perfil fornecido.
  • Melhoria da validação dos binários do Chromium. O JxBrowser permite configurar o caminho para o diretório onde deve encontrar/extrair os binários do Chromium. Se o diretório já contivesse os binários do Chromium, a antiga implementação do validador verificava simplesmente a existência dos arquivos Chromium necessários. Agora, o JxBrowser valida que os binários do Chromium no diretório não só existem como também correspondem à versão atual do JxBrowser. Assim, a situação em que binários antigos do Chromium são utilizados com a nova biblioteca JxBrowser não acontecerá.

Correções

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

  • O problema quando a invocação do método JavaScript Event.dataTransfer.setDragImage() causa uma falha no motor Chromium no macOS.
  • O problema quando alguns cursores CSS, como o zoom in, o zoom out, etc., não são suportados no modo de renderização heavyweight.
  • Rolagem incorreta em aplicações SWT-JavaFX no macOS.
  • Localização incorrecta do cursor em aplicações JavaFX com o modo de renderização lightweight ativado.
  • O problema quando o menu suspenso não funciona no JavaFX TabPane com o modo de renderização lightweight ativado.
  • Escalonamento incorreto no ambiente de monitor multi HiDPI/Non-HiDPI no macOS e no Windows nos modos de renderização lightweight e heavyweight no JavaFX e Swing.
  • Estabilidade melhorada no ambiente multi-threaded.
  • Renderização suave de tipos de letra nos modos de renderização heavyweight e lightweight no Windows.
  • Localização errada do BrowserView no JavaFX SplitPane no modo de renderização heavyweight no Windows.
  • Perda de memória ao utilizar JSObject.setProperty().
  • Falha nativa ao chamar JSObject.removeProperty().
  • O botão “Avançar” no JxBrowser Demo está desativado quando deveria estar ativado.
  • Renderização quebrada em drop downs em JavaFX e Swing com o modo de renderização lightweight ativado.
  • O Java 9 não é reconhecido corretamente. Agora você pode iniciar o JxBrowser em Java 9 sem exceções inesperadas do validador de ambiente.
  • Funcionalidade de carregamento de arquivos quebrada.
  • A caixa de diálogo do seletor de arquivos não é apresentada em IFRAMEs.
  • Renderização lightweight do JavaFX quebrada com pouca RAM.
  • Renderização lightweight do JavaFX quebrada ao redimensionar o BrowserView.
  • O diálogo de impressão padrão permite imprimir apenas 100 páginas.
  • O WebStorage não funciona até ser inicializado a partir do JavaScript.
  • O método BrowserPreferences.setDefaultEncoding() deve ser marcado como obsoleto porque o Chromium 55 ignora as configurações de codificação.
  • O menu suspenso não é fechado quando se move a janela JavaFX no modo de renderização heavyweight.

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