gecko-dev/dom/base/test/test_bug419527.xhtml
Boris Zbarsky bc348929b6 Bug 1515582. Remove the separate XBL scope setup. r=bholley
With these changes, XBL just runs in the window scope of whatever document it's
attached to.  Since (outside of tests and "remote XUL") we no longer attach XBL
to web documents, this is fine.  And "remote XUL" already ran without the XBL
scope.

Native anonymous content, which used to be placed in the XBL scope to hide it
from the page, is now placed in the unprivileged junk scope, so it stays hidden
from the page.

dom/xbl/test/test_bug944407.xul is being removed because we are changing the
behavior it's trying to test for.  Since we now always put the XBL in the same
scope as the page, script is enabled for the XBL if and only if it's enabled for
the page.

dom/base/test/test_bug419527.xhtml, dom/events/test/test_bug391568.xhtml,
dom/xbl/test/test_bug1086996.xhtml are being switched to a chrome test because
otherwise the XBL can't see the getAnonymousNodes method.

All the XBL bits are being removed from test_interfaces because we no longer
have a separate XBL scope to test the behavior of.

js/xpconnect/tests/mochitest/test_nac.xhtml is being removed because XBL no
longer has access to NAC unless the page it's attached to does too, so the test
doesn't really make sense.

layout/xul/test/test_bug1197913.xul is being switched to a chrome test because
its XUL elements use bindings that rely on APIs that are not exposed to normal
web content.

layout/reftests/bugs/495385-2f.xhtml is being removed because I can't think of
a sane way to test that in the new world, short of running the reftest as
chrome.  And it doesn't seem worthwhile to look for a way to do that.

dom/xbl/test/test_bug1098628_throw_from_construct.xhtml now needs to
expectUncaughtException(), because the exception is now being thrown in Window
scope.

dom/xbl/test/test_bug1359859.xhtml needs to expectUncaughtException() as needed
and not use XPCNativeWrapper (which it doesn't need to anyway now).

dom/xbl/test/test_bug389322.xhtml, dom/xbl/test/test_bug400705.xhtml,
dom/xbl/test/test_bug401907.xhtml, dom/xbl/test/test_bug403162.xhtml,
dom/xbl/test/test_bug526178.xhtml, dom/xbl/test/test_bug639338.xhtml don't need
to use XPCNativeWrapper anymore.

dom/xbl/test/test_bug821850.html is being removed because it exists only to test XBL scopes.

dom/xbl/test/file_bug950909.xml is being changed to work without a separate XBL
scope (though whether the test still makes sense at that point is a bit questionable).

Differential Revision: https://phabricator.services.mozilla.com/D19260

--HG--
extra : moz-landing-system : lando
2019-02-11 21:51:47 +00:00

75 lines
2.4 KiB
HTML

<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=419527
-->
<head>
<title>Test for Bug 419527</title>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
<bindings xmlns="http://www.mozilla.org/xbl"
xmlns:html="http://www.w3.org/1999/xhtml">
<binding id="rangebinding">
<content><html:span>Foo</html:span>
</content>
<implementation>
<constructor>
var win = window;
var span = document.getAnonymousNodes(this)[0];
win.ok(span.localName == "span", "Wrong anon node!");
var range = document.createRange();
range.selectNode(span.firstChild);
win.ok(range.startContainer == span, "Wrong start container!");
win.ok(range.endContainer == span, "Wrong end container!");
var newSubTree = win.newSubTree;
newSubTree.appendChild(this);
range.setStart(newSubTree.firstChild, 0);
win.ok(range.startContainer == newSubTree.firstChild,
"Range should have been collapsed to newSubTree.firstChild!");
win.ok(range.endContainer == newSubTree.firstChild,
"Range should have been collapsed to newSubTree.firstChild!");
//XXX This should just call SimpleTest.finish(), bugs 478528, 499735.
setTimeout(win.finish, 0);
</constructor>
</implementation>
</binding>
</bindings>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=419527">Mozilla Bug 419527</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
<![CDATA[
/** Test for Bug 419527 **/
var d;
function runRangeTest() {
window.newSubTree = document.createElementNS("http://www.w3.org/1999/xhtml", "div");
newSubTree.appendChild(document.createElementNS("http://www.w3.org/1999/xhtml", "div"));
d = document.createElementNS("http://www.w3.org/1999/xhtml", "div");
d.style.MozBinding = "url('" + window.location + "#rangebinding" + "')";
document.body.appendChild(d);
}
function finish() {
SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
setTimeout(runRangeTest, 0);
]]>
</script>
</pre>
</body>
</html>