gecko/modules/libpr0n/test/browser/head.js
2010-09-30 17:10:19 -07:00

44 lines
1.3 KiB
JavaScript

const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
const RELATIVE_DIR = "modules/libpr0n/test/browser/";
const TESTROOT = "http://example.com/browser/" + RELATIVE_DIR;
const TESTROOT2 = "http://example.org/browser/" + RELATIVE_DIR;
var chrome_root = getRootDirectory(gTestPath);
const CHROMEROOT = chrome_root;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
function getImageLoading(doc, id) {
var htmlImg = doc.getElementById(id);
return htmlImg.QueryInterface(Ci.nsIImageLoadingContent);
}
// Tries to get the Moz debug image, imgIContainerDebug. Only works
// in a debug build. If we succeed, we call func().
function actOnMozImage(doc, id, func) {
var imgContainer = getImageLoading(doc, id).getRequest(Ci.nsIImageLoadingContent.CURRENT_REQUEST).image;
var mozImage;
try {
mozImage = imgContainer.QueryInterface(Ci.imgIContainerDebug);
}
catch (e) {
return false;
}
func(mozImage);
return true;
}
function awaitImageContainer(doc, id, func) {
getImageLoading(doc, id).addObserver({
QueryInterface: XPCOMUtils.generateQI([Ci.imgIDecoderObserver]),
onStartContainer: function(aRequest, aContainer) {
getImageLoading(doc, id).removeObserver(this);
func(aContainer);
},
});
}