mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 16:28:38 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
118
dom/html/test/test_srcdoc.html
Normal file
118
dom/html/test/test_srcdoc.html
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=802895
|
||||
-->
|
||||
<head>
|
||||
<title>Tests for srcdoc iframes introduced in bug 802895</title>
|
||||
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=802895">Mozilla Bug 802895</a>
|
||||
|
||||
<iframe id="pframe" src="file_srcdoc.html"></iframe>
|
||||
|
||||
<pre id="test">
|
||||
<script>
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
SimpleTest.requestFlakyTimeout("untriaged");
|
||||
var pframe = $("pframe");
|
||||
|
||||
var loadState = 0;
|
||||
pframe.contentWindow.addEventListener("load", function () {
|
||||
|
||||
var pframeDoc = pframe.contentDocument;
|
||||
|
||||
var iframe = pframeDoc.getElementById("iframe");
|
||||
var innerDoc = iframe.contentDocument;
|
||||
var iframe1 = pframeDoc.getElementById("iframe1");
|
||||
var innerDoc1 = iframe1.contentDocument;
|
||||
|
||||
var finish = false;
|
||||
var finish1 = false;
|
||||
var finish3 = false;
|
||||
|
||||
|
||||
|
||||
is(iframe.srcdoc, "Hello World", "Bad srcdoc attribute contents")
|
||||
|
||||
is(innerDoc.domain, document.domain, "Wrong domain");
|
||||
is(innerDoc.referrer, pframeDoc.referrer, "Wrong referrer");
|
||||
is(innerDoc.body.innerHTML, "Hello World", "Wrong body");
|
||||
is(innerDoc.compatMode, "CSS1Compat", "Not standards compliant");
|
||||
|
||||
is(innerDoc1.domain, document.domain, "Wrong domain with src attribute");
|
||||
is(innerDoc1.referrer, pframeDoc.referrer, "Wrong referrer with src attribute");
|
||||
is(innerDoc1.body.innerHTML, "Goodbye World", "Wrong body with src attribute")
|
||||
is(innerDoc1.compatMode, "CSS1Compat", "Not standards compliant with src attribute");
|
||||
|
||||
var iframe2 = pframeDoc.getElementById("iframe2");
|
||||
var innerDoc2 = iframe2.contentDocument;
|
||||
try {
|
||||
innerDoc2.domain;
|
||||
foundError = false;
|
||||
}
|
||||
catch (error) {
|
||||
foundError = true;
|
||||
}
|
||||
ok(foundError, "srcdoc iframe not sandboxed");
|
||||
|
||||
//Test changed srcdoc attribute
|
||||
iframe.onload = function () {
|
||||
|
||||
iframe = pframeDoc.getElementById("iframe");
|
||||
innerDoc = iframe.contentDocument;
|
||||
|
||||
is(iframe.srcdoc, "Hello again", "Bad srcdoc attribute contents with srcdoc attribute changed");
|
||||
is(innerDoc.domain, document.domain, "Wrong domain with srcdoc attribute changed");
|
||||
is(innerDoc.referrer, pframeDoc.referrer, "Wrong referrer with srcdoc attribute changed");
|
||||
is(innerDoc.body.innerHTML, "Hello again", "Wrong body with srcdoc attribute changed");
|
||||
is(innerDoc.compatMode, "CSS1Compat", "Not standards compliant with srcdoc attribute changed");
|
||||
|
||||
finish = true;
|
||||
if (finish && finish1 && finish3) {
|
||||
SimpleTest.finish();
|
||||
}
|
||||
};
|
||||
|
||||
iframe.srcdoc = "Hello again";
|
||||
|
||||
var iframe3 = pframeDoc.getElementById("iframe3");
|
||||
|
||||
// Test srcdoc attribute removal
|
||||
iframe3.onload = function () {
|
||||
var innerDoc3 = iframe3.contentDocument;
|
||||
is(innerDoc3.body.innerHTML, "Gone", "Bad srcdoc attribute removal");
|
||||
finish3 = true;
|
||||
if (finish && finish1 && finish3) {
|
||||
SimpleTest.finish();
|
||||
}
|
||||
}
|
||||
|
||||
iframe3.removeAttribute("srcdoc");
|
||||
|
||||
|
||||
var iframe1load = false;
|
||||
iframe1.onload = function () {
|
||||
iframe1load = true;
|
||||
}
|
||||
|
||||
iframe1.src = "data:text/plain;charset=US-ASCII,Goodbyeeee";
|
||||
|
||||
// Need to test that changing the src doesn't change the iframe.
|
||||
setTimeout(function () {
|
||||
ok(!iframe1load, "Changing src attribute shouldn't cause a load when srcdoc is set");
|
||||
finish1 = true;
|
||||
if (finish && finish1 && finish3) {
|
||||
SimpleTest.finish();
|
||||
}
|
||||
}, 2000);
|
||||
|
||||
}, false);
|
||||
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue