Arrivé ! xhr.send(ArrayBufferViews)

Vous pensiez que nous avions fini d'améliorer XHR !

Depuis un certain temps, la méthode send() surchargée de XHR2 permet d'envoyer un ArrayBuffer (un tableau d'octets bruts).

Chrome 22 (Canary actuel) abandonne cette fonctionnalité et la remplace par l'envoi de ArrayBufferView. Les tableaux typés JavaScript ne sont que des ArrayBufferView spéciaux. Cela signifie donc que vous pouvez désormais envoyer un tableau typé directement sur le fil sans toucher son tampon sous-jacent. Cette modification est conforme aux mises à jour récentes de la spécification XMLHttpRequest2.

Par exemple, au lieu d'envoyer un ArrayBuffer:

var xhr = new XMLHttpRequest();
xhr.open('POST', '/server', true);
xhr.onload = function(e) { ... };

var uInt8Array = new Uint8Array([1, 2, 3]);

xhr.send(uInt8Array.buffer);

Il suffit d'envoyer le tableau saisi:

xhr.send(uInt8Array);

L'envoi de ArrayBuffers sera finalement supprimé, mais pour le moment, vous recevrez des avertissements de console lorsque vous tenterez d'envoyer un tampon.

Comme toujours, vous pouvez suivre ces types de modifications sur chromestatus.com.