Webkit

Utilisez les API WebView modernes sous Android 5 ou version ultérieure.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
8 février 2023 1.6.0 - - 1.7.0-alpha02

Déclarer des dépendances

Pour ajouter une dépendance sur Webkit, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :

Groovy

dependencies {
    implementation "androidx.webkit:webkit:1.6.0"
}

Kotlin

dependencies {
    implementation("androidx.webkit:webkit:1.6.0")
}

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Version 1.7

Version 1.7.0-alpha02

8 février 2023

Publication d'androidx.webkit:webkit:1.7.0-alpha02. Liste des commits de la version 1.7.0-alpha02

Correction de bugs

  • Bugs relatifs à la documentation pour DropDataContentProvider.

Version 1.7.0-alpha01

25 janvier 2023

Publication d'androidx.webkit:webkit:1.7.0-alpha01. Liste des commits de la version 1.7.0-alpha01

Nouvelles fonctionnalités

  • Nous avons ajouté la possibilité de faire glisser des images dans WebView. Vous pouvez autoriser vos utilisateurs à retirer des images de WebView par glisser-déposer, en ajoutant le nouveau DropDataContentProvider au fichier manifeste de votre application. (05a1a6)

Version 1.6

Version 1.6.0

25 janvier 2023

Publication d'androidx.webkit:webkit:1.6.0. Liste des commits de la version 1.6.0

Changements importants depuis la version 1.5.0

  • Une nouvelle API ProcessGlobalConfig a été ajoutée pour permettre aux applications de fournir les paramètres de configuration qui doivent être définis avant le chargement de WebView, comme le suffixe du répertoire de données WebView. La configuration doit être définie et appliquée le plus tôt possible au démarrage de l'application, afin qu'elle soit active avant qu'un autre thread puisse appeler une méthode qui charge WebView dans le processus.
  • Une nouvelle API CookieManagerCompat a été ajoutée pour étendre android.webkit.CookieManager avec une nouvelle méthode getCookieInfo, qui récupère tous les attributs de tous les cookies définis sur une URL spécifique. Elle diffère de l'API getCookie existante dans CookieManager, qui ne renvoie que les attributs de nom et de valeur des cookies.
  • WebSettingsCompat intègre de nouvelles méthodes pour activer/désactiver l'effet de EnterpriseAuthenticationAppLinkPolicy (si défini par l'administrateur) dans WebView et pour obtenir le paramètre actuel. Cette fonctionnalité permet à WebView d'ouvrir une application d'authentification au lieu d'ouvrir l'URL d'authentification. Cette fonctionnalité n'a aucun effet sur les appareils qui ne sont pas gérés par une stratégie d'entreprise.
  • Ajout d'une nouvelle API à WebSettingsCompat permettant aux applications d'envoyer explicitement le nom du package de l'application dans l'en-tête X-Requested-With aux origines de la liste d'autorisation. Généralement, l'en-tête est envoyé à chaque requête provenant de WebView.

Version 1.6.0-rc01

11 janvier 2023

Publication d'androidx.webkit:webkit:1.6.0-rc01. Liste des commits de la version 1.6.0-rc01

Correction de bugs

  • Correction de NullPointerException dans WebViewFeature.isStartupFeatureSupported(Context, String) lors de l'exécution sur une version de SDK inférieure à L. (Ic7292)

Version 1.6.0-beta01

7 décembre 2022

Publication d'androidx.webkit:webkit:1.6.0-beta01. Liste des commits de la version 1.6.0-beta01

Modifications apportées à l'API

  • ProcessGlobalConfig a été modifié pour qu'il utilise un constructeur normal et une méthode d'application statique. La méthode "apply" ne doit être appelée qu'une seule fois par processus, le plus tôt possible, et renvoie IllegalStateException si elle est appelée plusieurs fois. Les objets ProcessGlobalConfig ne sont plus soumis à des restrictions concernant le nombre d'appels dont les setters peuvent faire l'objet. (I456c3)

Version 1.6.0-alpha03

9 novembre 2022

