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..4d4e09f6aa962fa6f8e19087eed8d0068bad8338 |
--- /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. |
+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> |