diff options
Diffstat (limited to 'LayoutTests/storage/domstorage/localstorage/resources')
3 files changed, 72 insertions, 0 deletions
diff --git a/LayoutTests/storage/domstorage/localstorage/resources/clearLocalStorage.js b/LayoutTests/storage/domstorage/localstorage/resources/clearLocalStorage.js new file mode 100644 index 0000000..418d000 --- /dev/null +++ b/LayoutTests/storage/domstorage/localstorage/resources/clearLocalStorage.js @@ -0,0 +1,12 @@ +function clearLocalStorage() +{ + var keys = new Array(); + for (key in localStorage) + keys.push(key); + + for (key in keys) + localStorage.removeItem(keys[key]); +} + +if (window.localStorage) + clearLocalStorage(); diff --git a/LayoutTests/storage/domstorage/localstorage/resources/iframe-events-second.html b/LayoutTests/storage/domstorage/localstorage/resources/iframe-events-second.html new file mode 100644 index 0000000..2ab8ba1 --- /dev/null +++ b/LayoutTests/storage/domstorage/localstorage/resources/iframe-events-second.html @@ -0,0 +1,24 @@ +<html> +<head> +<script> +function handleStorageEvent(e) +{ + parent.log("Subframe received storage event:"); + parent.log("Key - " + e.key); + parent.log("New Value - " + e.newValue); + parent.log("Old Value - " + e.oldValue); + parent.log("URI - " + parent.normalizeURL(e.uri)); + parent.log("Storage Area - " + ((e.storageArea == window.localStorage) ? "This window's window.localStorage" : "Another window's window.localStorage")); + parent.log(""); + + if (e.key != "Subframe") { + parent.log("Subframe about to change localStorage..."); + localStorage.setItem("Subframe", "SET"); + } +} +</script> +</head> +<body onload="window.addEventListener('storage', handleStorageEvent, false);"> +This is the subframe which exists to make sure that both frames of a same security origin receive the event for that origin's localStorage object mutating +</body> +</html> diff --git a/LayoutTests/storage/domstorage/localstorage/resources/window-open-second.html b/LayoutTests/storage/domstorage/localstorage/resources/window-open-second.html new file mode 100644 index 0000000..f944d71 --- /dev/null +++ b/LayoutTests/storage/domstorage/localstorage/resources/window-open-second.html @@ -0,0 +1,36 @@ +<html> +<head> +<script> + +var secondWindowLog = "Logging from second window:<br>"; + +function log(a) +{ + secondWindowLog += a + "<br>"; +} + +function runTest() +{ + if (!window.localStorage) { + log("window.localStorage DOES NOT exist"); + return; + } + + log("Value for FOO is " + window.localStorage.getItem("FOO")); + window.localStorage.setItem("FOO", "BAR-NEWWINDOW"); + log("Value for FOO after changing my own copy is " + window.localStorage.getItem("FOO")); + + log("Value for FOO in my opening window is " + window.opener.localStorage.getItem("FOO")); + + window.opener.log(secondWindowLog); + + if (window.layoutTestController) + layoutTestController.notifyDone(); +} + +</script> +</head> +<body onload="runTest();"> +This is a new window to make sure the localStorage object for an origin is shared between multiple windows.<br> +</body> +</html> |