diff --git a/mozilla/browser/base/content/browser.js b/mozilla/browser/base/content/browser.js index 4e58b0a63eb..a0b07fea4e9 100644 --- a/mozilla/browser/base/content/browser.js +++ b/mozilla/browser/base/content/browser.js @@ -4357,16 +4357,6 @@ function middleMousePaste(event) event.stopPropagation(); } -function makeURLAbsolute( base, url ) -{ - // Construct nsIURL. - var ioService = Components.classes["@mozilla.org/network/io-service;1"] - .getService(Components.interfaces.nsIIOService); - var baseURI = ioService.newURI(base, null, null); - - return ioService.newURI(baseURI.resolve(url), null, null).spec; -} - /* * Note that most of this routine has been moved into C++ in order to * be available for all tags as well as gecko embedding. See diff --git a/mozilla/browser/base/content/pageinfo/pageInfo.js b/mozilla/browser/base/content/pageinfo/pageInfo.js index dada52dee54..84fd7d74b8a 100644 --- a/mozilla/browser/base/content/pageinfo/pageInfo.js +++ b/mozilla/browser/base/content/pageinfo/pageInfo.js @@ -609,6 +609,12 @@ function grabAll(elem) if (elem instanceof HTMLImageElement) addImage(elem.src, gStrings.mediaImg, (elem.hasAttribute("alt")) ? elem.alt : gStrings.notSet, elem, false); +#ifdef MOZ_SVG + else if (elem instanceof SVGImageElement) { + var href = makeURLAbsolute(elem.baseURI, elem.href.baseVal); + addImage(href, gStrings.mediaImg, "", elem, false); + } +#endif else if (elem instanceof HTMLLinkElement) { if (elem.rel && /\bicon\b/i.test(elem.rel)) addImage(elem.href, gStrings.mediaLink, "", elem, false); @@ -837,6 +843,14 @@ function makePreview(row) else setItemValue("imagealttext", getValueText(item)); +#ifdef MOZ_SVG + if (item instanceof SVGImageElement) { + setItemValue("imagetitletext", null); + setItemValue("imagelongdesctext", null); + setItemValue("imagealttext", null); + } +#endif + // get cache info var sourceText = gBundle.getString("generalNotCached"); var cacheKey = url.replace(/#.*$/, ""); @@ -913,6 +927,9 @@ function makePreview(row) if ((item instanceof HTMLLinkElement || item instanceof HTMLInputElement || item instanceof HTMLImageElement || +#ifdef MOZ_SVG + item instanceof SVGImageElement || +#endif (item instanceof HTMLObjectElement && /^image\//.test(mimeType)) || isBG) && isProtocolAllowed) { newImage.setAttribute("src", url); physWidth = newImage.width || 0; @@ -926,12 +943,19 @@ function makePreview(row) newImage.height = ("height" in item && item.height) || newImage.naturalHeight; } else { - // the Width and Height of an HTML tag should not be use for its background image + // the Width and Height of an HTML tag should not be used for its background image // (for example, "table" can have "width" or "height" attributes) newImage.width = newImage.naturalWidth; newImage.height = newImage.naturalHeight; } +#ifdef MOZ_SVG + if (item instanceof SVGImageElement) { + newImage.width = item.width.baseVal.value; + newImage.height = item.height.baseVal.value; + } +#endif + width = newImage.width; height = newImage.height; diff --git a/mozilla/browser/base/content/utilityOverlay.js b/mozilla/browser/base/content/utilityOverlay.js index ca4a51f940e..d22195d4657 100644 --- a/mozilla/browser/base/content/utilityOverlay.js +++ b/mozilla/browser/base/content/utilityOverlay.js @@ -495,6 +495,11 @@ function isElementVisible(aElement) return (bo.height > 0 && bo.width > 0); } +function makeURLAbsolute(aBase, aUrl) +{ + return IO.newURI(IO.newURI(aBase).resolve(aUrl)).spec; +} + function getBrowserFromContentWindow(aContentWindow) { var browsers = gBrowser.browsers;