Publication d'androidx.webkit:webkit:1.6.0-alpha03. Liste des commits de la version 1.6.0-alpha03

Nouvelles fonctionnalités

  • Ajout de la classe ProcessGlobalConfig pour permettre aux utilisateurs de définir la configuration globale du processus avant de charger WebView. WebView comporte des paramètres de configuration globaux du processus qui ne peuvent pas être modifiés une fois que WebView a été chargé (par exemple, le répertoire de données WebView). Cette classe permet aux applications de définir ces paramètres. La configuration doit être définie et appliquée le plus tôt possible au démarrage de l'application, afin qu'elle soit active avant qu'un autre thread puisse appeler une méthode qui charge WebView dans le processus. (I7c0e0, b/250553687)
  • Ajout d'une API permettant aux applications d'envoyer explicitement le nom du package de l'application dans l'en-tête X-Requested-With aux origines de la liste d'autorisation. Généralement, l'en-tête est envoyé à chaque requête provenant de WebView. (I0adfe, b/226552535)

Modifications apportées à l'API

  • L'API WebSettingsCompat#setAlgorithmicDarkeningAllowed est compatible avec toutes les versions d'Android à partir de la version 105 de WebView. Les versions précédentes de WebView n'acceptaient l'API que sur Android Q ou version ultérieure. C'est pourquoi cette API n'est plus marquée comme @RequiresApi(Build.VERSION_CODES.Q). (I3ac1d)

Version 1.6.0-alpha02

24 octobre 2022

Publication d'androidx.webkit:webkit:1.6.0-alpha02. Liste des commits de la version 1.6.0-alpha02

Nouvelles fonctionnalités

  • Ajout d'une classe CookieManagerCompat avec une API getCookieInfo qui récupère tous les attributs de tous les cookies définis sur une URL spécifique. Cela diffère de l'API getCookie existante dans CookieManager, qui ne renvoie que les attributs de nom et de valeur des cookies. (I07365, b/242161756)

Version 1.6.0-alpha01

24 août 2022

Publication d'androidx.webkit:webkit:1.6.0-alpha01. Liste des commits de la version 1.6.0-alpha01

Nouvelles fonctionnalités

  • Ajout d'API dans WebSettingsCompat pour activer/désactiver l'effet de EnterpriseAuthenticationAppLinkPolicy s'il est défini par l'administrateur dans WebView. Cette fonctionnalité permet à WebView d'ouvrir une application d'authentification au lieu d'ouvrir l'URL d'authentification. Cette fonctionnalité n'a aucun effet sur les appareils qui ne sont pas gérés par une stratégie d'entreprise.

Version 1.5.0

Version 1.5.0

24 août 2022

Publication d'androidx.webkit:webkit:1.5.0. Liste des commits de la version 1.5.0

Changements importants depuis la version 1.4.0

  • Une nouvelle API setAlgorithmicDarkeningAllowed sur WebSettingsCompat remplace les anciennes API setForceDark et setForceDarkStrategy. Les applications ciblant le SDK 33 ou une version ultérieure doivent utiliser la nouvelle API, car l'ancienne API n'aura plus aucun effet pour ces applications.
  • Vous pouvez maintenant définir une liste d'autorisation d'URL utilisant le proxy configuré via ProxyCofig.Builder en définissant setReverseBypassEnabled sur true. Dans ce cas, toutes les autres URL contournent le proxy configuré.

Version 1.5.0-rc01

10 août 2022

Publication d'androidx.webkit:webkit:1.5.0-rc01 sans aucune modification par rapport à la version 1.5.0-beta01. Liste des commits de la version 1.5.0-rc01

Version 1.5.0-beta01

29 juin 2022

Publication d'androidx.webkit:webkit:1.5.0-beta01. Liste des commits de la version 1.5.0-beta01

Modifications apportées à l'API

  • Les API liées à l'assombrissement algorithmique sont désormais annotées pour exiger le niveau d'API Q. L'API n'aura aucun effet sur les niveaux d'API inférieurs à Q, car le thème sombre n'est pas une option proposée sur ces appareils. (I0905e)

Version 1.5.0-alpha01

