return this.boxObject.QueryInterface(Components.interfaces.nsIPopupBoxObject); width) width = accel.boxObject.width; } } } for (var i = 0; i < array.length; i++) array[i].width = width; ]]> 0 true null 0) { arrowbox.pack = "end"; arrowbox.style.marginBottom = this.alignmentOffset + "px"; } else { arrowbox.pack = "start"; arrowbox.style.marginTop = this.alignmentOffset + "px"; } // The assigned side stays the same regardless of direction. var isRTL = (window.getComputedStyle(this).direction == "rtl"); if (position.indexOf("start_") == 0) { container.dir = "reverse"; this.setAttribute("side", isRTL ? "left" : "right"); } else { container.dir = ""; this.setAttribute("side", isRTL ? "right" : "left"); } } else if (position.indexOf("before_") == 0 || position.indexOf("after_") == 0) { container.orient = "vertical"; arrowbox.orient = ""; if (position.indexOf("_end") > 0) { arrowbox.pack = "end"; arrowbox.style.marginRight = this.alignmentOffset + "px"; } else { arrowbox.pack = "start"; arrowbox.style.marginLeft = this.alignmentOffset + "px"; } if (position.indexOf("before_") == 0) { container.dir = "reverse"; this.setAttribute("side", "bottom"); } else { container.dir = ""; this.setAttribute("side", "top"); } } arrow.hidden = false; ]]> clearTimeout(this._fadeTimer); this.style.removeProperty("opacity"); this.setAttribute("panelopen", "true"); this.removeAttribute("panelopen"); return Components.interfaces.nsIAccessibleProvider.XULTooltip; 0 false without a title, we should show // the current file selection. if (!titleText && tipElement instanceof HTMLInputElement && tipElement.type == 'file' && !tipElement.hasAttribute('title')) { let files = tipElement.files; if (files.length == 0) { try { var bundle = Components.classes['@mozilla.org/intl/stringbundle;1'] .getService(Components.interfaces.nsIStringBundleService) .createBundle("chrome://global/locale/layout/HtmlForm.properties"); if (tipElement.multiple) { titleText = bundle.GetStringFromName("NoFilesSelected"); } else { titleText = bundle.GetStringFromName("NoFileSelected"); } } catch(e) {} } else { titleText = files[0].name; for (let i=1; i 1) this.hidePopup(); return; } // find out if the node we are entering is one of our anonymous children while (rel) { if (rel == this) break; rel = rel.parentNode; } // if the entered node is not a descendant of ours, hide the tooltip if (rel != this && this._isMouseOver) { this.hidePopup(); } ]]>