forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			61 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE HTML>
 | |
| <html>
 | |
|   <head>
 | |
|     <title>Bug 1045891</title>
 | |
|   </head>
 | |
|   <body>
 | |
|     <iframe id="testframe"> </iframe>
 | |
|   <script type="text/javascript">
 | |
|     page_id = window.location.hash.substring(1);
 | |
| 
 | |
|     function executeTest(ev) {
 | |
|       testframe = document.getElementById('testframe');
 | |
|       testframe.contentWindow.postMessage({id:page_id, message:"execute"}, 'http://mochi.test:8888');
 | |
|     }
 | |
| 
 | |
|     function reportError(ev) {
 | |
|       window.parent.postMessage({id:page_id, message:"blocked"}, 'http://mochi.test:8888');
 | |
|       cleanup();
 | |
|     }
 | |
| 
 | |
|     function recvMessage(ev) {
 | |
|       if (ev.data.id == page_id) {
 | |
|         window.parent.postMessage({id:ev.data.id, message:ev.data.message}, 'http://mochi.test:8888');
 | |
|         cleanup();
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     function cleanup() {
 | |
|       testframe = document.getElementById('testframe');
 | |
|       window.removeEventListener('message', recvMessage);
 | |
|       testframe.removeEventListener('load', executeTest);
 | |
|       testframe.removeEventListener('error', reportError);
 | |
|     }
 | |
| 
 | |
| 
 | |
|     window.addEventListener('message', recvMessage);
 | |
| 
 | |
|     try {
 | |
|       // Please note that file_testserver.sjs?foo does not return a response.
 | |
|       // For testing purposes this is not necessary because we only want to check
 | |
|       // whether CSP allows or blocks the load.
 | |
|       src = "file_testserver.sjs";
 | |
|       src += "?file=" + escape("tests/dom/security/test/csp/file_child-src_inner_frame.html");
 | |
|       src += "#" + escape(page_id);
 | |
|       testframe = document.getElementById('testframe');
 | |
| 
 | |
|       testframe.addEventListener('load', executeTest);
 | |
|       testframe.addEventListener('error', reportError);
 | |
| 
 | |
|       testframe.src = src;
 | |
|     }
 | |
|     catch (e) {
 | |
|       if (e.message.match(/Failed to load script/)) {
 | |
|         window.parent.postMessage({id:page_id, message:"blocked"}, 'http://mochi.test:8888');
 | |
|       } else {
 | |
|         window.parent.postMessage({id:page_id, message:"exception"}, 'http://mochi.test:8888');
 | |
|       }
 | |
|     }
 | |
|   </script>
 | |
|   </body>
 | |
| </html>
 | 
