| (async function(testRunner) { |
| var {page, session, dp} = await testRunner.startBlank( |
| `Tests that network requests are annotated with the correct referrer policy.`); |
| |
| await dp.Network.enable(); |
| testRunner.log('Network agent enabled'); |
| |
| var policies = [ |
| 'unsafe-url', 'no-referrer-when-downgrade', 'no-referrer', 'origin', |
| 'origin-when-cross-origin' |
| ]; |
| for (var policy of policies) { |
| session.evaluate(` |
| var img = document.createElement('img'); |
| img.referrerPolicy = '${policy}'; |
| img.src = '/resources/square.png?' + Math.random(); |
| document.body.appendChild(img); |
| `); |
| var evt = await dp.Network.onceRequestWillBeSent(); |
| var req = evt.params.request; |
| if (req.referrerPolicy === policy) |
| testRunner.log(`PASS: Request with expected policy ${policy} observed`); |
| else |
| testRunner.log(`FAIL: Request with policy ${req.referrerPolicy} observed (expected ${policy})`); |
| } |
| testRunner.completeTest(); |
| }) |