| Index: lib/notificationHelper.js | 
| diff --git a/lib/notificationHelper.js b/lib/notificationHelper.js | 
| index cfe93ae8611bf6a92e2f74f17f1f3de13b1d1756..75ad148a6b38c1ee07da3a526eb1db07a9655bbe 100644 | 
| --- a/lib/notificationHelper.js | 
| +++ b/lib/notificationHelper.js | 
| @@ -17,7 +17,8 @@ | 
| /** @module notificationHelper */ | 
| -let {startIconAnimation, stopIconAnimation} = require("icon"); | 
| +let {loadImageAsCanvas, | 
| + startIconAnimation, stopIconAnimation} = require("icon"); | 
| let {Utils} = require("utils"); | 
| let {Notification: NotificationStorage} = require("notification"); | 
| let {stringifyURL} = require("url"); | 
| @@ -152,22 +153,6 @@ function notificationClosed() | 
| activeNotification = null; | 
| } | 
| -function imgToBase64(url, callback) | 
| -{ | 
| - let canvas = document.createElement("canvas"), | 
| - ctx = canvas.getContext("2d"), | 
| - img = new Image; | 
| - img.src = url; | 
| - img.onload = function() | 
| - { | 
| - canvas.height = img.height; | 
| - canvas.width = img.width; | 
| - ctx.drawImage(img, 0, 0); | 
| - callback(canvas.toDataURL("image/png")); | 
| - canvas = null; | 
| - }; | 
| -} | 
| - | 
| function initChromeNotifications() | 
| { | 
| // Chrome hides notifications in notification center when clicked so we need to clear them | 
| @@ -217,9 +202,9 @@ function showNotification(notification) | 
| priority: 2 // We use the highest priority to prevent the notification from closing automatically | 
| }; | 
| - imgToBase64(iconUrl, function(iconData) | 
| + loadImageAsCanvas(iconUrl).then(canvas => | 
| { | 
| - opts.iconUrl = iconData; | 
| + opts.iconUrl = canvas.toDataURL("image/png"); | 
| chrome.notifications.create("", opts, function() {}); | 
| }); | 
| } | 
| @@ -228,7 +213,7 @@ function showNotification(notification) | 
| if (linkCount > 0) | 
| message += " " + ext.i18n.getMessage("notification_without_buttons"); | 
| - imgToBase64(iconUrl, function(iconData) | 
| + loadImageAsCanvas(iconUrl).then(canvas => | 
| { | 
| let notification = new Notification( | 
| title, | 
| @@ -236,7 +221,7 @@ function showNotification(notification) | 
| lang: Utils.appLocale, | 
| dir: ext.i18n.getMessage("@@bidi_dir"), | 
| body: message, | 
| - icon: iconData | 
| + icon: canvas.toDataURL("image/png") | 
| } | 
| ); |