summaryrefslogtreecommitdiffstats
path: root/dom/security/test/csp/test_websocket_self.html
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2018-02-22 11:47:32 +0100
committerwolfbeast <mcwerewolf@gmail.com>2018-02-22 11:47:32 +0100
commit7b7ea5c59a6f282be1d02a199f46483447ec00c1 (patch)
tree8687a74d52001a48b616a8fc30e3ada54d19cb0c /dom/security/test/csp/test_websocket_self.html
parentb7274fd666e1bb33effc1425701f566bcaa6f7be (diff)
parentcff4a7d0b65b9cfe272d72f7a26e3dcc33ea0a03 (diff)
downloadUXP-7b7ea5c59a6f282be1d02a199f46483447ec00c1.tar
UXP-7b7ea5c59a6f282be1d02a199f46483447ec00c1.tar.gz
UXP-7b7ea5c59a6f282be1d02a199f46483447ec00c1.tar.lz
UXP-7b7ea5c59a6f282be1d02a199f46483447ec00c1.tar.xz
UXP-7b7ea5c59a6f282be1d02a199f46483447ec00c1.zip
Merge branch 'ported-moebius'
Diffstat (limited to 'dom/security/test/csp/test_websocket_self.html')
-rw-r--r--dom/security/test/csp/test_websocket_self.html61
1 files changed, 61 insertions, 0 deletions
diff --git a/dom/security/test/csp/test_websocket_self.html b/dom/security/test/csp/test_websocket_self.html
new file mode 100644
index 000000000..a03c32704
--- /dev/null
+++ b/dom/security/test/csp/test_websocket_self.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Bug 1345615: Allow websocket schemes when using 'self' in CSP</title>
+ <!-- Including SimpleTest.js so we can use waitForExplicitFinish !-->
+ <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+<iframe style="width:100%;" id="test_ws_self_frame"></iframe>
+<iframe style="width:100%;" id="test_ws_explicit_frame"></iframe>
+
+<script class="testbody" type="text/javascript">
+
+/* Description of the test:
+ * We load an iframe using connect-src 'self' and one
+ * iframe using connect-src ws: and make
+ * sure that in both cases ws: as well as wss: is allowed to load.
+ */
+
+SimpleTest.waitForExplicitFinish();
+
+function finishTest() {
+ window.removeEventListener("message", receiveMessage);
+ SimpleTest.finish();
+}
+
+const TOTAL_TESTS = 4;
+var counter = 0;
+
+function checkResults(result) {
+ counter++;
+ if (result === "self-ws-loaded" || result === "self-wss-loaded" ||
+ result === "explicit-ws-loaded" || result === "explicit-wss-loaded") {
+ ok(true, "Evaluating: " + result);
+ }
+ else {
+ ok(false, "Evaluating: " + result);
+ }
+ if (counter < TOTAL_TESTS) {
+ return;
+ }
+ finishTest();
+}
+
+window.addEventListener("message", receiveMessage);
+function receiveMessage(event) {
+ checkResults(event.data.result);
+}
+
+const HOST = "http://example.com/tests/dom/security/test/csp/";
+var test_ws_self_frame = document.getElementById("test_ws_self_frame");
+test_ws_self_frame.src = HOST + "file_websocket_self.html";
+
+var test_ws_explicit_frame = document.getElementById("test_ws_explicit_frame");
+test_ws_explicit_frame.src = HOST + "file_websocket_explicit.html";
+
+</script>
+</body>
+</html>