18 mai 2022

Publication d'androidx.webkit:webkit:1.5.0-alpha01. Liste des commits de la version 1.5.0-alpha01

Nouvelles fonctionnalités

  • Ajout d'une nouvelle méthode getVariationsHeader() sur WebViewCompat pour obtenir la valeur de l'en-tête de données du client X envoyée par WebView. La valeur renvoyée sera un tampon de protocole ClientVariations encodé en base64.
  • Ajout d'API sur WebSettingsCompat afin d'autoriser ou d'interdire l'assombrissement algorithmique pour les applications avec un targetSdk supérieur ou égal à 33. (I29597)

Modifications apportées à l'API

  • Ajout d'une nouvelle méthode dans ProxyCofig.Builder pour définir un contournement inverse. Si vous définissez le contournement inverse sur "true", seules les URL de la liste de contournements utiliseront les paramètres proxy. (I9eaa2, b/168728599)

Correction de bugs

  • Correction d'une faute de frappe dans la documentation sur le thème sombre. (I36ebf, b/194343633)
  • Correction d'un bug qui entraînait involontairement une dépendance à l'ordre des méthodes WebViewAssetLoader.Builder. (If420d, b/182196765)

Version 1.4.0

Version 1.4.0

16 décembre 2020

Publication d'androidx.webkit:webkit:1.4.0. Liste des commits de la version 1.4.0

Principales modifications depuis la version 1.3.0

  • Ajout d'une nouvelle API setSafeBrowsingAllowlist() pour remplacer setSafeBrowsingWhitelist(). Cela permet aux applications de mettre à jour leur code afin d'éviter toute terminologie non inclusive, tout en continuant à utiliser la même gamme de SDK Android et de versions de WebView que l'API obsolète.
  • Correction d'un bug dans "setProxyOverride" qui empêchait l'application correcte des règles de remplacement.

Version 1.4.0-rc02

2 décembre 2020

Publication d'androidx.webkit:webkit:1.4.0-rc02. Liste des commits de la version 1.4.0-rc02

Correction de bugs

  • Correction des règles de remplacement qui n'étaient pas correctement appliquées lors de l'utilisation de "setProxyOverride".

Version 1.4.0-rc01

11 novembre 2020

Publication d'androidx.webkit:webkit:1.4.0-rc01 sans aucune modification par rapport à la version 1.4.0-beta01. Liste des commits de la version 1.4.0-rc01

Version 1.4.0-beta01

14 octobre 2020

Publication d'androidx.webkit:webkit:1.4.0-beta01 sans aucune modification par rapport à la version 1.4.0-alpha01. Liste des commits de la version 1.4.0-beta01

Version 1.4.0-alpha01

16 septembre 2020

Publication d'androidx.webkit:webkit:1.4.0-alpha01. Liste des commits de la version 1.4.0-alpha01

Modifications apportées à l'API

  • Ajout d'une nouvelle API WebViewCompat#setSafeBrowsingAllowlist() pour remplacer setSafeBrowsingWhitelist(). Cela permet aux applications de mettre à jour leur code afin d'éviter toute terminologie non inclusive, tout en continuant à utiliser la même gamme de SDK Android et de versions de WebView que l'API obsolète. (I8d65d)

Version 1.3.0

Version 1.3.0

19 août 2020

Publication d'androidx.webkit:webkit:1.3.0. Liste des commits de la version 1.3.0

Principales modifications depuis la version 1.2.0

  • L'API ForceDarkStrategy offre un plus grand contrôle sur l'assombrissement de WebView (l'assombrissement du contenu Web/CSS par rapport à l'assombrissement automatique).
  • "WebMessageListener" et les API associées fournissent un mécanisme simple et sécurisé pour établir la communication entre les contenus Web et l'application d'intégration de WebView.
  • L'API isMultiProcessEnabled permet de vérifier si WebView est exécuté dans plusieurs processus. Cela est possible à partir d'Android O et signifie que le contenu Web est affiché dans un processus de moteur de rendu en bac à sable, distinct du processus de l'application. Ce moteur de rendu en bac à sable peut être partagé avec d'autres WebView de la même application, mais pas avec d'autres processus d'application.

