[MYPAL] Prevent overlapping modal prompts and preserve prompt order.
parent
4e76e90d29
commit
95de016256
|
@ -402,11 +402,18 @@
|
|||
let promptBox = {
|
||||
appendPrompt : function(args, onCloseCallback) {
|
||||
let newPrompt = document.createElementNS(XUL_NS, "tabmodalprompt");
|
||||
stack.appendChild(newPrompt);
|
||||
// stack.appendChild(newPrompt);
|
||||
stack.insertBefore(newPrompt, browser.nextSibling);
|
||||
browser.setAttribute("tabmodalPromptShowing", true);
|
||||
|
||||
newPrompt.clientTop; // style flush to assure binding is attached
|
||||
|
||||
let prompts = this.listPrompts();
|
||||
if (prompts.length > 1) {
|
||||
// Let's hide ourself behind the current prompt.
|
||||
newPrompt.hidden = true;
|
||||
}
|
||||
|
||||
let tab = self._getTabForContentWindow(browser.contentWindow);
|
||||
newPrompt.init(args, tab, onCloseCallback);
|
||||
return newPrompt;
|
||||
|
@ -418,6 +425,7 @@
|
|||
let prompts = this.listPrompts();
|
||||
if (prompts.length) {
|
||||
let prompt = prompts[prompts.length - 1];
|
||||
prompt.hidden = false;
|
||||
prompt.Dialog.setDefaultFocus();
|
||||
} else {
|
||||
browser.removeAttribute("tabmodalPromptShowing");
|
||||
|
|
Loading…
Reference in New Issue