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") |
} |
); |