Backed out changeset 34d4a86530b4 (bug 1614462) Backed out changeset dbc2e2556d08 (bug 1614462) Backed out changeset 512bbab4730c (bug 1614462) Backed out changeset cd6b8d630f4c (bug 1614462) Backed out changeset e4ad5037658f (bug 1614462) Backed out changeset 0ffed1dc4296 (bug 1614462) Backed out changeset 90ed81cbfe34 (bug 1614462) Backed out changeset 6d2137eb1d52 (bug 1614462) Backed out changeset b4819c99e16e (bug 1614462) Backed out changeset b7deaed376ed (bug 1614462)
64 lines
1.6 KiB
JavaScript
64 lines
1.6 KiB
JavaScript
/* Any copyright is dedicated to the public domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
// Bug 741717 - Test the reload ability of <iframe mozbrowser>.
|
|
|
|
"use strict";
|
|
|
|
/* global browserElementTestHelpers */
|
|
/* eslint-env mozilla/frame-script */
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
browserElementTestHelpers.setEnabledPref(true);
|
|
browserElementTestHelpers.addPermission();
|
|
|
|
var iframeScript = function() {
|
|
sendAsyncMessage("test:innerHTML", {
|
|
data: XPCNativeWrapper.unwrap(content).document.body.innerHTML,
|
|
});
|
|
};
|
|
|
|
var mm;
|
|
var iframe;
|
|
var loadedEvents = 0;
|
|
var countAcc;
|
|
|
|
function runTest() {
|
|
iframe = document.createElement("iframe");
|
|
iframe.setAttribute("mozbrowser", "true");
|
|
|
|
iframe.addEventListener("mozbrowserloadend", mozbrowserLoaded);
|
|
|
|
iframe.src = "file_bug741717.sjs";
|
|
document.body.appendChild(iframe);
|
|
}
|
|
|
|
function iframeBodyRecv(data) {
|
|
data = SpecialPowers.wrap(data);
|
|
var previousCount = countAcc;
|
|
var currentCount = parseInt(data.json.data, 10);
|
|
countAcc = currentCount;
|
|
switch (loadedEvents) {
|
|
case 1:
|
|
iframe.reload();
|
|
break;
|
|
case 2:
|
|
ok(true, "reload was triggered");
|
|
ok(previousCount === currentCount, "reload was a soft reload");
|
|
iframe.reload(true);
|
|
break;
|
|
case 3:
|
|
ok(currentCount > previousCount, "reload was a hard reload");
|
|
SimpleTest.finish();
|
|
}
|
|
}
|
|
|
|
function mozbrowserLoaded() {
|
|
loadedEvents++;
|
|
mm = SpecialPowers.getBrowserFrameMessageManager(iframe);
|
|
mm.addMessageListener("test:innerHTML", iframeBodyRecv);
|
|
mm.loadFrameScript("data:,(" + iframeScript.toString() + ")();", false);
|
|
}
|
|
|
|
addEventListener("testready", runTest);
|