2007-04-29 21:58:52 +04:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
2011-06-09 19:10:12 +04:00
|
|
|
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
|
2007-04-29 21:58:52 +04:00
|
|
|
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
2014-04-04 21:11:12 +04:00
|
|
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
2007-04-29 21:58:52 +04:00
|
|
|
title="Test for Bug 233643">
|
|
|
|
<!--
|
|
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=233643
|
|
|
|
-->
|
2019-04-15 23:56:58 +03:00
|
|
|
<script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
|
2007-04-29 21:58:52 +04:00
|
|
|
|
|
|
|
<!-- NOTE: This testcase depends on the patch for bug 366770
|
|
|
|
(ability to apply bindings with data: URIs). -->
|
|
|
|
|
|
|
|
<!-- The data URI: below corresponds to:
|
|
|
|
<?xml version="1.0"?>
|
|
|
|
<bindings xmlns="http://www.mozilla.org/xbl"
|
|
|
|
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
|
|
|
<binding id="label">
|
|
|
|
<content>
|
|
|
|
<xul:label anonid="foo" style="display: none; color: green;" value="PASS"/>
|
|
|
|
</content>
|
|
|
|
<implementation>
|
|
|
|
<property name="fooDisplay">
|
|
|
|
<setter>document.getAnonymousElementByAttribute(this, "anonid", "foo").style.display = val;</setter>
|
|
|
|
<getter>return document.getAnonymousElementByAttribute(this, "anonid", "foo").style.display;</getter>
|
|
|
|
</property>
|
|
|
|
</implementation>
|
|
|
|
</binding>
|
|
|
|
</bindings>
|
|
|
|
-->
|
|
|
|
<html:style type="text/css">
|
|
|
|
foo {
|
|
|
|
-moz-binding: url(data:text/xml,%3C%3Fxml%20version%3D%221.0%22%3F%3E%0A%3Cbindings%20xmlns%3D%22http%3A//www.mozilla.org/xbl%22%0A%20%20%20%20%20%20%20%20%20%20xmlns%3Axul%3D%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%3E%0A%20%20%3Cbinding%20id%3D%22label%22%3E%0A%20%20%20%20%3Ccontent%3E%0A%20%20%20%20%20%20%3Cxul%3Alabel%20anonid%3D%22foo%22%20style%3D%22display%3A%20none%3B%20color%3A%20green%3B%22%20value%3D%22PASS%22/%3E%0A%20%20%20%20%3C/content%3E%0A%20%20%20%20%3Cimplementation%3E%0A%20%20%20%20%20%20%3Cproperty%20name%3D%22fooDisplay%22%3E%0A%20%20%20%20%20%20%20%20%3Csetter%3Edocument.getAnonymousElementByAttribute%28this%2C%20%22anonid%22%2C%20%22foo%22%29.style.display%20%3D%20val%3B%3C/setter%3E%0A%20%20%20%20%20%20%20%20%3Cgetter%3Ereturn%20document.getAnonymousElementByAttribute%28this%2C%20%22anonid%22%2C%20%22foo%22%29.style.display%3B%3C/getter%3E%0A%20%20%20%20%20%20%3C/property%3E%0A%20%20%20%20%3C/implementation%3E%0A%20%20%3C/binding%3E%0A%3C/bindings%3E);
|
|
|
|
}
|
|
|
|
</html:style>
|
|
|
|
<body xmlns="http://www.w3.org/1999/xhtml">
|
|
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=233643">Mozilla Bug 233643</a>
|
|
|
|
<p id="display">
|
|
|
|
<foo xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"/>
|
|
|
|
<foo xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"/>
|
|
|
|
</p>
|
|
|
|
<div id="content" style="display: none">
|
|
|
|
<script class="testbody" type="text/javascript">
|
|
|
|
<![CDATA[
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
|
|
|
|
function test_233643() {
|
|
|
|
var foos = document.getElementsByTagName("foo");
|
|
|
|
ok(foos.length == 2, "Found 2 <foo> elements");
|
|
|
|
|
|
|
|
// Make sure that the binding was applied successfully
|
|
|
|
ok(foos[0].fooDisplay !== undefined, "Binding applied");
|
|
|
|
|
|
|
|
// Show both both child elements by setting their display to "".
|
|
|
|
foos[0].fooDisplay = "";
|
|
|
|
foos[1].fooDisplay = "";
|
|
|
|
|
|
|
|
// Hide the second one. In a build with bug 233643, this hides both.
|
|
|
|
foos[1].fooDisplay = "none";
|
|
|
|
|
|
|
|
// Check that changing the second didn't affect the first.
|
|
|
|
ok(foos[0].fooDisplay != foos[1].fooDisplay, "XUL Element have their own style rules");
|
|
|
|
|
|
|
|
SimpleTest.finish();
|
|
|
|
}
|
|
|
|
|
|
|
|
function do_test() {
|
2011-04-16 02:26:50 +04:00
|
|
|
setTimeout(test_233643, 0);
|
2007-04-29 21:58:52 +04:00
|
|
|
}
|
|
|
|
addLoadEvent(do_test);
|
|
|
|
]]>
|
|
|
|
</script>
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</window>
|