Поддерживает ли chrome.runtime отправку сообщений с переносимыми объектами?
Я узнаю о передаваемых объектах:http://updates.html5rocks.com/2011/12/Transferable-Objects-Lightning-Fast
Они выглядят довольно круто, и я хотел бы использовать их в своем расширении, чтобы ускорить передачу данных изнутри iframe наружу из iframe.
У меня есть пример кода, работающего, но он использует Web Worker:
var s = document.createElement("script");
s.type = "text/js-worker";
s.innerHTML = 'console.log("i ran!");';
document.body.appendChild(s);
var blob = new Blob(Array.prototype.map.call(document.querySelectorAll("script[type=\"text\/js-worker\"]"), function (oScript) {
return oScript.textContent;
}), { type: "text/javascript" });
var worker = new Worker(window.URL.createObjectURL(blob));
var arrayBuffer = new ArrayBuffer(1);
worker.onmessage = function (oEvent) {
console.log("Called back by the worker!\n");
};
console.log("worker:", worker);
worker.postMessage(arrayBuffer, [arrayBuffer]);
if (arrayBuffer.byteLength) {
console.error("nope");
} else {
console.log("it worked");
}
У кого-нибудь есть какая-либо информация о поддержке или временная шкала поддержки / crbug для использования порта, например:
var port = chrome.runtime.connect({
name: 'youTubeIFrameConnectRequest'
});
//port.postMessage -- transferrable object.
Я не вижу никакой поддержки или что-либо о поддержке, но это кажется странным!