mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
68 lines
1.7 KiB
HTML
68 lines
1.7 KiB
HTML
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>master frame for event storage propagation</title>
|
|
|
|
<script type="text/javascript" src="interOriginFrame.js"></script>
|
|
<script type="text/javascript">
|
|
|
|
var currentStep = 1;
|
|
var gotEvent = false;
|
|
|
|
window.addEventListener("storage", function(event)
|
|
{
|
|
gotEvent = true;
|
|
}, false);
|
|
|
|
function doStep()
|
|
{
|
|
switch (currentStep)
|
|
{
|
|
// In step 2 we instantiate sessionStorage in the other frame
|
|
case 1:
|
|
// Must not fire (storage must be clear!)
|
|
sessionStorage.clear();
|
|
// Must fire X:null->'1'
|
|
sessionStorage.setItem("X", "1");
|
|
// Must fire X:'1'->'2'
|
|
sessionStorage.setItem("X", "2");
|
|
// Must not fire
|
|
sessionStorage.setItem("X", "2");
|
|
// Must fire X:'2'->null
|
|
sessionStorage.removeItem("X");
|
|
// Must not fire
|
|
sessionStorage.removeItem("X");
|
|
// Must not fire
|
|
sessionStorage.removeItem("Y");
|
|
// Must fire X:null->'2' (we need something in the storage)
|
|
sessionStorage.setItem("X", "2");
|
|
// Must fire null:null->null (one item has been erased)
|
|
sessionStorage.clear();
|
|
// Must not fire
|
|
sessionStorage.clear();
|
|
break;
|
|
|
|
// Wait some time to let the async event be propagated
|
|
case 11:
|
|
is(gotEvent, false, "Expected no events");
|
|
return finishTest();
|
|
}
|
|
|
|
// Increase by two to distinguish each test step order
|
|
// in both master doStep and slave doStep functions.
|
|
++currentStep;
|
|
++currentStep;
|
|
|
|
return true;
|
|
}
|
|
|
|
</script>
|
|
|
|
</head>
|
|
|
|
<body onload="postMsg('frame loaded');">
|
|
<iframe src="http://example.com:80/tests/dom/tests/mochitest/storageevent/frameSessionStorageSlaveEqual.html"
|
|
name="slaveFrame">
|
|
</iframe>
|
|
</body>
|
|
</html>
|