Bug 1523384 - Replace editable menulist with xbl-menulist in calendar datepickers; rs=bustage-fix

This stops the custom element from interfering with the menulist, but breaks the popup. This change should be undone ASAP.
This commit is contained in:
Geoff Lankow 2019-02-01 17:03:58 +13:00
Родитель 7c5d6f779e
Коммит 21d092bc36
4 изменённых файлов: 23 добавлений и 23 удалений

Просмотреть файл

@ -218,7 +218,7 @@ var gLastAlarmSelection = 0;
function matchCustomReminderToMenuitem(reminder) {
let defaultAlarmType = getDefaultAlarmType();
let reminderList = document.getElementById("item-alarm");
let reminderPopup = reminderList.firstChild;
let reminderPopup = reminderList.menupopup;
if (reminder.related != Ci.calIAlarm.ALARM_RELATED_ABSOLUTE &&
reminder.offset &&
reminder.action == defaultAlarmType) {

Просмотреть файл

@ -248,11 +248,11 @@
node that interferes with navigation to interior nodes.] -->
<content>
<xul:hbox flex="1" id="hbox" class="datepicker-box-class">
<xul:menulist editable="true" type="panel" sizetopopup="false"
class="datepicker-text-class"
onchange="this.kDatePicker.parseTextBoxDate(true, event);"
onkeypress="if (event.key == 'Enter') this.kDatePicker.parseTextBoxDate(true);"
xbl:inherits="disabled">
<xul:xbl-menulist editable="true" type="panel" sizetopopup="false"
class="datepicker-text-class"
onchange="this.kDatePicker.parseTextBoxDate(true, event);"
onkeypress="if (event.key == 'Enter') this.kDatePicker.parseTextBoxDate(true);"
xbl:inherits="disabled">
<xul:panel popupanchor="bottomright" popupalign="topright"
anonid="datepopup"
onpopupshowing="this.kDatePicker.onPopup();"
@ -260,7 +260,7 @@
onpopuphiding="this.firstChild.hidePopupList();">
<xul:minimonth/>
</xul:panel>
</xul:menulist>
</xul:xbl-menulist>
</xul:hbox>
</content>
@ -387,11 +387,11 @@
<binding id="datepicker-forever" extends="chrome://calendar/content/datetimepickers/datetimepickers.xml#datepicker">
<content>
<xul:hbox flex="1" id="hbox" class="datepicker-box-class">
<xul:menulist anonid="foreverMenulist" editable="true" type="panel" sizetopopup="false"
class="datepicker-text-class"
onchange="this.kDatePicker.parseTextBoxDate(true, event);"
onkeypress="if (event.key == 'Enter') this.kDatePicker.parseTextBoxDate(true);"
xbl:inherits="disabled">
<xul:xbl-menulist anonid="foreverMenulist" editable="true" type="panel" sizetopopup="false"
class="datepicker-text-class"
onchange="this.kDatePicker.parseTextBoxDate(true, event);"
onkeypress="if (event.key == 'Enter') this.kDatePicker.parseTextBoxDate(true);"
xbl:inherits="disabled">
<xul:panel popupanchor="bottomright" popupalign="topright"
anonid="datepopup"
onpopupshowing="this.parentNode.kDatePicker.onPopup();"
@ -403,7 +403,7 @@
class="datepicker-text-menuItem-class"
oncommand="onMenuitemForever(); this.parentNode.hidePopup();"/>
</xul:panel>
</xul:menulist>
</xul:xbl-menulist>
</xul:hbox>
</content>
@ -522,18 +522,18 @@
node that interferes with navigation to interior nodes.] -->
<content>
<xul:hbox flex="1" id="hbox" class="timepicker-box-class">
<xul:menulist editable="true" sizetopopup="false"
id="timepicker-text"
class="timepicker-text-class"
onchange="this.kTimePicker.parseTextBoxTime(true, event);"
onkeypress="if (event.key == 'Enter') this.kTimePicker.parseTextBoxTime(true);"
xbl:inherits="disabled">
<xul:xbl-menulist editable="true" sizetopopup="false"
id="timepicker-text"
class="timepicker-text-class"
onchange="this.kTimePicker.parseTextBoxTime(true, event);"
onkeypress="if (event.key == 'Enter') this.kTimePicker.parseTextBoxTime(true);"
xbl:inherits="disabled">
<xul:menupopup popupalign="topright" popupanchor="bottomright"
onpopupshowing="onPopup(this)"
onpopuphiding="onHide(this)">
<xul:timepicker-grids anonid="timepickerGrids"/>
</xul:menupopup>
</xul:menulist>
</xul:xbl-menulist>
</xul:hbox>
</content>

Просмотреть файл

@ -58,7 +58,7 @@ var PERCENT_COMPLETE_INPUT = `
// To be appended to the path for a date- or timepicker.
var DATE_INPUT = `
anon({"class":"datepicker-box-class"})/{"class":"datepicker-text-class"}/
anon({"class":"menulist-editable-box textbox-input-box"})/anon({"anonid":"input"})
anon({"class":"menulist-editable-box moz-input-box"})/anon({"anonid":"input"})
`;
var TIME_INPUT = `
anon({"anonid":"hbox"})/anon({"anonid":"time-picker"})/anon({"class":"timepicker-box-class"})/
@ -79,7 +79,7 @@ var REC_DLG_UNTIL_INPUT = `
/id("calendar-event-dialog-recurrence")/id("recurrence-range-groupbox")/[1]/
id("recurrence-duration")/id("recurrence-range-until-box")/id("repeat-until-date")/
anon({"class":"datepicker-box-class"})/{"class":"datepicker-text-class"}/
anon({"class":"menulist-editable-box textbox-input-box"})/anon({"anonid":"input"})
anon({"class":"menulist-editable-box moz-input-box"})/anon({"anonid":"input"})
`;

Просмотреть файл

@ -347,7 +347,7 @@
</xul:moz-input-box>
<xul:dropmarker class="menulist-dropmarker" type="menu"
xbl:inherits="open,disabled,parentfocused=focused"/>
<children includes="menupopup"/>
<children/>
</content>
<implementation>