<!
doctype html>
<
title>Mozilla Bug 490879</
title>
<
link rel=stylesheet href=
"/tests/SimpleTest/test.css">
<
script src=
"/tests/SimpleTest/SimpleTest.js"></
script>
<a href=
"https://bugzilla.mozilla.org/show_bug.cgi?id=490879"
target=
"_blank">Mozilla Bug 490879</a>
<
iframe id=
"i1" width=
"200" height=
"100" src=
"about:blank"></
iframe>
<
img id=
"i" src=
"green.png">
<
script>
async function runTest() {
function verifyContent() {
const kExpectedImgSpec =
"data:image/png;base64,";
var e = document.getElementById(
"i1");
var doc = e.contentDocument;
is(doc.getElementsByTagName(
"img")[0].src.substring(0, kExpectedImgSpec.length),
kExpectedImgSpec,
"The pasted image is a base64-encoded data: URI");
}
async function pasteInto() {
var e = document.getElementById(
"i1");
var doc = e.contentDocument;
doc.designMode =
"on";
doc.defaultView.focus();
var selection = doc.defaultView.getSelection();
selection.removeAllRanges();
selection.selectAllChildren(doc.
body);
selection.collapseToEnd();
let
input = new Promise(resolve => {
doc.
body.addEventListener(
"input", resolve, {once: true})
});
SpecialPowers.doCommand(window,
"cmd_paste");
info(
"Waiting for input event");
await
input;
}
function copyToClipBoard() {
SpecialPowers.setCommandNode(window, document.getElementById(
"i"));
SpecialPowers.doCommand(window,
"cmd_copyImageContents");
}
copyToClipBoard();
await pasteInto();
verifyContent();
SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
addLoadEvent(runTest);
</
script>