summaryrefslogtreecommitdiffstats
path: root/application/palemoon/base/content/tabbrowser.xml
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2018-12-10 16:59:13 +0100
committerwolfbeast <mcwerewolf@gmail.com>2018-12-10 16:59:13 +0100
commit9697bfa68f32984b196748e388d743dddbe6aa7b (patch)
tree3d8d23560d512199fbc8334bd15514d70ea00268 /application/palemoon/base/content/tabbrowser.xml
parent7d398710beb67e03bf1690f73cdfd1ef2b76d31a (diff)
parentfbbda481dce5c367b4ccdeacc70cdcd7f68ac8af (diff)
downloadUXP-9697bfa68f32984b196748e388d743dddbe6aa7b.tar
UXP-9697bfa68f32984b196748e388d743dddbe6aa7b.tar.gz
UXP-9697bfa68f32984b196748e388d743dddbe6aa7b.tar.lz
UXP-9697bfa68f32984b196748e388d743dddbe6aa7b.tar.xz
UXP-9697bfa68f32984b196748e388d743dddbe6aa7b.zip
Merge branch 'master' into Sync-weave
Diffstat (limited to 'application/palemoon/base/content/tabbrowser.xml')
-rw-r--r--application/palemoon/base/content/tabbrowser.xml29
1 files changed, 28 insertions, 1 deletions
diff --git a/application/palemoon/base/content/tabbrowser.xml b/application/palemoon/base/content/tabbrowser.xml
index 929afd057..988cae55c 100644
--- a/application/palemoon/base/content/tabbrowser.xml
+++ b/application/palemoon/base/content/tabbrowser.xml
@@ -831,13 +831,40 @@
"-moz-resolution=" + size + "," + size;
}
if (sizedIconUrl != aTab.getAttribute("image")) {
- if (browser.mIconURL) //PMed
+ if (browser.mIconURL)
aTab.setAttribute("image", sizedIconUrl);
else
aTab.removeAttribute("image");
this._tabAttrModified(aTab, ["image"]);
}
+ if (Services.prefs.getBoolPref("browser.chrome.favicons.process")) {
+ let favImage = new Image;
+ favImage.src = browser.mIconURL;
+ var tabBrowser = this;
+ favImage.onload = function () {
+ try {
+ // Draw the icon on a hidden canvas
+ var canvas = document.createElementNS("http://www.w3.org/1999/xhtml", "canvas");
+ var tabImg = document.getAnonymousElementByAttribute(aTab, "anonid", "tab-icon");
+ var w = tabImg.boxObject.width;
+ var h = tabImg.boxObject.height;
+ canvas.width = w;
+ canvas.height = h;
+ var ctx = canvas.getContext('2d');
+ ctx.drawImage(favImage, 0, 0, w, h);
+ icon = canvas.toDataURL();
+ browser.mIconURL = icon;
+ aTab.setAttribute("image", icon);
+ }
+ catch (e) {
+ console.warn("Processing of favicon failed.");
+ // Canvas failed: icon remains as it was
+ }
+ tabBrowser._callProgressListeners(browser, "onLinkIconAvailable", [browser.mIconURL]);
+ }
+ }
+
this._callProgressListeners(browser, "onLinkIconAvailable", [browser.mIconURL]);
]]>
</body>