| OLD | NEW |
| (Empty) |
| 1 self.onmessage = function(e) { | |
| 2 var message = e.data; | |
| 3 if ('port' in message) { | |
| 4 port = message.port; | |
| 5 doTextTest(port); | |
| 6 } | |
| 7 }; | |
| 8 | |
| 9 function quit(port) { | |
| 10 port.postMessage('quit'); | |
| 11 } | |
| 12 | |
| 13 function doFetchTwiceTest(port) { | |
| 14 var p1Out = p2Out = null; | |
| 15 | |
| 16 fetch('doctype.html') | |
| 17 .then(function(response) { | |
| 18 var p1 = response.body.asText(); | |
| 19 var p2 = response.body.asText(); | |
| 20 | |
| 21 p1.then(function(obj) { | |
| 22 p1Out = obj; | |
| 23 if (p2Out) { | |
| 24 complete(); | |
| 25 } | |
| 26 }); | |
| 27 p2.catch(function(e) { | |
| 28 p2Out = e; | |
| 29 if (p1Out) { | |
| 30 complete(); | |
| 31 } | |
| 32 }); | |
| 33 }); | |
| 34 | |
| 35 function complete() { | |
| 36 port.postMessage(p1Out + ' : ' + p2Out.name); | |
| 37 quit(port); | |
| 38 } | |
| 39 } | |
| 40 | |
| 41 function doArrayBufferTest(port) { | |
| 42 fetch('doctype.html') | |
| 43 .then(function(response) { | |
| 44 response.body.asArrayBuffer() | |
| 45 .then(function(b) { | |
| 46 port.postMessage('ArrayBuffer: ' + b.byteLength); | |
| 47 doFetchTwiceTest(port); | |
| 48 }); | |
| 49 }); | |
| 50 } | |
| 51 | |
| 52 function doBlobTest(port) { | |
| 53 fetch('doctype.html') | |
| 54 .then(function(response) { | |
| 55 response.body.asBlob() | |
| 56 .then(function(blob) { | |
| 57 port.postMessage('Blob: ' + blob.size + " : " + blob.type); | |
| 58 doArrayBufferTest(port); | |
| 59 }); | |
| 60 }); | |
| 61 } | |
| 62 | |
| 63 function doJSONFailedTest(port) { | |
| 64 fetch('doctype.html') | |
| 65 .then(function(response) { | |
| 66 response.body.asJSON() | |
| 67 .catch(function(e) { | |
| 68 port.postMessage('JSON: ' + e.name); | |
| 69 doBlobTest(port); | |
| 70 }); | |
| 71 }); | |
| 72 } | |
| 73 | |
| 74 function doJSONTest(port) { | |
| 75 fetch('simple.json') | |
| 76 .then(function(response) { | |
| 77 response.body.asJSON() | |
| 78 .then(function(json) { | |
| 79 port.postMessage('JSON: ' + json['a'] + ' ' + json['b']); | |
| 80 doJSONFailedTest(port); | |
| 81 }); | |
| 82 }); | |
| 83 } | |
| 84 | |
| 85 function doTextTest(port) { | |
| 86 fetch('doctype.html') | |
| 87 .then(function(response) { | |
| 88 response.body.asText() | |
| 89 .then(function(txt) { | |
| 90 port.postMessage('Text: ' + txt); | |
| 91 doJSONTest(port); | |
| 92 }); | |
| 93 }); | |
| 94 } | |
| OLD | NEW |