| Index: lib/notificationHelper.js |
| diff --git a/lib/notificationHelper.js b/lib/notificationHelper.js |
| index cfe93ae8611bf6a92e2f74f17f1f3de13b1d1756..54316fdfbf4b578de194cc31e798a6a9b006252d 100644 |
| --- a/lib/notificationHelper.js |
| +++ b/lib/notificationHelper.js |
| @@ -17,7 +17,7 @@ |
| /** @module notificationHelper */ |
| -let {startIconAnimation, stopIconAnimation} = require("icon"); |
| +let {loadImage, startIconAnimation, stopIconAnimation} = require("icon"); |
| let {Utils} = require("utils"); |
| let {Notification: NotificationStorage} = require("notification"); |
| let {stringifyURL} = require("url"); |
| @@ -152,20 +152,17 @@ function notificationClosed() |
| activeNotification = null; |
| } |
| -function imgToBase64(url, callback) |
| +function imageToBase64(url) |
| { |
| - let canvas = document.createElement("canvas"), |
| - ctx = canvas.getContext("2d"), |
| - img = new Image; |
| - img.src = url; |
| - img.onload = function() |
| + return loadImage(url).then(image => |
| { |
| - canvas.height = img.height; |
| - canvas.width = img.width; |
| - ctx.drawImage(img, 0, 0); |
| - callback(canvas.toDataURL("image/png")); |
| - canvas = null; |
| - }; |
| + let canvas = document.createElement("canvas"); |
| + let context = canvas.getContext("2d"); |
| + canvas.height = image.height; |
| + canvas.width = image.width; |
| + context.drawImage(image, 0, 0); |
| + return canvas.toDataURL("image/png"); |
| + }); |
| } |
| function initChromeNotifications() |
| @@ -217,7 +214,7 @@ function showNotification(notification) |
| priority: 2 // We use the highest priority to prevent the notification from closing automatically |
| }; |
| - imgToBase64(iconUrl, function(iconData) |
| + imageToBase64(iconUrl).then(iconData => |
| { |
| opts.iconUrl = iconData; |
| chrome.notifications.create("", opts, function() {}); |
| @@ -228,7 +225,7 @@ function showNotification(notification) |
| if (linkCount > 0) |
| message += " " + ext.i18n.getMessage("notification_without_buttons"); |
| - imgToBase64(iconUrl, function(iconData) |
| + imageToBase64(iconUrl).then(iconData => |
| { |
| let notification = new Notification( |
| title, |