| <p>This tests unregistering a Blob object after the network process to which it was registered crashed.<br> |
| WebKit should not hit a debug assertion in the network process.</p> |
| document.write('This test requires testRunner and GCController'); |
| testRunner.waitUntilDone(); |
| let blobs = new Array(100); |
| for (let i = 0; i < 100; i++) { |
| blobs[i] = new Array(10); |
| for (let j = 0; j < 10; j++) |
| blobs[i][j] = new Blob(["some text"]); |
| testRunner.terminateNetworkProcess(); |
| await waitForNetworkProcessToRelaunch(); |
| const newBlob = new Blob(["some text"]); |
| for (let i = 0; i < 100; i++) { |
| for (let j = 0; j < 10; j++) |
| await fetch('blob-network-process-crash.html'); |
| function waitForNetworkProcessToRelaunch() { |
| return fetch('blob-network-process-crash.html').catch(() => { |
| return new Promise((resolve, reject) => { |
| setTimeout(() => waitForNetworkProcessToRelaunch().then(resolve), waitTime); |