Webkit
Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
11 de dezembro de 2024 | 1.9.0 | - | - | 1.13.0-alpha02 |
Declarar dependências
Para adicionar uma dependência a Webkit, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle
do
seu app ou módulo:
Groovy
dependencies { implementation "androidx.webkit:webkit:1.9.0" }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.9.0") }
Para mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.13
Versão 1.13.0-alpha02
11 de dezembro de 2024
Lançamento de androidx.webkit:webkit:1.13.0-alpha02
. A versão 1.13.0-alpha02 contém estas confirmações.
Novos recursos
- Adição da API de inclusão de tags de soquete ao
WebView
para contabilizar o tráfego de rede doWebView
usandoNetworkStatsManager
/TrafficStats
. Esse recurso só vai estar disponível a partir doWebView
M133. (Ica441, b/374932688).
Mudanças na API
- Atualize a API Prefetch renomeando
PrefetchParameter
paraSpeculativeLoadingParamaters
, introduzindo o novoPrefetchNetworkException
, substituindoPrefetchOperationCallback
porOutcomeReceiverCompat
e atualizando o javadoc. (If5072). - Receber informações de diagnóstico da API de inicialização assíncrona da WebView.
- Fornecer uma opção para que os apps só acionem a inicialização que não bloqueia a linha de execução da interface. (I9bf2b).
Correções de bugs
- Essa biblioteca agora usa anotações de nulidade JSpecify, que são de uso de tipo. Os desenvolvedores Kotlin precisam usar os seguintes argumentos do compilador para aplicar o uso correto:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(I0e4c5, b/326456246).
Versão 1.13.0-alpha01
13 de novembro de 2024
Lançamento de androidx.webkit:webkit:1.13.0-alpha01
. A versão 1.13.0-alpha01 contém estas confirmações.
Novos recursos
- Adição da API experimental
WebView
para inicialização assíncrona. (I94b8a). - Pré-busca de URL no Perfil: uma nova API foi lançada no Perfil para permitir que os desenvolvedores acionem a pré-busca de URL. Limpeza de pré-busca: adicionamos uma API para limpar pré-buscas em andamento. (I42c5c).
Mudanças na API
- O uso de
WebView.startSafeBrowsing
foi descontinuado. (If5626).
Versão 1.12
Versão 1.12.1
2 de outubro de 2024
Lançamento de androidx.webkit:webkit:1.12.1
. A versão 1.12.1 contém estas confirmações.
Correções de bugs
- Solução do problema que impedia as APIs 1.12.0 de ficarem disponíveis na versão.
Versão 1.12.0
18 de setembro de 2024
Lançamento de androidx.webkit:webkit:1.12.0
. A versão 1.12.0 contém estas confirmações.
Mudanças importantes desde a versão 1.11.0
- Adição de uma nova API a
WebSettingsCompat
para ativar/desativar o BackForwardCache para esseWebSettings
. Essa API é experimental e pode mudar no futuro. (aosp/3111705). - Adição de uma nova API ao
WebSettingsCompat
para controlar o comportamento de carregamento especulativo para esteWebSettings
. Por enquanto, apenas o Prerender está disponível. Essa API é experimental e pode mudar no futuro. (I13962). - Adição de uma nova API para ativar a Autenticação da Web em
WebView
. Os desenvolvedores podem ativar/desativar chamadasWebAuthn
em umWebView
para os apps usandoWebSettingsCompat#setWebAuthenticationSupport
. (I8187f).
Versão 1.12.0-rc01
4 de setembro de 2024
Lançamento de androidx.webkit:webkit:1.12.0-rc01
. Esta versão não contém mudanças em relação à 1.12.0-beta01
.
Versão 1.12.0-beta01
21 de agosto de 2024
Lançamento de androidx.webkit:webkit:1.12.0-beta01
. A versão 1.12.0-beta01 contém estas confirmações.
Correções de bugs
- O contorno manual de acesso a novas APIs da plataforma foi removido, já que isso acontece automaticamente pelo modelagem de API ao usar o R8 com o AGP 7.3 ou mais recente (por exemplo, o R8 versão 3.3) e para todos os builds ao usar o AGP 8.1 ou mais recente (por exemplo, o D8 versão 8.1). Os clientes que não estão usando o AGP precisam fazer upgrade para a versão 8.1 ou mais recente do D8. Veja mais detalhes neste artigo. (Ia60e0, b/345472586).
Versão 1.12.0-alpha02
12 de junho de 2024
Lançamento de androidx.webkit:webkit:1.12.0-alpha02
. A versão 1.12.0-alpha02 contém estas confirmações.
Novos recursos
- Adição de uma nova API a
WebSettingsCompat
para ativar/desativarBackForwardCache
. Essa API é experimental e pode mudar no futuro. (I64a38). - Uma nova API foi adicionada a
WebSettingsCompat
para controlar o comportamento de carregamento especulativo para essas WebSettings. Por enquanto, apenas o Prerender está disponível. Essa API é experimental e pode mudar no futuro. (I13962).
Mudanças na API
- Alguns métodos agora são documentados com
@UiThread
quando apropriado. (I6c7e0), (I44541). - Os métodos seguros para linha de execução agora são documentados com
@AnyThread
. (I70189). - Aumento de
minSdkVersion
de 19 para 21. (Id7a43).
Versão 1.12.0-alpha01
17 de abril de 2024
Lançamento de androidx.webkit:webkit:1.12.0-alpha01
. A versão 1.12.0-alpha01 contém estas confirmações.
Mudanças na API
- Adição de uma nova API para ativar a autenticação da Web em
WebView. Developers
. Ela pode ativar/desativar chamadasWebAuthn
em umWebView
para os apps usandoWebSettingsCompat#setWebAuthenticationSupport
. (I8187f).
Versão 1.11
Versão 1.11.0
1º de maio de 2024
Lançamento de androidx.webkit:webkit:1.11.0
. A versão 1.11.0 contém estas confirmações.
Mudanças importantes desde a versão 1.10.0
- Permitir que os apps controlem a reprodução de áudio em
WebView
usando as novas APIssetAudioMuted
eisAudioMuted
, que são análogas ao silenciamento de uma guia no Chrome. - Foi introduzido o
URLUtilCompat
, que oferece suporte à análise de cabeçalhosContent-Disposition
que usam o atributo de valor codificadofilename*
, conforme definido na RFC 6266. A API de compatibilidade também expõe diretamente um método para analisar o cabeçalhoContent-Disposition
, em que um nome de arquivo sugerido com base no URL e no tipo MIME não é desejado.
Versão 1.11.0-rc01
3 de abril de 2024
Lançamento de androidx.webkit:webkit:1.11.0-rc01
. Esta versão não contém mudanças em relação à 1.11.0-beta01
.
Versão 1.11.0-beta01
20 de março de 2024
androidx.webkit:webkit:1.11.0-beta01
é lançado sem mudanças significativas. A versão 1.11.0-beta01 contém estas confirmações.
Versão 1.11.0-alpha02
21 de fevereiro de 2024
Lançamento de androidx.webkit:webkit:1.11.0-alpha02
. A versão 1.11.0-alpha02 contém estas confirmações.
Novos recursos
- Os métodos
setAudioMuted
eisAudioMuted
foram adicionados para silenciar (e reativar)WebViews
. Esse método permite impedir que umWebView
reproduza áudio. (Ie7a33).
Mudanças na API
URLUtilCompat
foi definido como final, porque não pode ter uma subclasse. (I49ec1).
Versão 1.11.0-alpha01
7 de fevereiro de 2024
Lançamento de androidx.webkit:webkit:1.11.0-alpha01
. A versão 1.11.0-alpha01 contém estas confirmações.
Novos recursos
- Adição de compatibilidade com
URLUtil.guessFileName
. A versão de compatibilidade emURLUtilCompat
oferece suporte à análise de cabeçalhosContent-Disposition
que usam o atributo de valor codificadofilename*
, conforme definido na RFC 6266. A API de compatibilidade também expõe diretamente um método para analisar o cabeçalhoContent-Disposition
, em que um nome de arquivo sugerido com base no URL e no tipo MIME não é desejado. (If6ae7, b/309927164).
Versão 1.10
Versão 1.10.0
24 de janeiro de 2024
Lançamento de androidx.webkit:webkit:1.10.0
. A versão 1.10.0 contém estas confirmações.
Mudanças importantes desde a versão 1.9.0
- Uma nova API foi adicionada ao WebSettingsCompat para controlar o comportamento experimental da API Android WebView Media Integrity desativando a API completamente ou restringindo o compartilhamento da identidade do aplicativo na resposta da API. Isso pode ser alternado para todas as origens e por origem.
Versão 1.10.0-rc01
10 de janeiro de 2024
Lançamento de androidx.webkit:webkit:1.10.0-rc01
. Esta versão não contém mudanças em relação à 1.10.0-beta01
.
Versão 1.10.0-beta01
13 de dezembro de 2023
Lançamento de androidx.webkit:webkit:1.10.0-beta01
. A versão 1.10.0-beta01 contém estas confirmações.
- Nenhuma mudança funcional em relação à
1.10.0-alpha01
.
Versão 1.10.0-alpha01
29 de novembro de 2023
Lançamento de androidx.webkit:webkit:1.10.0-alpha01
. A versão 1.10.0-alpha01 contém estas confirmações.
Novos recursos
- Uma nova API foi adicionada a
WebSettingsCompat
para controlar o comportamento experimental da API Media Integrity do Android WebView desativando a API por completo ou restringindo o compartilhamento da identidade do aplicativo na resposta da API. Isso pode ser alternado para todas as origens e por origem.
Versão 1.9
Versão 1.9.0
29 de novembro de 2023
Lançamento de androidx.webkit:webkit:1.9.0
. A versão 1.9.0 contém estas confirmações.
Mudanças importantes desde a versão 1.8.0
- Adição de uma nova API de vários perfis para WebViews.
- A interface Profile tem diferentes APIs para usar e receber dados associados a esse perfil, como o nome, GeoLocationPermissions, ServiceWorkerController, CookieManager e WebStorage. Esses objetos são específicos do perfil, e as informações não são compartilhadas entre perfis diferentes no aplicativo.
- O perfil usado por uma instância
WebView
pode ser alterado usando o método WebViewCompat#setProfile e recuperado usando WebViewCompat#getProfile - A ProfileStore, recém-introduzida, permite gerenciar os perfis disponíveis no seu aplicativo, incluindo o padrão.
- As APIs da WebView atuais, como CookieManager#getInstance, vão continuar funcionando no perfil padrão.
- Foi adicionada uma API para injetar e executar o JavaScript antes do carregamento da página.
- A API WebViewCompat#addDocumentStartJavascript permite que os apps injetem scripts em um
WebView
, que serão executados antes de qualquer script de página. A API permite que o app especifique uma lista de origens de destino para ativar o script, garantindo que ele seja executado apenas nas páginas desejadas. Ao contrário da WebView#evaluateJavascript, essa API permite a execução de scripts em iframes incorporados quando eles são carregados. Os apps podem usar essa nova API em combinação com WebViewCompat#addWebMessageListener para configurar a comunicação bidirecional com o JavaScript na página de maneira confiável.
- A API WebViewCompat#addDocumentStartJavascript permite que os apps injetem scripts em um
- Foram adicionadas APIs para modificar como os eventos da Attribution Reporting do Sandbox de privacidade são registrados.
- Apresentamos uma nova API WebSettingsCompat#setAttributionRegistrationBehavior, que permite aos desenvolvedores configurar se as fontes e os acionadores de atribuição são registrados como provenientes do próprio app ou do conteúdo da Web na WebView. Esse método também pode ser usado para desativar o Attribution Reporting na WebView. Além disso, adicionamos uma nova API
WebSettingsCompat#getAttributionRegistrationBehavior
para receber o comportamento atual. - Para mais informações, consulte a documentação do Sandbox de privacidade.
- Apresentamos uma nova API WebSettingsCompat#setAttributionRegistrationBehavior, que permite aos desenvolvedores configurar se as fontes e os acionadores de atribuição são registrados como provenientes do próprio app ou do conteúdo da Web na WebView. Esse método também pode ser usado para desativar o Attribution Reporting na WebView. Além disso, adicionamos uma nova API
- APIs adicionadas para substituir os metadados do user-agent para dicas de cliente.
- Introduzimos uma nova API, WebSettingsCompat#setUserAgentMetadata, para substituir os metadados do user agent da WebView usados para preencher as dicas do cliente do user agent. Também adicionamos outra nova API, WebSettingsCompat#getUserAgentMetadata, para receber as substituições atuais do user agent. Recomendamos que os apps usem a nova API para definir os valores de substituição corretos sempre que o app mudar a string de agente do usuário padrão usando WebSettings.setUserAgentString para garantir que os valores corretos sejam usados em todas as situações.
Versão 1.9.0-rc01
15 de novembro de 2023
Lançamento de androidx.webkit:webkit:1.9.0-rc01
. Esta versão não contém mudanças em relação à 1.9.0-beta01
.
Versão 1.9.0-beta01
1º de novembro de 2023
Lançamento de androidx.webkit:webkit:1.9.0-beta01
. A versão 1.9.0-beta01 contém estas confirmações.
Mudanças na API
- Resolução do problema de nulidade da API de metadados do user-agent. Atualizamos a classe
BrandVersion
para usar o padrão de builder e tornamos a nulidade dos getters e setters da classeUserAgentMetadata
consistente. (Ibf195). - Como anotar
ProfileStore
,WebViewCompat#setProfile
eWebViewCompat.getProfile
com@UiThread
. (I499b2).
Versão 1.9.0-alpha01
18 de outubro de 2023
Lançamento de androidx.webkit:webkit:1.9.0-alpha01
. A versão 1.9.0-alpha01 contém estas confirmações.
Novos recursos
- Adicionamos a API de vários perfis, que permite ter sessões de navegação separadas entre
WebViews
. Cada perfil tem os próprios dados (por exemplo, cookies). É possível criar perfis, atribuí-los a instânciasWebView
e recuperá-los mais tarde para qualquer acesso a dados. Há uma classe SingletonProfileStore
para ajudar a gerenciar perfis por criação ou exclusão com APIs:getOrCreateProfile
,getProfile
,getAllProfileNames
edeleteProfile
. A classeProfile
terá APIs diferentes para usar e receber dados associados a esse perfil, como o nome,GeoLocationPermissions
,ServiceWorkerController
,CookieManager
eWebStorage
. Por padrão, cadaWebView
será executado com o perfil padrão. No entanto, você pode mudar isso usandoWebViewCompat#setProfile
. Além disso, o perfil de umWebView
pode ser recuperado usandoWebViewCompat#getProfile
. (I32d22). - Adicione APIs para modificar como os eventos da Attribution Reporting são registrados. Lançamos uma nova API
WebSettingsCompat#setAttributionRegistrationBehavior
, que permite aos desenvolvedores configurar se as origens e os acionadores são registrados como provenientes do próprio app ou do conteúdo da Web noWebView
. Esse método também pode ser usado para desativar o Relatório de atribuição noWebView
. Além disso, adicionamos uma nova APIWebSettingsCompat#getAttributionRegistrationBehavior
para receber o comportamento atual. Para mais informações, consulte a documentação do Sandbox de privacidade. (I661f2). - Adicione APIs para substituir os metadados do user agent. Lançamos uma nova API
WebSettingsCompat#setUserAgentMetadata
para substituir os metadados do user-agent da WebView, que é usada para preencher as dicas do cliente do user-agent. Também adicionamos outra nova APIWebSettingsCompat#getUserAgentMetadata
para conseguir substituições atuais do user-agent. Recomendamos que os apps usem a nova API para definir os valores de substituição corretos em vez de depender da alteração do user-agent. (I74500). - Adicione uma API para injetar o JavaScript a ser executado durante o carregamento da página. A API
WebViewCompat.addDocumentStartJavascript
permite que os apps injetem scripts em uma WebView, que será executada antes de qualquer script de página ser executado. A API permite que o app especifique uma lista de origens de destino para ativar o script, garantindo que ele seja executado apenas nas páginas desejadas. Ao contrário daWebView.evaluateJavascript
, essa API permite a execução de scripts em iframes incorporados quando eles são carregados. (Ide063).
Versão 1.8
Versão 1.8.0
6 de setembro de 2023
Lançamento de androidx.webkit:webkit:1.8.0
. A versão 1.8.0 contém estas confirmações.
Mudanças importantes desde a versão 1.7.0
- Foi adicionado suporte para transmitir
ArrayBuffer
porWebMessagePortCompat#postMessage
,JavaScriptReplyProxy#postMessage
eWebViewCompat#postWebMessage
, receberArrayBuffer
do JavaScript porWebMessagePortCompat
eWebMessageListener
e receberArrayBuffer
transferível do JavaScript porWebMessagePortCompat
. (aosp/2596550, b/251152171).
Versão 1.8.0-rc01
9 de agosto de 2023
androidx.webkit:webkit:1.8.0-rc01
é lançado sem mudanças desde 1.8.0-beta01
. A versão 1.8.0-rc01 contém estas confirmações.
Versão 1.8.0-beta01
26 de julho de 2023
androidx.webkit:webkit:1.8.0-beta01
é lançado sem mudanças desde 1.8.0-alpha01
. A versão 1.8.0-beta01 contém estas confirmações.
Versão 1.8.0-alpha01
7 de junho de 2023
Lançamento de androidx.webkit:webkit:1.8.0-alpha01
. A versão 1.8.0-alpha01 contém estas confirmações.
Mudanças na API
- Consulte a seção "Contribuição externa".
Contribuição externa
- Foi adicionado suporte para a transmissão de
ArrayBuffer
porWebMessagePortCompat#postMessage
,JsReplyProxy#postMessage
eWebViewCompat#postWebMessage
, recebimento deArrayBuffer
do JavaScript porWebMessagePortCompat
eWebMessageListener
e recebimento deArrayBuffer
transferível do JavaScript porWebMessagePortCompat
. Essa API só vai estar disponível na versão 116 doWebView
. (Ie7567, b/251152171).
Versão 1.7
Versão 1.7.0
24 de maio de 2023
Lançamento de androidx.webkit:webkit:1.7.0
. A versão 1.7.0 contém estas confirmações.
Mudanças importantes desde a versão 1.6.0
- Adicionamos suporte para arrastar imagens em
WebView
. Para permitir que os usuários arrastem imagens para fora doWebView
, adicione o novoDropDataContentProvider
ao manifesto do app, conforme descrito na documentação da classe. - Adicionamos a API
ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File)
, que pode ser usada para definir os diretórios básicos que oWebView
vai usar para o processo atual. Como todos os métodos emProcessGlobalConfig
, esse método precisa ser chamado antes da primeira instância deWebView
ser instanciada. Esse método foi adicionado para fornecer ao framework do Android a capacidade de ajustar as configurações deWebView
. Para aplicativos de uso geral, não é recomendável usar esse método.
Versão 1.7.0-rc01
10 de maio de 2023
androidx.webkit:webkit:1.7.0-rc01
é lançado sem mudanças desde 1.7.0-beta01
. A versão 1.7.0-rc01 contém estas confirmações.
Versão 1.7.0-beta01
5 de abril de 2023
Lançamento de androidx.webkit:webkit:1.7.0-beta01
. A versão 1.7.0-beta01 contém estas confirmações.
Mudanças na API
- Mudança menor na flag de recurso e no nome do método, além de fazer com que
setDirectoryBasePaths()
aceite o arquivo em vez de String (Ib0d0a).
Versão 1.7.0-alpha03
8 de março de 2023
Lançamento de androidx.webkit:webkit:1.7.0-alpha03
. A versão 1.7.0-alpha03 contém estas confirmações.
Mudanças na API
- Adição da API
ProcessGlobalConfig#setDirectoryBasePath(String, String)
, que pode ser usada para definir os diretórios básicos que oWebView
vai usar para o processo atual. (Ibd1a1, b/250553687).
Correções de bugs
- Correção da regra
ProGuard
inválida que causava erros de build ao usarDexGuard
(Ia65c2, b/270034835).
Versão 1.7.0-alpha02
8 de fevereiro de 2023
Lançamento de androidx.webkit:webkit:1.7.0-alpha02
. A versão 1.7.0-alpha02 contém estas confirmações.
Correções de bugs
- Bugs de documentação para
DropDataContentProvider
.
Versão 1.7.0-alpha01
25 de janeiro de 2023
Lançamento de androidx.webkit:webkit:1.7.0-alpha01
. A versão 1.7.0-alpha01 contém estas confirmações.
Novos recursos
- Adicionamos suporte ao arrastar imagens em
WebView
. Para permitir que os usuários arrastem imagens para fora doWebView
, adicione o novoDropDataContentProvider
ao manifesto do app. (05a1a6).
Versão 1.6
Versão 1.6.1
22 de março de 2023
Lançamento de androidx.webkit:webkit:1.6.1
. A versão 1.6.1 contém estas confirmações.
Correções de bugs
- Correção de um erro de análise do ProGuard (Ia65c2).
Versão 1.6.0
25 de janeiro de 2023
Lançamento de androidx.webkit:webkit:1.6.0
. A versão 1.6.0 contém estas confirmações.
Mudanças importantes desde a versão 1.5.0
- Uma nova API ProcessGlobalConfig foi adicionada para permitir que os apps forneçam configurações que precisam ser definidas antes de carregar a WebView, como o sufixo do diretório de dados da WebView. A configuração precisa ser definida e aplicada o mais cedo possível durante a inicialização do aplicativo para garantir que ela aconteça antes que qualquer outra linha de execução possa chamar um método que carregue
WebView
no processo. - Uma nova API CookieManagerCompat foi adicionada para expandir android.webkit.CookieManager com um novo método
getCookieInfo
, que recupera todos os atributos de todos os cookies definidos em um URL específico. Isso é diferente da API getCookie emCookieManager
, que retorna apenas os atributos de nome e valor dos cookies. - O
WebSettingsCompat
tem novos métodos para ativar/desativar o efeito deEnterpriseAuthenticationAppLinkPolicy
, se definido pelo administrador emWebView
, e para pegar a configuração atual. Esse recurso permite que a WebView abra um app de autenticação em vez do URL de autenticação. Esse recurso não afeta dispositivos que não são gerenciados por uma política corporativa. - Adição de uma nova API a
WebSettingsCompat
para permitir que os aplicativos enviem explicitamente o nome do pacote do app no cabeçalhoX-Requested-With
para origens na lista de permissões. O cabeçalho sempre foi enviado em cada solicitação deWebView
.
Versão 1.6.0-rc01
11 de janeiro de 2023
Lançamento de androidx.webkit:webkit:1.6.0-rc01
. A versão 1.6.0-rc01 contém estas confirmações.
Correções de bugs
- Correção de
NullPointerException
emWebViewFeature.isStartupFeatureSupported(Context, String)
ao executar no SDK < L. (Ic7292).
Versão 1.6.0-beta01
7 de dezembro de 2022
Lançamento de androidx.webkit:webkit:1.6.0-beta01
. A versão 1.6.0-beta01 contém estas confirmações.
Mudanças na API
ProcessGlobalConfig
foi alterado para usar um construtor normal e um método de aplicação estático. O método de aplicação só pode ser chamado uma vez por processo, o mais cedo possível, e vai gerarIllegalStateException
se for chamado mais de uma vez. Os objetosProcessGlobalConfig
não têm mais restrições sobre quantas vezes os setters podem ser chamados. (I456c3).
Versão 1.6.0-alpha03
9 de novembro de 2022
Lançamento de androidx.webkit:webkit:1.6.0-alpha03
. A versão 1.6.0-alpha03 contém estas confirmações.
Novos recursos
- Adição da classe
ProcessGlobalConfig
, que permite que os usuários definam a configuração global do processo antes de carregarWebView
.WebView
tem alguns parâmetros de configuração globais do processo que não podem ser alterados depois queWebView
é carregado (por exemplo, o diretório de dadosWebView
). Essa classe permite que os apps definam esses parâmetros. A configuração precisa ser definida e aplicada o mais cedo possível durante a inicialização do aplicativo para garantir que ela aconteça antes que qualquer outra linha de execução possa chamar um método que carregueWebView
no processo. (I7c0e0, b/250553687). - Adição de uma nova API para permitir que os aplicativos enviem explicitamente o nome do pacote do app no cabeçalho X-Requested-With para origens na lista de permissões. O cabeçalho sempre foi enviado em cada solicitação de
WebView
. (I0adfe, b/226552535).
Mudanças na API
- A API
WebSettingsCompat#setAlgorithmicDarkeningAllowed
tem suporte em todas as versões do Android naWebView
versão 105 e mais recentes. As versões anteriores daWebView
só ofereciam suporte à API no Android Q e em versões mais recentes. Como resultado, essa API não é mais marcada como@RequiresApi(Build.VERSION_CODES.Q)
. (I3ac1d).
Versão 1.6.0-alpha02
24 de outubro de 2022
Lançamento de androidx.webkit:webkit:1.6.0-alpha02
. A versão 1.6.0-alpha02 contém estas confirmações.
Novos recursos
- Adiciona uma nova classe
CookieManagerCompat
com uma APIgetCookieInfo
que recupera todos os atributos de todos os cookies definidos em um URL específico. Isso é diferente da APIgetCookie
emCookieManager
, que retorna apenas os atributos de nome e valor dos cookies. (I07365, b/242161756).
Versão 1.6.0-alpha01
24 de agosto de 2022
Lançamento de androidx.webkit:webkit:1.6.0-alpha01
. A versão 1.6.0-alpha01 contém estas confirmações.
Novos recursos
- Foram adicionadas APIs em
WebSettingsCompat
para ativar/desativar o efeito deEnterpriseAuthenticationAppLinkPolicy
se definido pelo administrador emWebView
. Esse recurso permite que oWebView
abra um app de autenticação em vez do URL de autenticação. Esse recurso não afeta dispositivos que não são gerenciados por uma política corporativa.
Versão 1.5.0
Versão 1.5.0
24 de agosto de 2022
Lançamento de androidx.webkit:webkit:1.5.0
. A versão 1.5.0 contém estas confirmações.
Mudanças importantes desde a versão 1.4.0
- Uma nova API
setAlgorithmicDarkeningAllowed
emWebSettingsCompat
substitui as APIssetForceDark
esetForceDarkStrategy
antigas. Os apps destinados ao SDK 33 e mais recentes (T) precisam usar a nova API, já que a antiga não vai mais ter efeito para esses apps. - Agora, uma lista de permissões de URLs para usar o proxy configurado pode ser definida em
ProxyCofig.Builder
definindosetReverseBypassEnabled
comotrue
. Quando isso estiver em vigor, todos os outros URLs vão ignorar o proxy configurado.
Versão 1.5.0-rc01
10 de agosto de 2022
androidx.webkit:webkit:1.5.0-rc01
é lançado sem mudanças desde 1.5.0-beta01
. A versão 1.5.0-rc01 contém estas confirmações.
Versão 1.5.0-beta01
29 de junho de 2022
Lançamento de androidx.webkit:webkit:1.5.0-beta01
. A versão 1.5.0-beta01 contém estas confirmações.
Mudanças na API
- As APIs relacionadas ao escurecimento algorítmico agora são marcadas para exigir o nível Q da API. A API não vai ter efeito nos níveis de API anteriores ao Q, já que o tema escuro não é uma opção nesses dispositivos. (I0905e).
Versão 1.5.0-alpha01
18 de maio de 2022
Lançamento de androidx.webkit:webkit:1.5.0-alpha01
. A versão 1.5.0-alpha01 contém estas confirmações.
Novos recursos
- Adicione um novo método
getVariationsHeader()
emWebViewCompat
para receber o valor do cabeçalho X-Client-Data enviado peloWebView
. O valor retornado será um protobuf ClientVariations codificado em base64. - APIs foram adicionadas em
WebSettingsCompat
para permitir/proibir o escurecimento algorítmico de apps com targetSdk >= 33. (I29597).
Mudanças na API
- Um novo método foi adicionado em
ProxyCofig.Builder
para definir o bypass reverso. Definir o bypass reverso como verdadeiro significa que apenas os URLs na lista de bypass vão usar as configurações de proxy. (I9eaa2, b/168728599).
Correções de bugs
- Correção de um erro de digitação na documentação do tema escuro. (I36ebf, b/194343633).
- Correção de um bug em que os métodos
WebViewAssetLoader.Builder
dependiam da ordem involuntariamente (If420d, b/182196765).
Versão 1.4.0
Versão 1.4.0
16 de dezembro de 2020
Lançamento de androidx.webkit:webkit:1.4.0
. A versão 1.4.0 contém estas confirmações.
Principais mudanças desde a versão 1.3.0
- Adição de uma nova API
setSafeBrowsingAllowlist()
para substituirsetSafeBrowsingWhitelist()
. Isso ajuda os apps a atualizar o código para evitar terminologia não inclusiva, sem deixar de oferecer compatibilidade com o mesmo intervalo de SDKs do Android e versões do WebView da API suspensa. - Correção de um bug no setProxyOverride que fazia com que as regras de substituição não fossem aplicadas corretamente.
Versão 1.4.0-rc02
2 de dezembro de 2020
Lançamento de androidx.webkit:webkit:1.4.0-rc02
. A versão 1.4.0-rc02 contém estas confirmações.
Correções de bugs
- Corrige a aplicação incorreta de regras de substituição durante o uso de setProxyOverride.
Versão 1.4.0-rc01
11 de novembro de 2020
androidx.webkit:webkit:1.4.0-rc01
é lançado sem mudanças desde 1.4.0-beta01
. A versão 1.4.0-rc01 contém estas confirmações.
Versão 1.4.0-beta01
14 de outubro de 2020
androidx.webkit:webkit:1.4.0-beta01
é lançado sem mudanças desde 1.4.0-alpha01
. A versão 1.4.0-beta01 contém estas confirmações.
Versão 1.4.0-alpha01
16 de setembro de 2020
androidx.webkit:webkit:1.4.0-alpha01
é lançado. A versão 1.4.0-alpha01 contém estas confirmações.
Mudanças na API
- Adição de uma nova API
WebViewCompat#setSafeBrowsingAllowlist()
para substituirsetSafeBrowsingWhitelist()
. Isso ajuda os apps a atualizar o código deles para evitar terminologia não inclusiva, sem deixar de oferecer compatibilidade com o mesmo intervalo de SDKs do Android e versões do WebView da API obsoleta (I8d65d).
Versão 1.3.0
Versão 1.3.0
19 de agosto de 2020
androidx.webkit:webkit:1.3.0
é lançado. A versão 1.3.0 contém estas confirmações.
Principais mudanças desde a versão 1.2.0
- A API ForceDarkStrategy oferece mais controle para o escurecimento do WebView (escurecimento de conteúdo da Web/CSS em comparação com o escurecimento automático).
- A WebMessageListener e as APIs relacionadas fornecem um mecanismo simples e seguro para estabelecer comunicação entre conteúdos da Web e o aplicativo incorporado do WebView.
- API
isMultiProcessEnabled
para verificar se o WebView está sendo executado em vários processos. Isso é possível a partir do Android O e significa que o conteúdo da Web é renderizado em um processo de renderizador em sandbox separado para o processo do aplicativo. Esse renderizador em sandbox pode ser compartilhado com outros WebViews no mesmo aplicativo, mas não é compartilhado com outros processos do aplicativo.
Versão 1.3.0-rc02
5 de agosto de 2020
androidx.webkit:webkit:1.3.0-rc02
é lançado. A versão 1.3.0-rc02 contém estas confirmações.
Correções de bugs
- Isso corrige um problema de compatibilidade em que o
WebMessageListener
às vezes falhava durante o desenvolvimento local se o app fosse iniciado com a execução instantânea do Android Studio.
Versão 1.3.0-rc01
24 de junho de 2020
androidx.webkit:webkit:1.3.0-rc01
é lançado sem mudanças desde 1.3.0-beta01
. A versão 1.3.0-rc01 contém estas confirmações.
Versão 1.3.0-beta01
10 de junho de 2020
androidx.webkit:webkit:1.3.0-beta01
é lançado. A versão 1.3.0-beta01 contém estas confirmações.
Novos recursos
- API
ForceDarkStrategy
para controlar o escurecimento de WebView (escurecimento do CSS/conteúdo da Web em comparação ao escurecimento automático). - As APIs
WebMessageListener
oferecem um mecanismo simples e seguro para estabelecer a comunicação entre o conteúdo da Web e o app de incorporação do WebView. - API
MultiProcessEnabled
para verificar se o WebView está sendo executado no modo de vários processos.
Versão 1.3.0-alpha03
27 de maio de 2020
androidx.webkit:webkit:1.3.0-alpha03
é lançado. A versão 1.3.0-alpha03 contém essas confirmações.
Mudanças na API
- O método
addWebMessageListener
agora recebe umaSet<String>
de regras de origem permitidas (antes era umaList<String>
).
Versão 1.3.0-alpha02
29 de abril de 2020
androidx.webkit:webkit:1.3.0-alpha02
é lançado. A versão 1.3.0-alpha02 contém estas confirmações.
Novos recursos
- API MultiProcessEnabled para verificar se o WebView está sendo executado no modo de vários processos.
Mudanças na API
- Todas as constantes de estratégia escuras agora têm o prefixo
DARK_STRATEGY
.
Versão 1.3.0-alpha01
15 de abril de 2020
androidx.webkit:webkit:1.3.0-alpha01
é lançado. A versão 1.3.0-alpha01 contém estas confirmações.
Novos recursos
- API
ForceDarkStrategy
para controlar o escurecimento deWebView
(escurecimento do conteúdo CSS/da Web em comparação ao escurecimento automático). - As APIs
WebMessageListener
oferecem um mecanismo simples e seguro para estabelecer a comunicação entre o conteúdo da Web e o app de incorporação do WebView.
Versão 1.2.0
Versão 1.2.0
4 de março de 2020
androidx.webkit:webkit:1.2.0
é lançado. A versão 1.2.0 contém estas confirmações.
Principais mudanças desde a versão 1.1.0
- A API ForceDark foi adicionada para controlar se os WebViews serão renderizados no modo escuro.
Versão 1.2.0-rc01
19 de fevereiro de 2020
androidx.webkit:webkit:1.2.0-rc01
é lançado sem mudanças desde 1.2.0-beta01
. A versão 1.2.0-rc01 contém estas confirmações.
Versão 1.2.0-beta01
5 de fevereiro de 2020
androidx.webkit:webkit:1.2.0-beta01
é lançado sem mudanças desde 1.2.0-alpha01
. Versão 1.2.0-beta01 contém essas confirmações (link em inglês).
Versão 1.2.0-alpha01
18 de dezembro de 2019
androidx.webkit:webkit:1.2.0-alpha01
é lançado. A versão 1.2.0-alpha01 contém essas confirmações (link em inglês).
Novos recursos
- API ForceDark para controlar a renderização dos WebViews no modo escuro.
Versão 1.1.0
Versão 1.1.0
7 de novembro de 2019
androidx.webkit:webkit:1.1.0
é lançado. A versão 1.1.0 contém estas confirmações.
Mudanças importantes desde a versão 1.0.0
- APIs Getter para complementar setWebViewClient() e setWebChromeClient().
- API ProxyController para definir um proxy de solicitação de rede para WebViews de um app.
- API WebViewAssetLoader para simplificar o carregamento de recursos APK, recursos e arquivos do diretório de dados do app por meio de interceptação de solicitação. Isso permite o acesso a recursos locais e da Web sem desativar o CORS.
- API TracingController para coletar informações de rastreamento do WebView para fins de depuração.
- API RenderProcess para gerenciar serviços do renderizador do WebView e detectar quando um conteúdo com comportamento inadequado faz com que os renderizadores do WebView deixem de responder.
- Atualização das APIs existentes para incluir anotações de valores nulos (
@NonNull
,@Nullable
) e de linha de execução (@UiThread
,@WorkerThread
).
Versão 1.1.0-rc01
9 de outubro de 2019
androidx.webkit:webkit:1.1.0-rc01
é lançado. A versão 1.0.0-rc01 contém essas confirmações (link em inglês).
Correções de bugs
- Correção de um problema em que o
setWebViewRenderProcessClient()
poderia falhar se transmitisse um cliente nulo.
Versão 1.1.0-beta01
5 de setembro de 2019
Lançamento de androidx.webkit:webkit:1.1.0-beta01
. As confirmações incluídas nessa versão podem ser encontradas neste link.
Novos recursos
- Novo
InternalStoragePathHandler
emWebViewAssetLoader
para carregar arquivos a partir do diretório de dados do app.
Mudanças na API
ProxyConfig#getProxyRules()
agora retorna uma lista inalterável de instânciasProxyRule
, que é uma nova classe para manter um filtro de esquema e seu URL de proxy correspondente.
Correções de bugs
- O valor padrão de
WebViewAssetLoader
é um tipo MIME "text/plain", em vez de nulo, quando não consegue adivinhar o tipo MIME a partir do caminho do arquivo. WebViewAssetLoader
não gera maisNullPointerException
ao carregar arquivos com caracteres especiais nos nomes de caminho.
Versão 1.1.0-alpha02
7 de agosto de 2019
androidx.webkit:webkit:1.1.0-alpha02
é lançado. As confirmações incluídas nessa versão podem ser encontradas neste link.
Novos recursos
WebViewAssetLoader
expõe a interfacePathHandler
para permitir que os apps criem funcionalidades personalizadas de processamento de caminhos.
Mudanças na API
WebViewAssetLoader
agora é uma classe final, já que ela não pode ter uma subclasse.- As implementações de
WebViewAssetLoader#PathHandler
agora são públicas e definitivas. - Pequenas mudanças nos nomes de métodos ProxyConfig.
ProxyController
: adição dos novos métodosaddDirect()
eaddDirect(String)
para se conectar diretamente aos servidores. A string DIRECT foi removida.- Atualização das APIs existentes para incluir anotações de valores nulos (
@NonNull
,@Nullable
) e de linha de execução (@UiThread
,@WorkerThread
).
Versão 1.1.0-alpha01
7 de maio de 2019
Lançamento de androidx.webkit:webkit:1.1.0-alpha01
. As confirmações incluídas nessa versão podem ser encontradas neste link.
Novos recursos
- APIs de getter para complementar
setWebViewClient()
esetWebChromeClient()
- API ProxyController para definir um proxy de solicitação de rede para WebViews de um app.
- API AssetLoader para simplificar o carregamento de recursos do APK por meio de interceptação de solicitação, permitindo acesso a recursos da Web sem desativar o CORS.
- API TracingController para coletar informações de rastreamento do WebView para fins de depuração.
- API RenderProcess para gerenciar serviços do renderizador do WebView e detectar quando um conteúdo com comportamento inadequado faz com que os renderizadores do WebView deixem de responder.
Correções de bugs
- Pequenas correções na formatação da documentação para APIs existentes.