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ânciasBrowserContext
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ânciaBrowserContext
ou por um processo nativo, e lança uma exceção se a instânciaBrowser
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.
Siga @JxBrowserTeam para obter todas as atualizações da biblioteca.
Se inscreva na nossa RSS feed para obter atualizações instantâneas sobre os novos lançamentos.