| OLD | NEW |
| (Empty) | |
| 1 iframe = document.createElement("IFRAME"); |
| 2 iframe.src = "about:blank"; |
| 3 document.body.appendChild(iframe); |
| 4 iframe.contentWindow.document.body.textContent = "Nothing to see here."; |
| 5 |
| 6 storageEventList = new Array(); |
| 7 iframe.contentWindow.addEventListener("storage", function(e) { |
| 8 window.parent.storageEventList.push(e); |
| 9 }); |
| 10 |
| 11 function runAfterNStorageEvents(callback, expectedNumEvents) |
| 12 { |
| 13 countStorageEvents(callback, expectedNumEvents, 0) |
| 14 } |
| 15 |
| 16 function countStorageEvents(callback, expectedNumEvents, times) |
| 17 { |
| 18 function onTimeout() |
| 19 { |
| 20 var currentCount = storageEventList.length; |
| 21 if (currentCount == expectedNumEvents) { |
| 22 callback(); |
| 23 } else if (currentCount > expectedNumEvents) { |
| 24 msg = "got at least " + currentCount + ", expected only " + expected
NumEvents + " events"; |
| 25 callback(msg); |
| 26 } else if (times > 50) { |
| 27 msg = "Timeout: only got " + currentCount + ", expected " + expected
NumEvents + " events"; |
| 28 callback(msg); |
| 29 } else { |
| 30 countStorageEvents(callback, expectedNumEvents, times+1); |
| 31 } |
| 32 } |
| 33 setTimeout(onTimeout, 20); |
| 34 } |
| 35 |
| 36 function testStorages(testCallback) |
| 37 { |
| 38 testCallback("sessionStorage"); |
| 39 var hit = false; |
| 40 add_result_callback(function() { |
| 41 if (!hit) { |
| 42 hit = true; |
| 43 testCallback("localStorage"); |
| 44 } |
| 45 }); |
| 46 } |
| OLD | NEW |