1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/tests/mochitest/storageevent/frameSessionStorageMasterEqual.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,67 @@ 1.4 +<html xmlns="http://www.w3.org/1999/xhtml"> 1.5 +<head> 1.6 +<title>master frame for event storage propagation</title> 1.7 + 1.8 +<script type="text/javascript" src="interOriginFrame.js"></script> 1.9 +<script type="text/javascript"> 1.10 + 1.11 +var currentStep = 1; 1.12 +var gotEvent = false; 1.13 + 1.14 +window.addEventListener("storage", function(event) 1.15 +{ 1.16 + gotEvent = true; 1.17 +}, false); 1.18 + 1.19 +function doStep() 1.20 +{ 1.21 + switch (currentStep) 1.22 + { 1.23 + // In step 2 we instantiate sessionStorage in the other frame 1.24 + case 1: 1.25 + // Must not fire (storage must be clear!) 1.26 + sessionStorage.clear(); 1.27 + // Must fire X:null->'1' 1.28 + sessionStorage.setItem("X", "1"); 1.29 + // Must fire X:'1'->'2' 1.30 + sessionStorage.setItem("X", "2"); 1.31 + // Must not fire 1.32 + sessionStorage.setItem("X", "2"); 1.33 + // Must fire X:'2'->null 1.34 + sessionStorage.removeItem("X"); 1.35 + // Must not fire 1.36 + sessionStorage.removeItem("X"); 1.37 + // Must not fire 1.38 + sessionStorage.removeItem("Y"); 1.39 + // Must fire X:null->'2' (we need something in the storage) 1.40 + sessionStorage.setItem("X", "2"); 1.41 + // Must fire null:null->null (one item has been erased) 1.42 + sessionStorage.clear(); 1.43 + // Must not fire 1.44 + sessionStorage.clear(); 1.45 + break; 1.46 + 1.47 + // Wait some time to let the async event be propagated 1.48 + case 11: 1.49 + is(gotEvent, false, "Expected no events"); 1.50 + return finishTest(); 1.51 + } 1.52 + 1.53 + // Increase by two to distinguish each test step order 1.54 + // in both master doStep and slave doStep functions. 1.55 + ++currentStep; 1.56 + ++currentStep; 1.57 + 1.58 + return true; 1.59 +} 1.60 + 1.61 +</script> 1.62 + 1.63 +</head> 1.64 + 1.65 +<body onload="postMsg('frame loaded');"> 1.66 + <iframe src="http://example.com:80/tests/dom/tests/mochitest/storageevent/frameSessionStorageSlaveEqual.html" 1.67 + name="slaveFrame"> 1.68 + </iframe> 1.69 +</body> 1.70 +</html>