mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-16 23:05:42 +00:00
5283aecc5d
Currently, soft reload uses the `VALIDATE_ALWAYS` flag to not only force revalidate the top level document, but also subresources. This causes content to be refetched from the web even if there are caches that are still valid and can be used. Chrome already has such behaviour to not revalidate all resources. Differential Revision: https://phabricator.services.mozilla.com/D122270
89 lines
2.8 KiB
HTML
89 lines
2.8 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=497665
|
|
-->
|
|
<head>
|
|
<title>Test for Bug 497665</title>
|
|
<script type="application/javascript" src="/MochiKit/MochiKit.js"></script>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
</head>
|
|
<body>
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=497665">Mozilla Bug 497665</a>
|
|
<p id="display"></p>
|
|
<pre id="test">
|
|
<script type="application/javascript">
|
|
|
|
var image1first, image2first, image1second, image2second, image1third, image2third;
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
function checkFirst()
|
|
{
|
|
var iframeelem = document.getElementById('test-iframe');
|
|
var canvas = document.getElementById('canvas');
|
|
var ctx = canvas.getContext('2d');
|
|
|
|
var firstimg = iframeelem.contentDocument.getElementById('image1');
|
|
var secondimg = iframeelem.contentDocument.getElementById('image2');
|
|
ctx.drawImage(firstimg, 0, 0);
|
|
image1first = canvas.toDataURL();
|
|
ctx.drawImage(secondimg, 0, 0);
|
|
image2first = canvas.toDataURL();
|
|
|
|
ok(image1first == image2first, "We got different images, but shouldn't have.");
|
|
|
|
iframeelem.onload = checkForceReload;
|
|
iframeelem.contentWindow.location.reload(true);
|
|
}
|
|
|
|
function checkForceReload()
|
|
{
|
|
var iframeelem = document.getElementById('test-iframe');
|
|
var canvas = document.getElementById('canvas');
|
|
var ctx = canvas.getContext('2d');
|
|
|
|
var firstimg = iframeelem.contentDocument.getElementById('image1');
|
|
var secondimg = iframeelem.contentDocument.getElementById('image2');
|
|
ctx.drawImage(firstimg, 0, 0);
|
|
image1second = canvas.toDataURL();
|
|
ctx.drawImage(secondimg, 0, 0);
|
|
image2second = canvas.toDataURL();
|
|
|
|
ok(image1second == image2second, "We got different images after a force-reload, but shouldn't have.");
|
|
|
|
// Sanity check that we actually reloaded.
|
|
ok(image1first != image1second, "We got the same images after a force-reload.");
|
|
|
|
iframeelem.onload = checkReload;
|
|
iframeelem.contentWindow.location.reload(false);
|
|
}
|
|
|
|
function checkReload()
|
|
{
|
|
var iframeelem = document.getElementById('test-iframe');
|
|
var canvas = document.getElementById('canvas');
|
|
var ctx = canvas.getContext('2d');
|
|
|
|
var firstimg = iframeelem.contentDocument.getElementById('image1');
|
|
var secondimg = iframeelem.contentDocument.getElementById('image2');
|
|
ctx.drawImage(firstimg, 0, 0);
|
|
image1third = canvas.toDataURL();
|
|
ctx.drawImage(secondimg, 0, 0);
|
|
image2third = canvas.toDataURL();
|
|
|
|
ok(image1third == image2third, "We got different images after a reload, but shouldn't have.");
|
|
|
|
SimpleTest.finish();
|
|
}
|
|
|
|
</script>
|
|
</pre>
|
|
<div id="content"> <!-- style="display: none" -->
|
|
<canvas id="canvas" width="100" height="100"> </canvas>
|
|
<iframe id="test-iframe" src="bug497665-iframe.html" onload="checkFirst()"></iframe>
|
|
</div>
|
|
</body>
|
|
</html>
|