summaryrefslogtreecommitdiffstats
path: root/LayoutTests/storage/domstorage/localstorage/resources
diff options
context:
space:
mode:
Diffstat (limited to 'LayoutTests/storage/domstorage/localstorage/resources')
-rw-r--r--LayoutTests/storage/domstorage/localstorage/resources/clearLocalStorage.js12
-rw-r--r--LayoutTests/storage/domstorage/localstorage/resources/iframe-events-second.html24
-rw-r--r--LayoutTests/storage/domstorage/localstorage/resources/window-open-second.html36
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>