1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/tests/mochitest/storageevent/frameLocalStorageMaster.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,63 @@ 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 + case 1: 1.24 + // Must not fire (storage must be clear!) 1.25 + localStorage.clear(); 1.26 + // Must fire X:null->'1' 1.27 + localStorage.setItem("X", "1"); 1.28 + // Must fire X:'1'->'2' 1.29 + localStorage.setItem("X", "2"); 1.30 + // Must not fire 1.31 + localStorage.setItem("X", "2"); 1.32 + // Must fire X:'2'->null 1.33 + localStorage.removeItem("X"); 1.34 + // Must not fire 1.35 + localStorage.removeItem("X"); 1.36 + // Must not fire 1.37 + localStorage.removeItem("Y"); 1.38 + // Must fire X:null->'2' (we need something in the storage) 1.39 + localStorage.setItem("X", "2"); 1.40 + // Must fire null:null->null (one item has been erased) 1.41 + localStorage.clear(); 1.42 + // Must not fire 1.43 + localStorage.clear(); 1.44 + break; 1.45 + 1.46 + // Wait some time to let the async event be propagated 1.47 + case 11: 1.48 + is(gotEvent, false, "Expected no events"); 1.49 + return finishTest(); 1.50 + } 1.51 + 1.52 + // Increase by two to distinguish each test step order 1.53 + // in both master doStep and slave doStep functions. 1.54 + ++currentStep; 1.55 + ++currentStep; 1.56 + 1.57 + return true; 1.58 +} 1.59 + 1.60 +</script> 1.61 + 1.62 +</head> 1.63 + 1.64 +<body onload="postMsg('frame loaded');"> 1.65 +</body> 1.66 +</html>