Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // controlled by 'init'/'done' messages. | 1 // controlled by 'init'/'done' messages. |
| 2 var resolveLockPromise; | 2 var resolveLockPromise; |
| 3 var port; | 3 var port; |
| 4 | 4 |
| 5 self.addEventListener('message', function(event) { | 5 self.addEventListener('message', function(event) { |
| 6 var waitPromise; | 6 var waitPromise; |
| 7 var resolveTestPromise; | 7 var resolveTestPromise; |
| 8 | 8 |
| 9 switch (event.data.step) { | 9 switch (event.data.step) { |
| 10 case 'init': | 10 case 'init': |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 43 async_task_waituntil(event).then(reportResultExpecting('InvalidStateErro r')); | 43 async_task_waituntil(event).then(reportResultExpecting('InvalidStateErro r')); |
| 44 break; | 44 break; |
| 45 case 'script-extendable-event': | 45 case 'script-extendable-event': |
| 46 new_event_waituntil().then(reportResultExpecting('InvalidStateError')); | 46 new_event_waituntil().then(reportResultExpecting('InvalidStateError')); |
| 47 break; | 47 break; |
| 48 } | 48 } |
| 49 event.source.postMessage('ACK'); | 49 event.source.postMessage('ACK'); |
| 50 }); | 50 }); |
| 51 | 51 |
| 52 self.addEventListener('fetch', function(event) { | 52 self.addEventListener('fetch', function(event) { |
| 53 var resolveFetch; | 53 if (event.request.url.indexOf('pending-respondwith-async-waituntil') != -1) { |
| 54 let response = new Promise((res) => { resolveFetch = res; }); | 54 var resolveFetch; |
| 55 event.respondWith(response); | 55 let response = new Promise((res) => { resolveFetch = res; }); |
| 56 async_task_waituntil(event) | 56 event.respondWith(response); |
| 57 .then(reportResultExpecting('OK')) | 57 async_task_waituntil(event) |
| 58 .then(() => { resolveFetch(new Response('OK')); }); | 58 .then(reportResultExpecting('OK')) |
| 59 .then(() => { resolveFetch(new Response('OK')); }); | |
| 60 } else if (event.request.url.endsWith('respondwith-microtask-sync-waituntil' ) != -1) { | |
| 61 event.respondWith(Promise.resolve().then(() => { | |
| 62 sync_waituntil(event).then(reportResultExpecting('OK')); | |
| 63 return new Response('OK'); | |
| 64 })); | |
|
falken
2017/05/24 08:24:18
did these tests catch an implementation bug?
i wo
leonhsl(Using Gerrit)
2017/05/25 00:16:39
I thought test coverage for respondWith is not eno
leonhsl(Using Gerrit)
2017/05/25 06:43:55
Done.
| |
| 65 } else if (event.request.url.endsWith('respondwith-microtask-async-waituntil ') != -1) { | |
| 66 event.respondWith(Promise.resolve().then(() => { | |
| 67 async_microtask_waituntil(event).then(reportResultExpecting('OK')); | |
| 68 return new Response('OK'); | |
| 69 })); | |
|
falken
2017/05/24 08:24:18
nit: indentation looks wrong, 62-63 and 67-68 shou
leonhsl(Using Gerrit)
2017/05/25 00:16:39
Acknowledged.
| |
| 70 } | |
| 59 }); | 71 }); |
| 60 | 72 |
| 61 function reportResultExpecting(expectedResult) { | 73 function reportResultExpecting(expectedResult) { |
| 62 return function (result) { | 74 return function (result) { |
| 63 port.postMessage({result : result, expected: expectedResult}); | 75 port.postMessage({result : result, expected: expectedResult}); |
| 64 return result; | 76 return result; |
| 65 }; | 77 }; |
| 66 } | 78 } |
| 67 | 79 |
| 68 function sync_waituntil(event) { | 80 function sync_waituntil(event) { |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 106 setTimeout(() => { | 118 setTimeout(() => { |
| 107 try { | 119 try { |
| 108 event.waitUntil(Promise.resolve()); | 120 event.waitUntil(Promise.resolve()); |
| 109 res('OK'); | 121 res('OK'); |
| 110 } catch (error) { | 122 } catch (error) { |
| 111 res(error.name); | 123 res(error.name); |
| 112 } | 124 } |
| 113 }, 0); | 125 }, 0); |
| 114 }); | 126 }); |
| 115 } | 127 } |
| OLD | NEW |