test_bug1450853.html (2614B)
1 <!DOCTYPE html> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=1450853 5 --> 6 <head> 7 <meta charset="utf-8"> 8 <title>Test for Cross-origin resouce status leak via MediaError</title> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <script src="/tests/SimpleTest/ChromeTask.js"></script> 11 <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/> 12 13 <audio autoplay id="audio"></audio> 14 15 <script type="application/javascript"> 16 17 /** Test for Bug 1450853 */ 18 var CONST_GENERIC_ERROR_MESSAGE = "Failed to open media"; 19 20 add_task(function() { 21 return new Promise((resolve) => { 22 let audioElement = document.getElementById("audio"); 23 24 audioElement.onerror = function() { 25 let err = this.error; 26 let message = err.message; 27 28 info(`Got Audio Error -> ${message}`); 29 ok(message.includes("404"), "Same-Origin Error Message should contain status data"); 30 resolve(); 31 }; 32 audioElement.src = "http://mochi.test:8888/media/test.mp3"; 33 }); 34 }); 35 36 add_task(function() { 37 return new Promise((resolve) => { 38 let audioElement = document.getElementById("audio"); 39 40 audioElement.onerror = function() { 41 let err = this.error; 42 let message = err.message; 43 44 info(`Got Audio Error -> ${message}`); 45 is(message, CONST_GENERIC_ERROR_MESSAGE, "Cross-Origin Same-Site Error Message should be generic"); 46 resolve(); 47 }; 48 audioElement.src = "http://mochi.test:9999/media/test.mp3"; 49 }); 50 }); 51 52 add_task(function() { 53 return new Promise((resolve) => { 54 let audioElement = document.getElementById("audio"); 55 56 audioElement.onerror = function() { 57 let err = this.error; 58 let message = err.message; 59 60 info(`Got Audio Error -> ${message}`); 61 is(message, CONST_GENERIC_ERROR_MESSAGE, "Cross-Origin Same-Site Error Message should be generic"); 62 resolve(); 63 }; 64 audioElement.src = "http://sub.mochi.test:8888/media/test.mp3"; 65 }); 66 }); 67 68 add_task(function() { 69 return new Promise((resolve) => { 70 let audioElement = document.getElementById("audio"); 71 72 audioElement.onerror = function() { 73 let err = this.error; 74 let message = err.message; 75 76 info(`Got Audio Error -> ${message}`); 77 is(message, CONST_GENERIC_ERROR_MESSAGE, "Cross-Origin Error Message should be generic"); 78 resolve(); 79 }; 80 audioElement.src = "https://example.com/media/test.mp3"; 81 }); 82 }); 83 84 </script> 85 </head> 86 87 <body> 88 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1450853">Mozilla Bug 1450853</a> 89 <iframe width="0" height="0"></iframe> 90 </body> 91 </html>