mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
Bug 750808, move children element in label control binding, so that it doesn't get deleted when setting accesskey, r=neil
This commit is contained in:
parent
65c16f8e8d
commit
db82369f71
23
layout/reftests/xul/accesskey-ref.xul
Normal file
23
layout/reftests/xul/accesskey-ref.xul
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
||||
<?xml-stylesheet href="data:text/css,u { display: inline; text-decoration: underline; }" type="text/css"?>
|
||||
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<hbox align="start">
|
||||
<label control="b1"><u>L</u>abel1</label><textbox id="b1" size="2"/>
|
||||
<label control="b2">Labe<u>l</u>2</label><textbox id="b2" size="2"/>
|
||||
<label control="b3">La<u>b</u>el3</label><textbox id="b3" size="2"/>
|
||||
<label control="b4">Label4 (<u>X</u>)</label><textbox id="b4" size="2"/>
|
||||
<label control="b5" maxwidth="50">Quite a <u>l</u>ong label. Hopefully it will wrap</label><textbox id="b5" label="Button5" size="2"/>
|
||||
</hbox>
|
||||
|
||||
<hbox id="d" align="start">
|
||||
<label control="d1"><u>L</u>abel1</label><textbox id="d1" size="2"/>
|
||||
<label control="d2">Labe<u>l</u>2</label><textbox id="d2" size="2"/>
|
||||
<label control="d3">La<u>b</u>el3</label><textbox id="d3" size="2"/>
|
||||
<label control="d4">Label4 (<u>X</u>)</label><textbox id="d4" size="2"/>
|
||||
<label control="d5" maxwidth="50">Quite a <u>l</u>ong label. Hopefully it will wrap</label><textbox id="d5" size="2"/>
|
||||
</hbox>
|
||||
|
||||
</window>
|
43
layout/reftests/xul/accesskey.xul
Normal file
43
layout/reftests/xul/accesskey.xul
Normal file
@ -0,0 +1,43 @@
|
||||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
||||
|
||||
<!-- This test checks that access keys are rendered properly, both when set with the
|
||||
accesskey attribute in the markup and updated via script later.
|
||||
-->
|
||||
<window class="reftest-wait" onload="changeKeys()"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<script>
|
||||
<![CDATA[
|
||||
|
||||
var keys = ['L', 'l', 'b', 'x', 'l'];
|
||||
|
||||
function changeKeys()
|
||||
{
|
||||
var box = document.getElementById('d');
|
||||
for (var b = 0; b < 5; b++)
|
||||
box.childNodes[b * 2].accessKey = keys[b];
|
||||
|
||||
document.documentElement.className='';
|
||||
}
|
||||
|
||||
]]>
|
||||
</script>
|
||||
|
||||
<hbox align="start">
|
||||
<label control="b1">Label1</label><textbox id="b1" accesskey="L" size="2"/>
|
||||
<label control="b2">Label2</label><textbox id="b2" accesskey="l" size="2"/>
|
||||
<label control="b3">Label3</label><textbox id="b3" accesskey="b" size="2"/>
|
||||
<label control="b4">Label4</label><textbox id="b4" accesskey="x" size="2"/>
|
||||
<label control="b5" maxwidth="50">Quite a long label. Hopefully it will wrap</label><textbox id="b5" accesskey="l" size="2"/>
|
||||
</hbox>
|
||||
|
||||
<hbox id="d" align="start">
|
||||
<label control="d1">Label1</label><textbox id="d1" accesskey="z" size="2"/>
|
||||
<label control="d2">Label2</label><textbox id="d2" size="2"/>
|
||||
<label control="d3">Label3</label><textbox id="d3" accesskey="t" size="2"/>
|
||||
<label control="d4">Label4</label><textbox id="d4" accesskey="b" size="2"/>
|
||||
<label control="d5" maxwidth="50">Quite a long label. Hopefully it will wrap</label><textbox id="d5" accesskey="l" size="2"/>
|
||||
</hbox>
|
||||
|
||||
</window>
|
@ -3,3 +3,5 @@
|
||||
random-if(Android) == menulist-shrinkwrap-1.xul menulist-shrinkwrap-1-ref.xul
|
||||
random-if(Android) fails-if(winWidget) == menulist-shrinkwrap-2.xul menulist-shrinkwrap-2-ref.xul
|
||||
== textbox-overflow-1.xul textbox-overflow-1-ref.xul # for bug 749658
|
||||
# accesskeys are not normally displayed on Mac, so skip this test
|
||||
skip-if(cocoaWidget) == accesskey.xul accesskey-ref.xul
|
||||
|
@ -57,7 +57,7 @@
|
||||
|
||||
<binding id="label-control" extends="chrome://global/content/bindings/text.xml#text-label">
|
||||
<content>
|
||||
<html:span anonid="accessKeyParens"><children/></html:span>
|
||||
<children/><html:span anonid="accessKeyParens"></html:span>
|
||||
</content>
|
||||
<implementation implements="nsIDOMXULLabelElement">
|
||||
<constructor>
|
||||
@ -106,7 +106,7 @@
|
||||
}
|
||||
|
||||
var afterLabel = document.getAnonymousElementByAttribute(this, "anonid", "accessKeyParens");
|
||||
afterLabel.textContent = ""; // This does not clear real nodes!
|
||||
afterLabel.textContent = "";
|
||||
|
||||
var oldAccessKey = this.getElementsByAttribute('class', 'accesskey').item(0);
|
||||
if (oldAccessKey) { // Clear old accesskey
|
||||
|
Loading…
Reference in New Issue
Block a user