1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/toolkit/devtools/server/tests/browser/storage-dynamic-windows.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,90 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<!-- 1.7 +Bug 965872 - Storage inspector actor with cookies, local storage and session storage. 1.8 +--> 1.9 +<head> 1.10 + <meta charset="utf-8"> 1.11 + <title>Storage inspector test for listing hosts and storages</title> 1.12 +</head> 1.13 +<body> 1.14 +<iframe src="http://sectest1.example.org/browser/toolkit/devtools/server/tests/browser/storage-unsecured-iframe.html"></iframe> 1.15 +<script type="application/javascript;version=1.7"> 1.16 + 1.17 +var partialHostname = location.hostname.match(/^[^.]+(\..*)$/)[1]; 1.18 +var cookieExpiresTime1 = 2000000000000; 1.19 +var cookieExpiresTime2 = 2000000001000; 1.20 +// Setting up some cookies to eat. 1.21 +document.cookie = "c1=foobar; expires=" + 1.22 + new Date(cookieExpiresTime1).toGMTString() + "; path=/browser"; 1.23 +document.cookie = "cs2=sessionCookie; path=/; domain=" + partialHostname; 1.24 +document.cookie = "c3=foobar-2; expires=" + 1.25 + new Date(cookieExpiresTime2).toGMTString() + "; path=/"; 1.26 +// ... and some local storage items .. 1.27 +localStorage.setItem("ls1", "foobar"); 1.28 +localStorage.setItem("ls2", "foobar-2"); 1.29 +// ... and finally some session storage items too 1.30 +sessionStorage.setItem("ss1", "foobar-3"); 1.31 + 1.32 +function success(event) { 1.33 + setupIDB.next(event); 1.34 +} 1.35 + 1.36 +window.idbGenerator = function*(callback) { 1.37 + let request = indexedDB.open("idb1", 1); 1.38 + request.onupgradeneeded = success; 1.39 + request.onerror = function(e) { 1.40 + throw new Error("error opening db connection"); 1.41 + }; 1.42 + let event = yield undefined; 1.43 + let db = event.target.result; 1.44 + let store1 = db.createObjectStore("obj1", { keyPath: "id" }); 1.45 + store1.createIndex("name", "name", { unique: false }); 1.46 + store1.createIndex("email", "email", { unique: true }); 1.47 + let store2 = db.createObjectStore("obj2", { keyPath: "id2" }); 1.48 + 1.49 + store1.add({id: 1, name: "foo", email: "foo@bar.com"}).onsuccess = success; 1.50 + yield undefined; 1.51 + store1.add({id: 2, name: "foo2", email: "foo2@bar.com"}).onsuccess = success; 1.52 + yield undefined; 1.53 + store1.add({id: 3, name: "foo2", email: "foo3@bar.com"}).onsuccess = success; 1.54 + yield undefined; 1.55 + store2.add({id2: 1, name: "foo", email: "foo@bar.com", extra: "baz"}).onsuccess = success; 1.56 + yield undefined; 1.57 + 1.58 + store1.transaction.oncomplete = success; 1.59 + yield undefined; 1.60 + db.close(); 1.61 + 1.62 + request = indexedDB.open("idb2", 1); 1.63 + request.onupgradeneeded = success; 1.64 + event = yield undefined; 1.65 + 1.66 + let db2 = event.target.result; 1.67 + let store3 = db2.createObjectStore("obj3", { keyPath: "id3" }); 1.68 + store3.createIndex("name2", "name2", { unique: true }); 1.69 + store3.transaction.oncomplete = success; 1.70 + yield undefined; 1.71 + db2.close(); 1.72 + console.log("added cookies and stuff from main page"); 1.73 + callback(); 1.74 +} 1.75 + 1.76 +function successClear(event) { 1.77 + clearIterator.next(event); 1.78 +} 1.79 + 1.80 +window.clear = function*(callback) { 1.81 + document.cookie = "c1=; expires=Thu, 01 Jan 1970 00:00:00 GMT"; 1.82 + document.cookie = "c3=; expires=Thu, 01 Jan 1970 00:00:00 GMT"; 1.83 + localStorage.clear(); 1.84 + indexedDB.deleteDatabase("idb1").onsuccess = successClear; 1.85 + yield undefined; 1.86 + indexedDB.deleteDatabase("idb2").onsuccess = successClear; 1.87 + yield undefined; 1.88 + console.log("removed cookies and stuff from main page"); 1.89 + callback(); 1.90 +} 1.91 +</script> 1.92 +</body> 1.93 +</html>