1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-20 15:18:08 +02:00

Uses postMessage transfers

This commit is contained in:
Yury Delendik 2013-11-11 21:30:26 -06:00 committed by Yury
parent 945e370d4f
commit 4ce6cb8b0f
6 changed files with 95 additions and 12 deletions

View file

@ -540,6 +540,39 @@ var tests = [
impact: 'Important',
area: 'Core'
},
{
id: 'Worker-transfers',
name: 'Worker can use transfers for postMessage',
run: function () {
if (typeof Worker == 'undefined')
return { output: 'Skipped', emulated: '' };
try {
var worker = new Worker('worker-stub.js');
var promise = new Promise();
var timeout = setTimeout(function () {
promise.resolve({ output: 'Failed', emulated: '?' });
}, 5000);
worker.addEventListener('message', function (e) {
var data = e.data;
if (data.action == 'test-transfers' && data.result)
promise.resolve({ output: 'Success', emulated: '' });
else
promise.resolve({ output: 'Failed', emulated: 'Yes' });
}, false);
var testObj = new Uint8Array([255]);
worker.postMessage({action: 'test-transfers',
data: testObj}, [testObj.buffer]);
return promise;
} catch (e) {
return { output: 'Failed', emulated: 'Yes' };
}
},
impact: 'Normal',
area: 'Core'
},
{
id: 'Worker-xhr-response',
name: 'XMLHttpRequest supports the reponse property in web workers',

View file

@ -21,6 +21,9 @@ onmessage = function (e) {
case 'test':
postMessage({action: 'test', result: data.data instanceof Uint8Array});
break;
case 'test-transfers':
postMessage({action: 'test-transfers', result: data.data[0] === 255});
break;
case 'xhr':
var xhr = new XMLHttpRequest();
var responseExists = 'response' in xhr;