diff --git a/html5/js/Client.js b/html5/js/Client.js
index 1e40328d..5d9a323c 100644
--- a/html5/js/Client.js
+++ b/html5/js/Client.js
@@ -3032,7 +3032,7 @@ XpraClient.prototype._process_notify_show = function(packet, ctx) {
function notify() {
let icon_url = "";
if (icon && icon[0]=="png") {
- icon_url = "data:image/png;base64," + Utilities.ArrayBufferToBase64(icon[3]);
+ icon_url = "data:image/png;base64," + Utilities.ToBase64(icon[3]);
console.log("notification icon_url=", icon_url);
}
/*
diff --git a/html5/js/Utilities.js b/html5/js/Utilities.js
index 66e66625..f2d46538 100644
--- a/html5/js/Utilities.js
+++ b/html5/js/Utilities.js
@@ -460,6 +460,15 @@ const Utilities = {
return window.btoa(s);
},
+ ToBase64 : function(v) {
+ try {
+ return window.btoa(v);
+ }
+ catch (e) {
+ return ArrayBufferToBase64(v);
+ }
+ },
+
convertDataURIToBinary : function (dataURI) {
const BASE64_MARKER = ';base64,';
const base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;