32 lines
984 B
HTML
32 lines
984 B
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Test the max size of the data parameter of push/replaceState</title>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
|
|
<script>
|
|
SimpleTest.waitForExplicitFinish();
|
|
function test() {
|
|
let tooLarge = SpecialPowers.getIntPref("browser.history.maxStateObjectSize");
|
|
let allowed = Math.floor(tooLarge / 2);
|
|
|
|
history.pushState(new Array(allowed).join("a"), "");
|
|
ok(true, "Adding a state should succeed.");
|
|
|
|
try {
|
|
history.pushState(new Array(tooLarge).join("a"), "");
|
|
ok(false, "Adding a too large state object should fail.");
|
|
} catch(ex) {
|
|
ok(true, "Adding a too large state object should fail.");
|
|
}
|
|
SimpleTest.finish();
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="test()">
|
|
<p id="display"></p>
|
|
<div id="content" style="display: none"></div>
|
|
<pre id="test"></pre>
|
|
</body>
|
|
</html>
|