Skip to content

Instantly share code, notes, and snippets.

@rpl
Created April 13, 2016 13:52
Show Gist options
  • Select an option

  • Save rpl/222183b73c6ef23a035750a099f1214f to your computer and use it in GitHub Desktop.

Select an option

Save rpl/222183b73c6ef23a035750a099f1214f to your computer and use it in GitHub Desktop.
wait for blocked or loaded image
let blockedImagePromise = new Promise((resolve, reject) => {
let blockedImage = document.createElement("img");
blockedImage.setAttribute("src", "http://example.com/tests/toolkit/components/extensions/test/mochitest/file_image_bad.png");
let errorListener = () => {
browser.test.succeed("img got blocked as expected");
cleanupListeners();
resolve();
};
let loadListener = () => {
browser.test.fail("img loaded unexpected");
cleanupListeners();
resolve();
};
let cleanupListeners = () => {
blockedImage.removeEventListener("load", loadListener);
blockedImage.removeEventListener("error", errorListener);
}
blockedImage.addEventListener("load", loadListener);
blockedImage.addEventListener("error", errorListener);
document.body.appendChild(blockedImage);
});
blockedImagePromise.then(() => {
browser.runtime.sendMessage("image-blocked");
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment