Chromium Code Reviews| Index: chrome/test/data/subresource_filter/page_with_websocket.html |
| diff --git a/chrome/test/data/subresource_filter/page_with_websocket.html b/chrome/test/data/subresource_filter/page_with_websocket.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..8a04d73f51ef86cda6d02d759e0b59b672cb3796 |
| --- /dev/null |
| +++ b/chrome/test/data/subresource_filter/page_with_websocket.html |
| @@ -0,0 +1,28 @@ |
| +<script src='websocket_connection.js'></script> |
| +<script> |
| +// Listens for 'onmessage' or 'onclose' messages from the websocket, and sends |
| +// them to the test fixture. |
| +function connectionListener(e) { |
| + if (e.data == 'onmessage') { |
| + window.domAutomationController.send(true); |
| + } else if (e.data == 'onclose') { |
| + window.domAutomationController.send(false); |
| + } |
| +} |
| + |
| +// This page has two modes, one where the websocket connection lives in the |
| +// document context, and one where it lives in a worker. This is encoded by the |
| +// extra 'inWorker' url param. |
|
engedy
2017/03/06 16:31:01
nit: presence (or absence) of an URL param named `
Charlie Harrison
2017/03/06 19:22:11
Done.
|
| +var url = new URL(location); |
| +if (url.searchParams.get('inWorker')) { |
| + var worker = new Worker('websocket_connection.js'); |
| + worker.addEventListener('message', connectionListener); |
| + |
| + // Redefine connectWebSocket to instead post a message to start the worker. |
| + connectWebSocket = function(url) { |
| + worker.postMessage({url: url}); |
| + } |
| +} else { |
| + addEventListener('message', connectionListener); |
| +} |
| +</script> |