| <!doctype html> |
| <html> |
| <head> |
| <script src="../../http/tests/inspector/resources/protocol-test.js"></script> |
| <script src="../../http/tests/inspector/resources/console-test.js"></script> |
| <script> |
| function test() |
| { |
| let suite = ProtocolTest.createAsyncSuite("Console.XFrameOptionsMessages"); |
| |
| ProtocolTest.Console.addTestCase(suite, { |
| name: "XFrameOptionsDeny", |
| description: "Ensure that a console message is logged when enforcing an X-Frame-Options policy. In this case, setting X-Frame-Options: 'deny' means the iframe does not want to be embedded in the test page.", |
| expression: "triggerXFrameOptionDeny();", |
| expected: {source: 'security', level: 'error'} |
| }); |
| |
| InspectorProtocol.awaitCommand({ |
| method: "Console.enable", |
| params: {} |
| }) |
| .then(function() { |
| suite.runTestCasesAndFinish(); |
| }) |
| .catch(fatalError); |
| |
| function fatalError(e) { |
| ProtocolTest.log("Test failed with fatal error: " + JSON.stringify(e)); |
| ProtocolTest.completeTest(); |
| } |
| } |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <iframe id="denied"></iframe> |
| <script> |
| function triggerXFrameOptionDeny() |
| { |
| let deniedFrame = document.getElementById('denied'); |
| let deniedDocument = deniedFrame.contentWindow.document; |
| deniedDocument.write('<meta http-equiv="X-Frame-Options" content="deny"/>'); |
| } |
| </script> |
| </body> |
| </html> |