| <html> | |
| <style> | |
| iframe | |
| { | |
| height: 60px; | |
| width: 200px; | |
| } | |
| </style> | |
| <script> | |
| if (window.testRunner) | |
| testRunner.dumpAsText(); | |
| function emitFrameWithContents(contents) | |
| { | |
| document.write("<iframe src=\"data:text/html," + contents + "\"></iframe>"); | |
| } | |
| function getRandomHost() | |
| { | |
| return "www." + Math.floor(Math.random() * 10000000000) + ".invalid"; | |
| } | |
| function emitFrameForScheme(scheme) | |
| { | |
| var host = getRandomHost(); | |
| var contents = "<meta http-equiv='x-dns-prefetch-control' content='on'>"; | |
| contents += "<a href='" + scheme + "//" + host + "'>" + host + "</a>"; | |
| emitFrameWithContents(contents); | |
| } | |
| function emitFrameForHost(host) | |
| { | |
| var contents = "<meta http-equiv='x-dns-prefetch-control' content='on'>"; | |
| contents += "<a href='http:" + "//" + host + "'>" + host + "</a>"; | |
| emitFrameWithContents(contents); | |
| } | |
| function emitFrameForManualDNSPrefetch(dnsPrefetchControl) | |
| { | |
| var host = getRandomHost(); | |
| var contents = ""; | |
| if (dnsPrefetchControl) | |
| contents += "<meta http-equiv='x-dns-prefetch-control' content='" + dnsPrefetchControl + "'>"; | |
| contents += "<link rel='dns-prefetch' href='http://" + host + "'>" + host; | |
| emitFrameWithContents(contents); | |
| } | |
| </script> | |
| <body> | |
| <p>This is a test of DNS prefetch control. It's considered a pass if it doesn't crash. It can also be used as | |
| a manual test of DNS prefetch using a networking monitoring tool.</p> | |
| <p>The following frames contain links that are expected to trigger a DNS prefetch.</p> | |
| <div> | |
| <script>emitFrameForManualDNSPrefetch("on")</script> | |
| <script>emitFrameForManualDNSPrefetch("off")</script> | |
| <script>emitFrameForScheme("http:")</script> | |
| <script>emitFrameForScheme("https:")</script> | |
| <script>emitFrameForScheme("ftp:")</script> | |
| <script>emitFrameForHost("%")</script> | |
| <iframe src="resources/dns-prefetch-control.php"></iframe> | |
| <iframe src="resources/dns-prefetch-control.php?value=on"></iframe> | |
| <iframe src="https://127.0.0.1:8443/misc/resources/dns-prefetch-control.php?value=on"></iframe> | |
| </div> | |
| <p style='clear: left'>The following frames contain links that are not expected to cause a DNS prefetch.</p> | |
| <div> | |
| <iframe src="resources/dns-prefetch-control.php?value=off"></iframe> | |
| <iframe src="resources/dns-prefetch-control.php?value=foo"></iframe> | |
| <iframe src="https://127.0.0.1:8443/misc/resources/dns-prefetch-control.php"></iframe> | |
| <iframe src="https://127.0.0.1:8443/misc/resources/dns-prefetch-control.php?value=off"></iframe> | |
| <iframe src="https://127.0.0.1:8443/misc/resources/dns-prefetch-control.php?value=foo"></iframe> | |
| <iframe src="data:text/html,<meta http-equiv='x-dns-prefetch-control' value='off'><iframe src='http://127.0.0.1:8000/misc/resources/dns-prefetch-control.php'></iframe>"></iframe> | |
| <iframe src="data:text/html,<meta http-equiv='x-dns-prefetch-control' value='on'><iframe src='https://127.0.0.1:8443/misc/resources/dns-prefetch-control.php'></iframe>"></iframe> | |
| </div> | |
| </body> | |
| </html> |