| <!doctype html> | 
 | <title>Test initialize MediaStreamTrackGenerator in a service worker</title> | 
 | <script src="/resources/testharness.js"></script> | 
 | <script src="/resources/testharnessreport.js"></script> | 
 | <script src='/service-workers/service-worker/resources/test-helpers.sub.js'></script> | 
 | <script> | 
 | 'use strict'; | 
 |  | 
 | promise_test(async t => { | 
 |     const registration = await navigator.serviceWorker.register('service-worker.js'); | 
 |     await wait_for_state(t, registration.installing, 'activated'); | 
 |     const result = new Promise((resolve, reject) => { | 
 |         navigator.serviceWorker.addEventListener('message', (e) => { | 
 |             if (e.data.result === 'Failure') { | 
 |                 reject('Failed with error ' + e.data.error); | 
 |             } else { | 
 |                 resolve(); | 
 |             } | 
 |         }); | 
 |     }); | 
 |     registration.active.postMessage('hello world'); | 
 |     return result; | 
 | }, 'A service worker is able to initialize a MediaStreamTrackGenerator without crashing'); | 
 | </script> |