Version 1.3.0-rc02

5 août 2020

Publication d'androidx.webkit:webkit:1.3.0-rc02. Liste des commits de la version 1.3.0-rc02

Correction de bugs

  • Cela corrige un problème de compatibilité qui entraînait parfois le plantage de WebMessageListener lors du développement local si votre application était lancée avec l'exécution instantanée d'Android Studio.

Version 1.3.0-rc01

24 juin 2020

Publication d'androidx.webkit:webkit:1.3.0-rc01 sans aucune modification par rapport à la version 1.3.0-beta01. Liste des commits de la version 1.3.0-rc01

Version 1.3.0-beta01

10 juin 2020

Publication d'androidx.webkit:webkit:1.3.0-beta01. Liste des commits de la version 1.3.0-beta01

Nouvelles fonctionnalités

  • L'API ForceDarkStrategy permet de contrôler l'assombrissement de WebView (l'assombrissement du contenu Web/CSS par rapport à l'assombrissement automatique).
  • Les API WebMessageListener fournissent un mécanisme simple et sécurisé pour établir la communication entre les contenus Web et l'application d'intégration de WebView.
  • L'API MultiProcessEnabled permet de vérifier si WebView est exécuté en mode multiprocessus.

Version 1.3.0-alpha03

27 mai 2020

Publication d'androidx.webkit:webkit:1.3.0-alpha03. Liste des commits de la version 1.3.0-alpha03

Modifications apportées à l'API

  • La méthode addWebMessageListener reçoit désormais un Set<String> de règles d'origine autorisées (auparavant, une List<String>).

Version 1.3.0-alpha02

29 avril 2020

Publication d'androidx.webkit:webkit:1.3.0-alpha02. Liste des commits de la version 1.3.0-alpha02

Nouvelles fonctionnalités

  • L'API MultiProcessEnabled permet de vérifier si WebView est exécuté en mode multiprocessus.

Modifications apportées à l'API

  • Toutes les constantes de stratégie sombre sont maintenant précédées de DARK_STRATEGY.

Version 1.3.0-alpha01

15 avril 2020

Publication d'androidx.webkit:webkit:1.3.0-alpha01. Liste des commits de la version 1.3.0-alpha01

Nouvelles fonctionnalités

  • L'API ForceDarkStrategy permet de contrôler l'assombrissement de WebView (l'assombrissement du contenu Web/CSS par rapport à l'assombrissement automatique).
  • Les API WebMessageListener fournissent un mécanisme simple et sécurisé pour établir la communication entre les contenus Web et l'application d'intégration de WebView.

Version 1.2.0

Version 1.2.0

4 mars 2020

Publication d'androidx.webkit:webkit:1.2.0. Liste des commits de la version 1.2.0

Principales modifications depuis la version 1.1.0

  • Ajout de l'API ForceDark pour vérifier si les WebView doivent être affichés en mode sombre.

Version 1.2.0-rc01

19 février 2020

Publication d'androidx.webkit:webkit:1.2.0-rc01 sans aucune modification par rapport à la version 1.2.0-beta01. Liste des commits de la version 1.2.0-rc01

Version 1.2.0-beta01

5 février 2020

Publication d'androidx.webkit:webkit:1.2.0-beta01 sans aucune modification par rapport à la version 1.2.0-alpha01. Liste des commits de la version 1.2.0-beta01

Version 1.2.0-alpha01

18 décembre 2019

Publication d'androidx.webkit:webkit:1.2.0-alpha01. Liste des commits de la version 1.2.0-alpha01

Nouvelles fonctionnalités

  • L'API ForceDark permet de vérifier si les WebView doivent être affichés en mode sombre.

Version 1.1.0

Version 1.1.0

7 novembre 2019

Publication d'androidx.webkit:webkit:1.1.0. Liste des commits de la version 1.1.0.

