mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
19391253d9
--HG-- rename : content/xbl/src/XBLChildrenElement.cpp => dom/xbl/XBLChildrenElement.cpp rename : content/xbl/src/XBLChildrenElement.h => dom/xbl/XBLChildrenElement.h rename : content/xbl/builtin/android/jar.mn => dom/xbl/builtin/android/jar.mn rename : content/xbl/builtin/android/moz.build => dom/xbl/builtin/android/moz.build rename : content/xbl/builtin/android/platformHTMLBindings.xml => dom/xbl/builtin/android/platformHTMLBindings.xml rename : content/xbl/builtin/browser-base.inc => dom/xbl/builtin/browser-base.inc rename : content/xbl/builtin/editor-base.inc => dom/xbl/builtin/editor-base.inc rename : content/xbl/builtin/emacs/jar.mn => dom/xbl/builtin/emacs/jar.mn rename : content/xbl/builtin/emacs/moz.build => dom/xbl/builtin/emacs/moz.build rename : content/xbl/builtin/emacs/platformHTMLBindings.xml => dom/xbl/builtin/emacs/platformHTMLBindings.xml rename : content/xbl/builtin/input-fields-base.inc => dom/xbl/builtin/input-fields-base.inc rename : content/xbl/builtin/mac/jar.mn => dom/xbl/builtin/mac/jar.mn rename : content/xbl/builtin/mac/moz.build => dom/xbl/builtin/mac/moz.build rename : content/xbl/builtin/mac/platformHTMLBindings.xml => dom/xbl/builtin/mac/platformHTMLBindings.xml rename : content/xbl/builtin/moz.build => dom/xbl/builtin/moz.build rename : content/xbl/builtin/textareas-base.inc => dom/xbl/builtin/textareas-base.inc rename : content/xbl/builtin/unix/jar.mn => dom/xbl/builtin/unix/jar.mn rename : content/xbl/builtin/unix/moz.build => dom/xbl/builtin/unix/moz.build rename : content/xbl/builtin/unix/platformHTMLBindings.xml => dom/xbl/builtin/unix/platformHTMLBindings.xml rename : content/xbl/builtin/win/jar.mn => dom/xbl/builtin/win/jar.mn rename : content/xbl/builtin/win/moz.build => dom/xbl/builtin/win/moz.build rename : content/xbl/builtin/win/platformHTMLBindings.xml => dom/xbl/builtin/win/platformHTMLBindings.xml rename : content/xbl/crashtests/205735-1.xhtml => dom/xbl/crashtests/205735-1.xhtml rename : content/xbl/crashtests/223799-1.xul => dom/xbl/crashtests/223799-1.xul rename : content/xbl/crashtests/226744-1.xhtml => dom/xbl/crashtests/226744-1.xhtml rename : content/xbl/crashtests/232095-1.xul => dom/xbl/crashtests/232095-1.xul rename : content/xbl/crashtests/277523-1.xhtml => dom/xbl/crashtests/277523-1.xhtml rename : content/xbl/crashtests/277950-1.xhtml => dom/xbl/crashtests/277950-1.xhtml rename : content/xbl/crashtests/336744-1-inner.html => dom/xbl/crashtests/336744-1-inner.html rename : content/xbl/crashtests/336744-1.html => dom/xbl/crashtests/336744-1.html rename : content/xbl/crashtests/336960-1-inner.xhtml => dom/xbl/crashtests/336960-1-inner.xhtml rename : content/xbl/crashtests/336960-1.html => dom/xbl/crashtests/336960-1.html rename : content/xbl/crashtests/342954-1.xhtml => dom/xbl/crashtests/342954-1.xhtml rename : content/xbl/crashtests/342954-2-xbl.xml => dom/xbl/crashtests/342954-2-xbl.xml rename : content/xbl/crashtests/342954-2.xhtml => dom/xbl/crashtests/342954-2.xhtml rename : content/xbl/crashtests/368276-1.xhtml => dom/xbl/crashtests/368276-1.xhtml rename : content/xbl/crashtests/368641-1.xhtml => dom/xbl/crashtests/368641-1.xhtml rename : content/xbl/crashtests/378521-1.xhtml => dom/xbl/crashtests/378521-1.xhtml rename : content/xbl/crashtests/382376-1.xhtml => dom/xbl/crashtests/382376-1.xhtml rename : content/xbl/crashtests/382376-2.xhtml => dom/xbl/crashtests/382376-2.xhtml rename : content/xbl/crashtests/397596-1.xhtml => dom/xbl/crashtests/397596-1.xhtml rename : content/xbl/crashtests/404125-1.xhtml => dom/xbl/crashtests/404125-1.xhtml rename : content/xbl/crashtests/406900-1.xul => dom/xbl/crashtests/406900-1.xul rename : content/xbl/crashtests/406904-1.xhtml => dom/xbl/crashtests/406904-1.xhtml rename : content/xbl/crashtests/406904-2.xhtml => dom/xbl/crashtests/406904-2.xhtml rename : content/xbl/crashtests/415192-1.xul => dom/xbl/crashtests/415192-1.xul rename : content/xbl/crashtests/415301-1.xul => dom/xbl/crashtests/415301-1.xul rename : content/xbl/crashtests/418133-1.xhtml => dom/xbl/crashtests/418133-1.xhtml rename : content/xbl/crashtests/420233-1.xhtml => dom/xbl/crashtests/420233-1.xhtml rename : content/xbl/crashtests/421997-1.xhtml => dom/xbl/crashtests/421997-1.xhtml rename : content/xbl/crashtests/432813-1-xbl.xml => dom/xbl/crashtests/432813-1-xbl.xml rename : content/xbl/crashtests/432813-1.xhtml => dom/xbl/crashtests/432813-1.xhtml rename : content/xbl/crashtests/454820-1.html => dom/xbl/crashtests/454820-1.html rename : content/xbl/crashtests/460665-1.xhtml => dom/xbl/crashtests/460665-1.xhtml rename : content/xbl/crashtests/463511-1.xhtml => dom/xbl/crashtests/463511-1.xhtml rename : content/xbl/crashtests/464863-1.xhtml => dom/xbl/crashtests/464863-1.xhtml rename : content/xbl/crashtests/472260-1.xhtml => dom/xbl/crashtests/472260-1.xhtml rename : content/xbl/crashtests/477878-1.html => dom/xbl/crashtests/477878-1.html rename : content/xbl/crashtests/492978-1.xul => dom/xbl/crashtests/492978-1.xul rename : content/xbl/crashtests/493123-1.xhtml => dom/xbl/crashtests/493123-1.xhtml rename : content/xbl/crashtests/495354-1.xhtml => dom/xbl/crashtests/495354-1.xhtml rename : content/xbl/crashtests/507628-1.xhtml => dom/xbl/crashtests/507628-1.xhtml rename : content/xbl/crashtests/507991-1.xhtml => dom/xbl/crashtests/507991-1.xhtml rename : content/xbl/crashtests/830614-1.xul => dom/xbl/crashtests/830614-1.xul rename : content/xbl/crashtests/895805-1.xhtml => dom/xbl/crashtests/895805-1.xhtml rename : content/xbl/crashtests/crashtests.list => dom/xbl/crashtests/crashtests.list rename : content/xbl/crashtests/set-field-bad-this.xhtml => dom/xbl/crashtests/set-field-bad-this.xhtml rename : content/xbl/src/moz.build => dom/xbl/moz.build rename : content/xbl/src/nsBindingManager.cpp => dom/xbl/nsBindingManager.cpp rename : content/xbl/src/nsBindingManager.h => dom/xbl/nsBindingManager.h rename : content/xbl/src/nsXBLBinding.cpp => dom/xbl/nsXBLBinding.cpp rename : content/xbl/src/nsXBLBinding.h => dom/xbl/nsXBLBinding.h rename : content/xbl/src/nsXBLContentSink.cpp => dom/xbl/nsXBLContentSink.cpp rename : content/xbl/src/nsXBLContentSink.h => dom/xbl/nsXBLContentSink.h rename : content/xbl/src/nsXBLDocumentInfo.cpp => dom/xbl/nsXBLDocumentInfo.cpp rename : content/xbl/src/nsXBLDocumentInfo.h => dom/xbl/nsXBLDocumentInfo.h rename : content/xbl/src/nsXBLEventHandler.cpp => dom/xbl/nsXBLEventHandler.cpp rename : content/xbl/src/nsXBLEventHandler.h => dom/xbl/nsXBLEventHandler.h rename : content/xbl/src/nsXBLMaybeCompiled.h => dom/xbl/nsXBLMaybeCompiled.h rename : content/xbl/src/nsXBLProtoImpl.cpp => dom/xbl/nsXBLProtoImpl.cpp rename : content/xbl/src/nsXBLProtoImpl.h => dom/xbl/nsXBLProtoImpl.h rename : content/xbl/src/nsXBLProtoImplField.cpp => dom/xbl/nsXBLProtoImplField.cpp rename : content/xbl/src/nsXBLProtoImplField.h => dom/xbl/nsXBLProtoImplField.h rename : content/xbl/src/nsXBLProtoImplMember.h => dom/xbl/nsXBLProtoImplMember.h rename : content/xbl/src/nsXBLProtoImplMethod.cpp => dom/xbl/nsXBLProtoImplMethod.cpp rename : content/xbl/src/nsXBLProtoImplMethod.h => dom/xbl/nsXBLProtoImplMethod.h rename : content/xbl/src/nsXBLProtoImplProperty.cpp => dom/xbl/nsXBLProtoImplProperty.cpp rename : content/xbl/src/nsXBLProtoImplProperty.h => dom/xbl/nsXBLProtoImplProperty.h rename : content/xbl/src/nsXBLPrototypeBinding.cpp => dom/xbl/nsXBLPrototypeBinding.cpp rename : content/xbl/src/nsXBLPrototypeBinding.h => dom/xbl/nsXBLPrototypeBinding.h rename : content/xbl/src/nsXBLPrototypeHandler.cpp => dom/xbl/nsXBLPrototypeHandler.cpp rename : content/xbl/src/nsXBLPrototypeHandler.h => dom/xbl/nsXBLPrototypeHandler.h rename : content/xbl/src/nsXBLPrototypeResources.cpp => dom/xbl/nsXBLPrototypeResources.cpp rename : content/xbl/src/nsXBLPrototypeResources.h => dom/xbl/nsXBLPrototypeResources.h rename : content/xbl/src/nsXBLResourceLoader.cpp => dom/xbl/nsXBLResourceLoader.cpp rename : content/xbl/src/nsXBLResourceLoader.h => dom/xbl/nsXBLResourceLoader.h rename : content/xbl/src/nsXBLSerialize.cpp => dom/xbl/nsXBLSerialize.cpp rename : content/xbl/src/nsXBLSerialize.h => dom/xbl/nsXBLSerialize.h rename : content/xbl/src/nsXBLService.cpp => dom/xbl/nsXBLService.cpp rename : content/xbl/src/nsXBLService.h => dom/xbl/nsXBLService.h rename : content/xbl/src/nsXBLWindowKeyHandler.cpp => dom/xbl/nsXBLWindowKeyHandler.cpp rename : content/xbl/src/nsXBLWindowKeyHandler.h => dom/xbl/nsXBLWindowKeyHandler.h rename : content/xbl/test/bug310107-resource.xhtml => dom/xbl/test/bug310107-resource.xhtml rename : content/xbl/test/chrome.ini => dom/xbl/test/chrome.ini rename : content/xbl/test/file_bug372769.xhtml => dom/xbl/test/file_bug372769.xhtml rename : content/xbl/test/file_bug379959_cross.html => dom/xbl/test/file_bug379959_cross.html rename : content/xbl/test/file_bug379959_data.html => dom/xbl/test/file_bug379959_data.html rename : content/xbl/test/file_bug379959_xbl.xml => dom/xbl/test/file_bug379959_xbl.xml rename : content/xbl/test/file_bug397934.xhtml => dom/xbl/test/file_bug397934.xhtml rename : content/xbl/test/file_bug481558.xbl => dom/xbl/test/file_bug481558.xbl rename : content/xbl/test/file_bug481558css.sjs => dom/xbl/test/file_bug481558css.sjs rename : content/xbl/test/file_bug591198_inner.html => dom/xbl/test/file_bug591198_inner.html rename : content/xbl/test/file_bug591198_xbl.xml => dom/xbl/test/file_bug591198_xbl.xml rename : content/xbl/test/file_bug821850.xhtml => dom/xbl/test/file_bug821850.xhtml rename : content/xbl/test/file_bug844783.xhtml => dom/xbl/test/file_bug844783.xhtml rename : content/xbl/test/file_bug944407.html => dom/xbl/test/file_bug944407.html rename : content/xbl/test/file_bug944407.xml => dom/xbl/test/file_bug944407.xml rename : content/xbl/test/file_bug950909.html => dom/xbl/test/file_bug950909.html rename : content/xbl/test/file_bug950909.xml => dom/xbl/test/file_bug950909.xml rename : content/xbl/test/mochitest.ini => dom/xbl/test/mochitest.ini rename : content/xbl/test/moz.build => dom/xbl/test/moz.build rename : content/xbl/test/test_bug310107.html => dom/xbl/test/test_bug310107.html rename : content/xbl/test/test_bug366770.html => dom/xbl/test/test_bug366770.html rename : content/xbl/test/test_bug371724.xhtml => dom/xbl/test/test_bug371724.xhtml rename : content/xbl/test/test_bug372769.html => dom/xbl/test/test_bug372769.html rename : content/xbl/test/test_bug378518.xul => dom/xbl/test/test_bug378518.xul rename : content/xbl/test/test_bug378866.xhtml => dom/xbl/test/test_bug378866.xhtml rename : content/xbl/test/test_bug379959.html => dom/xbl/test/test_bug379959.html rename : content/xbl/test/test_bug389322.xhtml => dom/xbl/test/test_bug389322.xhtml rename : content/xbl/test/test_bug397934.html => dom/xbl/test/test_bug397934.html rename : content/xbl/test/test_bug398135.xul => dom/xbl/test/test_bug398135.xul rename : content/xbl/test/test_bug398492.xul => dom/xbl/test/test_bug398492.xul rename : content/xbl/test/test_bug400705.xhtml => dom/xbl/test/test_bug400705.xhtml rename : content/xbl/test/test_bug401907.xhtml => dom/xbl/test/test_bug401907.xhtml rename : content/xbl/test/test_bug403162.xhtml => dom/xbl/test/test_bug403162.xhtml rename : content/xbl/test/test_bug468210.xhtml => dom/xbl/test/test_bug468210.xhtml rename : content/xbl/test/test_bug481558.html => dom/xbl/test/test_bug481558.html rename : content/xbl/test/test_bug526178.xhtml => dom/xbl/test/test_bug526178.xhtml rename : content/xbl/test/test_bug542406.xhtml => dom/xbl/test/test_bug542406.xhtml rename : content/xbl/test/test_bug591198.html => dom/xbl/test/test_bug591198.html rename : content/xbl/test/test_bug639338.xhtml => dom/xbl/test/test_bug639338.xhtml rename : content/xbl/test/test_bug721452.xul => dom/xbl/test/test_bug721452.xul rename : content/xbl/test/test_bug723676.xul => dom/xbl/test/test_bug723676.xul rename : content/xbl/test/test_bug772966.xul => dom/xbl/test/test_bug772966.xul rename : content/xbl/test/test_bug790265.xhtml => dom/xbl/test/test_bug790265.xhtml rename : content/xbl/test/test_bug821850.html => dom/xbl/test/test_bug821850.html rename : content/xbl/test/test_bug844783.html => dom/xbl/test/test_bug844783.html rename : content/xbl/test/test_bug944407.xul => dom/xbl/test/test_bug944407.xul rename : content/xbl/test/test_bug950909.xul => dom/xbl/test/test_bug950909.xul extra : rebase_source : 44ab05088f70826c70dee3af30221e628ec1e4e8
182 lines
5.5 KiB
HTML
182 lines
5.5 KiB
HTML
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=372769
|
|
-->
|
|
<head>
|
|
<title>Test for Bug 372769</title>
|
|
<bindings xmlns="http://www.mozilla.org/xbl">
|
|
<binding id="test1">
|
|
<implementation>
|
|
<field name="one">1</field>
|
|
<field name="two">9</field>
|
|
<field name="three">3</field>
|
|
<field name="four">10</field>
|
|
<field name="five">11</field>
|
|
<field name="six">this.four = 4; 6;</field>
|
|
<field name="seven">this.five = 5; 7;</field>
|
|
</implementation>
|
|
</binding>
|
|
|
|
<binding id="test2">
|
|
<implementation>
|
|
<!-- Tests for recursive resolves -->
|
|
<field name="eight">this.eight</field>
|
|
<field name="nine">this.ten</field>
|
|
<field name="ten">this.nine</field>
|
|
<!-- Tests for non-DOM overrides -->
|
|
<field name="eleven">11</field>
|
|
<field name="twelve">12</field>
|
|
<!-- Tests for DOM overrides -->
|
|
<field name="parentNode">this.parentNode</field>
|
|
<field name="ownerDocument">"ownerDocument override"</field>
|
|
</implementation>
|
|
</binding>
|
|
|
|
<binding id="test3-ancestor">
|
|
<implementation>
|
|
<field name="thirteen">"13 ancestor"</field>
|
|
<field name="fourteen">"14 ancestor"</field>
|
|
<property name="fifteen" readonly="true" onget="return '15 ancestor'"/>
|
|
</implementation>
|
|
</binding>
|
|
|
|
<binding id="test3" extends="#test3-ancestor">
|
|
<implementation>
|
|
<field name="thirteen">13</field>
|
|
<field name="fifteen">15</field>
|
|
<field name="sixteen">16</field>
|
|
<field name="sixteen">"16 later"</field>
|
|
<field name="seventeen">17</field>
|
|
<field name="eighteen">"18 field"</field>
|
|
<property name="eighteen" readonly="true" onget="return 18"/>
|
|
<property name="nineteen" readonly="true" onget="return 19"/>
|
|
<field name="nineteen">"19 field"</field>
|
|
</implementation>
|
|
</binding>
|
|
|
|
<binding id="test4">
|
|
<implementation>
|
|
<field name="twenty">for (var i in this) ; 20;</field>
|
|
</implementation>
|
|
</binding>
|
|
|
|
<binding id="test5">
|
|
<implementation>
|
|
<field name="twenty-one">for (var i in this) ; 21;</field>
|
|
</implementation>
|
|
</binding>
|
|
</bindings>
|
|
</head>
|
|
<body>
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=372769">Mozilla Bug 372769</a>
|
|
<p id="display1" style="-moz-binding: url(#test1)"></p>
|
|
<p id="display2" style="-moz-binding: url(#test2)"></p>
|
|
<p id="display3" style="-moz-binding: url(#test3)"></p>
|
|
<p id="display4" style="-moz-binding: url(#test4)"></p>
|
|
<p id="display5" style="-moz-binding: url(#test5)"></p>
|
|
<div id="content" style="display: none">
|
|
|
|
</div>
|
|
<pre id="test">
|
|
<script class="testbody" type="text/javascript">
|
|
<![CDATA[
|
|
|
|
/** Test for Bug 372769 **/
|
|
|
|
SimpleTest = parent.SimpleTest;
|
|
ok = parent.ok;
|
|
is = parent.is;
|
|
$ = function(x) { return document.getElementById(x); }
|
|
|
|
window.onload = function() {
|
|
var d = $("display1");
|
|
is(d.one, 1, "Should be able to read field");
|
|
|
|
d.two = 2;
|
|
is(d.two, 2, "Should be able to write field");
|
|
|
|
is("three" in d, true, 'Should have a property named "three"');
|
|
is(d.three, 3, "Should be 3");
|
|
|
|
is(d.four, 10, "Unexpected value so far");
|
|
|
|
// Save "five" for now
|
|
|
|
is(d.six, 6, "Should be 6");
|
|
|
|
is(d.four, 4, "Now should be 4");
|
|
|
|
d.four = 9;
|
|
is(d.four, 9, "Just set it to 9");
|
|
|
|
var found = false;
|
|
for (var prop in d) {
|
|
if (prop == "seven") {
|
|
found = true;
|
|
break;
|
|
}
|
|
}
|
|
is(found, true, "Enumeration is broken");
|
|
|
|
is(d.four, 9, "Shouldn't have rerun field six");
|
|
is(d.five, 11, "Shouldn't have run field 7");
|
|
is(d.seven, 7, "Should be 7")
|
|
is(d.five, 5, "Should have run field 7");
|
|
|
|
d = $("display2");
|
|
is(typeof(d.eight), "undefined", "Recursive resolve should bail out");
|
|
is(typeof(d.nine), "undefined", "Recursive double resolve should bail out");
|
|
is(typeof(d.ten), "undefined",
|
|
"This recursive double resolve should bail out too");
|
|
|
|
// Get .eleven so it's resolved now
|
|
is(d.eleven, 11, "Unexpected value for .eleven");
|
|
var newProto = {};
|
|
newProto.eleven = "Proto 11";
|
|
newProto.twelve = "Proto 12";
|
|
newProto.__proto__ = d.__proto__;
|
|
d.__proto__ = newProto;
|
|
is(d.eleven, 11, "Proto should not have affected this");
|
|
is(d.twelve, "Proto 12", "Proto should have overridden 'twelve'");
|
|
|
|
is(d.parentNode, undefined, "We overrode this, yes we did");
|
|
is(typeof(d.parentNode), "undefined", "This is a recursive resolve too");
|
|
is(d.ownerDocument, "ownerDocument override",
|
|
"Should have overridden ownerDocument");
|
|
|
|
d = $("display3");
|
|
is(d.thirteen, 13, "descendant should win here");
|
|
is(d.fourteen, "14 ancestor",
|
|
"ancestor should win if descendant does nothing")
|
|
is(d.fifteen, 15,
|
|
"Field beats ancestor's property, since the latter lives on higher proto")
|
|
is(d.sixteen, 16, "First field wins");
|
|
is(d.__proto__.seventeen, undefined, "Shouldn't have this on proto");
|
|
is(typeof(d.__proto__.seventeen), "undefined",
|
|
"Really, should be undefined");
|
|
is(d.seventeen, 17, "Should have this prop on the node itself, though");
|
|
is(d.eighteen, 18, "Property beats field");
|
|
is(d.nineteen, 19, "Property still beats field");
|
|
|
|
d = $("display4");
|
|
is(d.twenty, 20, "Should be 20");
|
|
|
|
d = $("display5");
|
|
found = false;
|
|
for (var prop2 in d) {
|
|
if (prop2 == "twenty-one") {
|
|
found = true;
|
|
break;
|
|
}
|
|
}
|
|
is(found, true, "Enumeration is broken");
|
|
is(d["twenty-one"], 21, "Should be 21");
|
|
SimpleTest.finish();
|
|
}
|
|
]]>
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|
|
|