De 7.7.1 para 7.8
No JxBrowser 7.8, o motor Chromium foi atualizado para a versão 79. Esta versão do Chromium tem várias alterações de ruptura no código fonte que afetam a API pública do JxBrowser. Neste guia de migração, descrevemos qual a API que foi removida na versão 7.8 e quais as alternativas que você deveria utilizar.
Downloads
Aceitar o download
v7.7.1
Para aceitar um pedido de download de um arquivo, é utilizada a seguinte chamada de retorno:
Downloads downloads = engine.downloads();
downloads.set(StartDownloadCallback.class, (params, tell) -> tell.cancel());
val downloads = engine.downloads()
downloads.set(StartDownloadCallback::class.java,
StartDownloadCallback { params, tell -> tell.cancel() }
)
v7.8
Na versão 7.8, esta funcionalidade foi transferida para o Navegador
, portanto, agora é possível aceitar um pedido de download de um arquivo para cada instância do Navegador
de forma independente. Por exemplo:
browser.set(StartDownloadCallback.class, (params, tell) -> tell.cancel());
browser.set(StartDownloadCallback::class.java,
StartDownloadCallback { params, tell -> tell.cancel() }
)
Rede
Acessando o navegador
v7.7.1
network.set(BeforeSendHeadersCallback.class, params -> {
params.browser().ifPresent(browser -> {});
...
});
network.set(BeforeUrlRequestCallback.class, params -> {
params.browser().ifPresent(browser -> {});
...
});
network.set(ReceiveHeadersCallback.class, params -> {
params.browser().ifPresent(browser -> {});
...
});
network.set(BeforeSendHeadersCallback::class.java,
BeforeSendHeadersCallback { params ->
params.browser().ifPresent{ browser -> {}}
}
)
network.set(BeforeUrlRequestCallback::class.java,
BeforeUrlRequestCallback { params ->
params.browser().ifPresent{ browser -> {}}
}
)
network.set(ReceiveHeadersCallback::class.java,
ReceiveHeadersCallback { params ->
params.browser().ifPresent{ browser -> {}}
}
)
v7.8
network.set(BeforeSendHeadersCallback.class, params -> {
params.urlRequest().browser().ifPresent(browser -> {});
...
});
network.set(BeforeUrlRequestCallback.class, params -> {
params.urlRequest().browser().ifPresent(browser -> {});
...
});
network.set(ReceiveHeadersCallback.class, params -> {
params.urlRequest().browser().ifPresent(browser -> {});
...
});
network.set(BeforeSendHeadersCallback::class.java,
BeforeSendHeadersCallback { params ->
params.urlRequest().browser().ifPresent{browser -> {}}
...
}
)
network.set(BeforeUrlRequestCallback::class.java,
BeforeUrlRequestCallback { params ->
params.urlRequest().browser().ifPresent{browser -> {}}
...
}
)
network.set(ReceiveHeadersCallback::class.java,
ReceiveHeadersCallback { params ->
params.urlRequest().browser().ifPresent{browser -> {}}
...
}
)
BytesSent
v7.7.1
network.on(BytesSent.class, event -> {
int bytesSentCount = event.count();
});
network.on(BytesSent.class) { event ->
val bytesSentCount = event.count()
});
v7.8
network.on(RequestCompleted.class, event -> {
long bytesSent = event.urlRequest().totalBytesSent();
});
network.on(RequestCompleted.class) { event ->
val bytesSent = event.urlRequest().totalBytesSent()
});
BytesReceived
v7.7.1
network.on(BytesReceived.class, event -> {
int bytesReceivedCount = event.count();
});
network.on(BytesReceived.class) { event ->
val bytesReceivedCount = event.count()
});
v7.8
network.on(RequestCompleted.class, event -> {
long bytesReceived = event.urlRequest().totalBytesReceived();
});
network.on(RequestCompleted.class) { event ->
val bytesReceived = event.urlRequest().totalBytesReceived()
});
Conteúdo
Obter Bitmap de uma página da Web
As classes obsoletas com.teamdev.jxbrowser.view.javafx.BitmapUtil
e com.teamdev.jxbrowser.view.swing.BitmapUtil
foram removidas.
Utilize as classes com.teamdev.jxbrowser.view.swing.graphics.BitmapImage
e com.teamdev.jxbrowser.view.javafx.graphics.BitmapImage
em vez disso.
API removida
As seguintes classes e métodos foram removidos porque a funcionalidade correspondente no Chromium 79 já não existe mais:
com.teamdev.jxbrowser.net.event.TransactionStarted
com.teamdev.jxbrowser.net.callback.CanAccessFileCallback.url()
com.teamdev.jxbrowser.browser.callback.CertificateErrorCallback.resourceType()