From a08fd8e49beaeea9c8af5cb9018a121e2bc2ca43 Mon Sep 17 00:00:00 2001 From: "neil%parkwaycc.co.uk" Date: Fri, 20 Jun 2003 09:11:40 +0000 Subject: [PATCH] Bug 209823 Composer should use titletips in Preview mode r=glazman sr=alecf git-svn-id: svn://10.0.0.236/trunk@143987 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/editor/ui/composer/content/editor.js | 36 +++++++++++++++----- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/mozilla/editor/ui/composer/content/editor.js b/mozilla/editor/ui/composer/content/editor.js index 253eb086367..de4e5133641 100644 --- a/mozilla/editor/ui/composer/content/editor.js +++ b/mozilla/editor/ui/composer/content/editor.js @@ -3369,16 +3369,34 @@ function GetSelectionContainer() function FillInHTMLTooltip(tooltip) { + const XLinkNS = "http://www.w3.org/1999/xlink"; var tooltipText = null; - for (var node = document.tooltipNode; node; node = node.parentNode) { - if (node instanceof Components.interfaces.nsIDOMHTMLImageElement || - node instanceof Components.interfaces.nsIDOMHTMLInputElement) - tooltipText = node.getAttribute("src"); - else if (node instanceof Components.interfaces.nsIDOMHTMLAnchorElement) - tooltipText = node.getAttribute("href") || node.name; - if (tooltipText) { - tooltip.setAttribute("label", tooltipText); - return true; + if (gEditorDisplayMode == kDisplayModePreview) { + for (var node = document.tooltipNode; node; node = node.parentNode) { + if (node.nodeType == Node.ELEMENT_NODE) { + tooltipText = node.getAttributeNS(XLinkNS, "title"); + if (tooltipText && /\S/.test(tooltipText)) { + tooltip.setAttribute("label", tooltipText); + return true; + } + tooltipText = node.getAttribute("title"); + if (tooltipText && /\S/.test(tooltipText)) { + tooltip.setAttribute("label", tooltipText); + return true; + } + } + } + } else { + for (var node = document.tooltipNode; node; node = node.parentNode) { + if (node instanceof Components.interfaces.nsIDOMHTMLImageElement || + node instanceof Components.interfaces.nsIDOMHTMLInputElement) + tooltipText = node.getAttribute("src"); + else if (node instanceof Components.interfaces.nsIDOMHTMLAnchorElement) + tooltipText = node.getAttribute("href") || node.name; + if (tooltipText) { + tooltip.setAttribute("label", tooltipText); + return true; + } } } return false;