Voici quelques points à retenir :
- De nouvelles propriétés ont été ajoutées à l'API Screen Capture pour améliorer l'expérience de partage d'écran.
- Vous pouvez désormais identifier précisément si une ressource de votre page bloque l'affichage ou non.
Il existe une nouvelle façon d'envoyer des données à un serveur backend avec l'API PendingBeacon déclarative en phase d'essai Origin Trial. Et ce n'est pas tout !
Et ce n'est pas tout ! En savoir plus
Je m'appelle Adriana Jara. Découvrons les nouveautés de Chrome 107 pour les développeurs.
Nouvelles propriétés dans l'API Screen Capture
Dans cette version, l'API Screen Capture ajoute de nouvelles propriétés pour améliorer l'expérience de partage d'écran.
DisplayMediaStreamOptions a ajouté la propriété selfBrowserSurface. Grâce à cet indice, l'application peut indiquer au navigateur que l'onglet actuel doit être exclu lors de l'appel de getDisplayMedia().
// Exclude the streaming tab
const options = {
selfBrowserSurface: 'exclude',
};
const stream = await navigator
.mediaDevices
.getDisplayMedia(options);
Cela permet d'éviter de se capturer soi-même par accident et d'éviter l'effet "galerie des glaces" que l'on observe dans les visioconférences.
DisplayMediaStreamOptions dispose désormais de la propriété surfaceSwitching.
Cette propriété ajoute une option permettant de contrôler de manière programmatique si Chrome affiche un bouton pour changer d'onglet pendant le partage d'écran. Ces options seront transmises à getDisplayMedia(). Le bouton Share this tab instead permet aux utilisateurs de passer à un nouvel onglet sans revenir à l'onglet de visioconférence ni sélectionner un onglet dans une longue liste. Toutefois, ce comportement est exposé de manière conditionnelle au cas où l'application Web ne le gère pas.
// Show the switch to this tab button
const options = {
surfaceSwitching: 'include',
};
const stream = await navigator
.mediaDevices
.getDisplayMedia(options);
MediaTrackConstraintSet ajoute également la propriété displaySurface. Lorsque getDisplayMedia() est appelé, le navigateur propose à l'utilisateur de choisir une surface d'affichage : onglets, fenêtres ou écrans. À l'aide de la contrainte displaySurface, l'application Web peut désormais indiquer au navigateur si elle préfère qu'un des types de surface soit proposé de manière plus visible.
Par exemple, cela peut aider à éviter le partage excessif par accident, car le partage d'un seul onglet peut être l'option par défaut.

Identifier les ressources bloquant l'affichage
Pour que les développeurs puissent créer des expériences utilisateur rapides, il est essentiel qu'ils disposent d'insights fiables sur les performances d'une page. Jusqu'à présent, ils s'appuyaient sur des heuristiques complexes pour déterminer si une ressource bloquait l'affichage ou non.
L'API Performance inclut désormais la propriété renderBlockingStatus, qui fournit un signal direct du navigateur identifiant les ressources qui empêchent l'affichage de votre page jusqu'à ce qu'elles soient téléchargées.
L'extrait de code ci-dessous montre comment obtenir la liste de toutes vos ressources et utiliser la nouvelle propriété renderBlockingStatus pour lister toutes celles qui bloquent l'affichage.
// Get all resources
const res = window.performance.getEntriesByType('resource');
// Filter to get only the blocking ones
const blocking = res.filter(({renderBlockingStatus}) =>
renderBlockingStatus === 'blocking');
Optimiser le chargement de vos ressources vous aide à améliorer les Core Web Vitals et à offrir une meilleure expérience utilisateur. Consultez la documentation MDN pour en savoir plus sur l'API Performance, recherchez les ressources qui bloquent l'affichage et optimisez-les.
Essai Origin Trial de l'API PendingBeacon
L'API PendingBeacon déclarative permet au navigateur de contrôler l'envoi des balises.
Une balise est un ensemble de données envoyées à un serveur backend, sans attendre de réponse particulière.
Les applications souhaitent souvent envoyer ces balises à la fin de la visite d'un utilisateur, mais il n'y a pas de bon moment pour effectuer cet appel d'envoi. Cette API délègue l'envoi au navigateur lui-même, ce qui lui permet de prendre en charge les balises sur page unload ou sur page hide, sans que le développeur ait à implémenter des appels d'envoi au moment opportun.
Inscrivez-vous à l'essai Origin Trial, essayez l'API et envoyez-nous vos commentaires pour améliorer les cas d'utilisation.
Et bien plus !
Bien sûr, il y en a beaucoup d'autres.
- L'en-tête HTTP
expect-ctest obsolète. - L'attribut
relest désormais compatible avec les éléments<form>. - La dernière fois, j'ai mentionné l'interpolation
grid-template. Cette fois, elle doit être incluse.
Documentation complémentaire
Il ne s'agit que de quelques points clés. Consultez les liens ci-dessous pour découvrir d'autres modifications apportées à Chrome 107.
- Nouveautés des outils pour les développeurs Chrome (107)
- Fonctionnalités abandonnées et supprimées dans Chrome 107
- Mises à jour de ChromeStatus.com pour Chrome 107
- Liste des modifications du dépôt source Chromium
- Calendrier des versions de Chrome
S'abonner
Pour rester à jour, abonnez-vous à la chaîne YouTube Chrome Developers. Vous recevrez une notification par e-mail chaque fois que nous publierons une nouvelle vidéo.
Je m'appelle Adriana Jara et, dès que Chrome 108 sera disponible, je serai là pour vous présenter les nouveautés de Chrome.