tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>