Changements importants depuis la version 1.0.0

  • Les API Getter permettent de compléter setWebViewClient() et setWebChromeClient().
  • L'API ProxyController permet de définir un proxy de requête réseau pour les WebView d'une application.
  • L'API WebViewAssetLoader permet de simplifier le chargement des ressources, des fichiers et des éléments APK à partir du répertoire de données de l'application via l'interception des requêtes. Cela permet d'accéder aux ressources Web et locales sans désactiver CORS.
  • L'API TracingController permet de collecter des informations de traçage de WebView à des fins de débogage.
  • Les API RenderProcess permettent de gérer les services de moteur de rendu de WebView et de détecter les problèmes de comportement de contenu provoquant une perte de réactivité des moteurs de rendu de WebView.
  • Mise à jour des API existantes pour inclure les annotations de possibilité de valeur nulle (@NonNull, @Nullable) et de thread (@UiThread, @WorkerThread).

Version 1.1.0-rc01

9 octobre 2019

Publication d'androidx.webkit:webkit:1.1.0-rc01. Liste des commits de la version 1.1.0-rc01

Correction de bugs

  • Correction d'un problème qui provoquait le plantage de setWebViewRenderProcessClient() en cas de transmission d'un client nul.

Version 1.1.0-beta01

5 septembre 2019

Publication d'androidx.webkit:webkit:1.1.0-beta01. Les commits inclus dans cette version sont disponibles sur cette page.

Nouvelles fonctionnalités

  • Nouveau InternalStoragePathHandler dans WebViewAssetLoader permettant de charger des fichiers à partir du répertoire de données de l'application.

Modifications apportées à l'API

  • ProxyConfig#getProxyRules() renvoie désormais une liste non modifiable d'instances ProxyRule, qui est une nouvelle classe destinée à contenir un filtre de schéma et l'URL de proxy correspondante.

Correction de bugs

  • WebViewAssetLoader utilise par défaut un type MIME "text/plain" (plutôt que nul) lorsqu'il ne peut pas deviner le type MIME à partir du chemin d'accès au fichier.
  • WebViewAssetLoader ne génère plus une NullPointerException lors du chargement de fichiers contenant des caractères spéciaux dans le nom de leur chemin d'accès.

Version 1.1.0-alpha02

7 août 2019

Publication d'androidx.webkit:webkit:1.1.0-alpha02. Les commits inclus dans cette version sont disponibles sur cette page.

Nouvelles fonctionnalités

  • WebViewAssetLoader expose l'interface PathHandler pour permettre aux applications de créer une fonctionnalité personnalisée de gestion des chemins d'accès.

Modifications apportées à l'API

  • WebViewAssetLoader est désormais une classe finale, car il n'est pas destiné à être une sous-classe.
  • Les implémentations de WebViewAssetLoader#PathHandler sont désormais publiques et définitives.
  • Modifications mineures apportées aux noms des méthodes "ProxyConfig".
  • ProxyController : ajout de nouvelles méthodes addDirect() et addDirect(String) permettant une connexion directe aux serveurs. Suppression de la chaîne DIRECT.
  • Mise à jour des API existantes pour inclure les annotations de possibilité de valeur nulle (@NonNull, @Nullable) et de thread (@UiThread, @WorkerThread).

Version 1.1.0-alpha01

7 mai 2019

Publication d'androidx.webkit:webkit:1.1.0-alpha01. Les commits inclus dans cette version sont disponibles sur cette page.

Nouvelles fonctionnalités

  • Les API Getter permettent de compléter setWebViewClient() et setWebChromeClient().
  • L'API ProxyController permet de définir un proxy de requête réseau pour les WebView d'une application.
  • L'API AssetLoader simplifie le chargement des ressources et des éléments APK en interceptant les requêtes, ce qui permet d'accéder aux ressources Web sans désactiver CORS.
  • L'API TracingController permet de collecter des informations de traçage de WebView à des fins de débogage.
  • Les API RenderProcess permettent de gérer les services de moteur de rendu de WebView et de détecter les problèmes de comportement de contenu provoquant une perte de réactivité des moteurs de rendu de WebView.

Correction de bugs

  • Corrections mineures de la mise en forme de la documentation pour les API existantes.