1 <html manifest="resources/online-whitelist.manifest"> 2 <body> 3 <p>Test online whitelist functionality. Should say PASS:</p> 4 5 <div id="result"></div> 6 <script> 7 if (window.layoutTestController) { 8 layoutTestController.dumpAsText() 9 layoutTestController.waitUntilDone(); 10 } 11 12 function log(message) 13 { 14 document.getElementById("result").innerHTML += message + "<br>"; 15 } 16 17 var hadError = false; 18 19 function canLoad(url) 20 { 21 try { 22 var req = new XMLHttpRequest(); 23 req.open("GET", url, false); 24 req.send(""); 25 return true; 26 } catch (e) { 27 return false; 28 } 29 } 30 31 function load(url) 32 { 33 try { 34 var req = new XMLHttpRequest(); 35 req.open("GET", url, false); 36 req.send(""); 37 return req.responseText; 38 } catch (ex) { 39 alert("Unexpected error loading " + url + ": " + ex); 40 hadError = true; 41 } 42 } 43 44 function test() 45 { 46 if (load("resources/counter.php?cached") != load("resources/counter.php?cached")) { 47 log("FAIL: Explicit entry didn't override online whitelist."); 48 hadError = true; 49 } 50 51 if (load("resources/counter.php?uncached") == load("resources/counter.php?uncached")) { 52 log("FAIL: Online whitelist resource wasn't reloaded from network."); 53 hadError = true; 54 } 55 56 if (load("resources/counter.php?uncachedxxx") == load("resources/counter.php?uncachedxxx")) { 57 log("FAIL: Online whitelist resource wasn't reloaded from network (prefix matching)."); 58 hadError = true; 59 } 60 61 if (canLoad("resources/counter.php?foobar")) { 62 log("FAIL: Uncached resource was successfully loaded."); 63 hadError = true; 64 } 65 66 log(hadError ? "FAIL" : "PASS"); 67 68 if (window.layoutTestController) 69 layoutTestController.notifyDone(); 70 } 71 72 applicationCache.addEventListener('cached', test, false); 73 applicationCache.addEventListener('noupdate', test, false); 74 75 </script> 76 </body> 77 </html> 78