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()
Go top