gecko-dev/dom/browser-element/mochitest/browserElement_NextPaint.js
Justin Lebar 4ca15feade Bug 852847 - Part 2: Do things later in our browser-element tests, thus avoiding doing things before the browser-element machinery has loaded. r=kk1ff
Also set network.disable.ipc.security to true and leave it that way. This prevents security errors in the tests which happen when we pop the pref.

--HG--
extra : rebase_source : 95f7ca7c3b71cdc0e3e6fd1cfb663a5653f3ab6f
2013-03-28 15:51:10 -04:00

45 lines
1.3 KiB
JavaScript

/* Any copyright is dedicated to the public domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Bug 808231 - Add mozbrowsernextpaint event.
"use strict";
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
function runTest() {
var iframe = document.createElement('iframe');
SpecialPowers.wrap(iframe).mozbrowser = true;
document.body.appendChild(iframe);
// Add a first listener that we'll remove shortly after.
iframe.addNextPaintListener(wrongListener);
var gotFirstNextPaintEvent = false;
iframe.addNextPaintListener(function () {
ok(!gotFirstNextPaintEvent, 'got the first nextpaint event');
// Make sure we're only called once.
gotFirstNextPaintEvent = true;
iframe.addNextPaintListener(function () {
info('got the second nextpaint event');
SimpleTest.finish();
});
// Force the iframe to repaint.
SimpleTest.executeSoon(function () iframe.src += '#next');
});
// Remove the first listener to make sure it's not called.
iframe.removeNextPaintListener(wrongListener);
iframe.src = 'file_browserElement_NextPaint.html';
}
function wrongListener() {
ok(false, 'first listener should have been removed');
}
addEventListener('testready', runTest);