mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-03 18:47:53 +00:00
a1708052cd
Keeping the pref as signed, since the existing code explicitly handles that case, so someone may have -1 as the pref value. Differential Revision: https://phabricator.services.mozilla.com/D132020
33 lines
984 B
HTML
33 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>
|