| if (window.layoutTestController) { |
| layoutTestController.dumpAsText(); |
| layoutTestController.waitUntilDone(); |
| } |
| |
| iframe = document.createElement("IFRAME"); |
| iframe.src = "about:blank"; |
| document.body.appendChild(iframe); |
| iframe.contentWindow.document.body.innerText = "Nothing to see here."; |
| |
| storageEventList = new Array(); |
| iframe.contentWindow.onstorage = function (e) { |
| window.parent.storageEventList.push(e); |
| } |
| |
| function runAfterStorageEvents(callback) { |
| var currentCount = storageEventList.length; |
| function onTimeout() { |
| if (currentCount != storageEventList.length) |
| runAfterStorageEvents(callback); |
| else |
| callback(); |
| } |
| setTimeout(onTimeout, 0); |
| } |
| |
| function testStorages(testCallback) |
| { |
| // When we're done testing LocalStorage, this is run. |
| function allDone() |
| { |
| debug(""); |
| debug(""); |
| window.successfullyParsed = true; |
| isSuccessfullyParsed(); |
| debug(""); |
| if (window.layoutTestController) |
| layoutTestController.notifyDone() |
| } |
| |
| // When we're done testing with SessionStorage, this is run. |
| function runLocalStorage() |
| { |
| debug(""); |
| debug(""); |
| testCallback("localStorage", allDone); |
| } |
| |
| // First run the test with SessionStorage. |
| testCallback("sessionStorage", runLocalStorage); |
| } |