author | Robert Longson <longsonr@gmail.com> |
Sat, 17 Dec 2011 09:14:20 +0000 | |
changeset 82851 | d9e8512aa9d4d72655ad184578e566cae290cce9 |
parent 82850 | 1bb4179d747eebaf6db9f4b5d502379901959a16 |
child 82852 | dfc239e7dcf478dda03f503b5b5cd2e40a635cef |
push id | 4151 |
push user | longsonr@gmail.com |
push date | Sat, 17 Dec 2011 09:14:04 +0000 |
treeherder | mozilla-inbound@d9e8512aa9d4 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | dao |
bugs | 693551 |
milestone | 11.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -3006,19 +3006,20 @@ function getMarkupDocumentViewer() * which performs the same function, but for embedded clients that * don't use a XUL/JS layer. It is important that the logic of * these two routines be kept more or less in sync. * (pinkerton) **/ function FillInHTMLTooltip(tipElement) { var retVal = false; - // Don't show the tooltip if the tooltip node is a XUL element or a document. + // Don't show the tooltip if the tooltip node is a XUL element, a document or is disconnected. if (tipElement.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" || - !tipElement.ownerDocument) + !tipElement.ownerDocument || + tipElement.ownerDocument.compareDocumentPosition(tipElement) == document.DOCUMENT_POSITION_DISCONNECTED) return retVal; const XLinkNS = "http://www.w3.org/1999/xlink"; var titleText = null; var XLinkTitleText = null; var SVGTitleText = null; @@ -3036,20 +3037,20 @@ function FillInHTMLTooltip(tipElement) // If the element is barred from constraint validation or valid, // the validation message will be the empty string. titleText = tipElement.validationMessage; } while (!titleText && !XLinkTitleText && !SVGTitleText && tipElement) { if (tipElement.nodeType == Node.ELEMENT_NODE) { titleText = tipElement.getAttribute("title"); - if ((tipElement instanceof HTMLAnchorElement && tipElement.href) || - (tipElement instanceof HTMLAreaElement && tipElement.href) || - (tipElement instanceof HTMLLinkElement && tipElement.href) || - (tipElement instanceof SVGAElement && tipElement.hasAttributeNS(XLinkNS, "href"))) { + if ((tipElement instanceof HTMLAnchorElement || + tipElement instanceof HTMLAreaElement || + tipElement instanceof HTMLLinkElement || + tipElement instanceof SVGAElement) && tipElement.href) { XLinkTitleText = tipElement.getAttributeNS(XLinkNS, "title"); } if (lookingForSVGTitle && (!(tipElement instanceof SVGElement) || tipElement.parentNode.nodeType == Node.DOCUMENT_NODE)) { lookingForSVGTitle = false; } if (lookingForSVGTitle) {