| <!DOCTYPE html> |
| <head> |
| <script src="../resources/js-test-pre.js"></script> |
| <script src="/resourceLoadStatistics/resources/util.js"></script> |
| </head> |
| <body onload="runTest()"> |
| <script> |
| description('Construct a cross-site WebSocket in a frame with server-side refusal. The test passes if Resource Load Statistics logs it properly.'); |
| |
| window.jsTestIsAsync = true; |
| |
| const numberOfNotificationsExpected = 2; |
| let numberOfNotificationsReceived = 0; |
| function completeTest() { |
| numberOfNotificationsReceived++; |
| if (testRunner.isStatisticsRegisteredAsSubresourceUnder("http://localhost", "http://127.0.0.1")) { |
| testPassed("localhost registered as subresource under 127.0.0.1."); |
| setEnableFeature(false, finishJSTest); |
| } else { |
| if (numberOfNotificationsReceived >= numberOfNotificationsExpected) { |
| testFailed("localhost not registered as subresource under 127.0.0.1."); |
| setEnableFeature(false, finishJSTest); |
| } else { |
| testRunner.installStatisticsDidScanDataRecordsCallback(completeTest); |
| testRunner.statisticsNotifyObserver(); |
| } |
| } |
| } |
| |
| function runTest() { |
| setEnableFeature(true, function() { |
| if (testRunner.isStatisticsRegisteredAsSubresourceUnder("http://localhost", "http://127.0.0.1")) |
| testFailed("localhost already registered as subresource under 127.0.0.1."); |
| |
| let iframeElement = document.createElement("iframe"); |
| iframeElement.src = "resources/localhost-websocket-connect.html"; |
| iframeElement.id = "testIframe"; |
| document.body.appendChild(iframeElement); |
| |
| testRunner.setStatisticsNotifyPagesWhenDataRecordsWereScanned(true); |
| testRunner.installStatisticsDidScanDataRecordsCallback(completeTest); |
| }); |
| } |
| </script> |
| <script src="../resources/js-test-post.js"></script> |
| </body> |