| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="/js-test-resources/js-test.js"></script> |
| <script src="resources/util.js"></script> |
| </head> |
| <body> |
| <script> |
| description("Tests that only the origin is sent as referrer for third-party requests."); |
| jsTestIsAsync = true; |
| testRunner.dumpChildFramesAsText(); |
| |
| function openIframe(url, onLoadHandler) { |
| const element = document.createElement("iframe"); |
| element.src = url; |
| if (onLoadHandler) { |
| element.onload = onLoadHandler; |
| } |
| document.body.appendChild(element); |
| } |
| |
| let referrer; |
| setEnableFeature(true, function() { |
| fetch("resources/echo-referrer.py").then(function(response) { |
| return response.text(); |
| }).then(function(data) { |
| referrer = data; |
| shouldBeEqualToString("referrer", "http://127.0.0.1:8000/resourceLoadStatistics/strip-referrer-to-origin-for-third-party-requests.html"); |
| |
| fetch("http://localhost:8000/resourceLoadStatistics/resources/echo-referrer.py").then(function(response) { |
| return response.text(); |
| }).then(function(data) { |
| referrer = data; |
| shouldBeEqualToString("referrer", "http://127.0.0.1:8000/"); |
| |
| openIframe("resources/redirect.py?redirectTo=http://localhost:8000/resourceLoadStatistics/resources/echo-referrer.py", function() { |
| setEnableFeature(false, finishJSTest); |
| }); |
| |
| }).catch(function(error) { |
| console.log(error.message); |
| setEnableFeature(false, finishJSTest); |
| }); |
| }).catch(function(error) { |
| console.log(error.message); |
| setEnableFeature(false, finishJSTest); |
| }); |
| }); |
| </script> |
| </body> |
| </html> |