Merge remote-tracking branch 'origin/develop' into dbkr/electron_3

This commit is contained in:
David Baker 2016-11-02 19:46:02 +00:00
commit 275a55266b
2 changed files with 50 additions and 9 deletions

View file

@ -65,6 +65,40 @@ export default class WebPlatform extends VectorBasePlatform {
this._updateFavicon();
}
/**
* Returns true if the platform supports displaying
* notifications, otherwise false.
*/
supportsNotifications() : boolean {
return Boolean(global.Notification);
}
/**
* Returns true if the application currently has permission
* to display notifications. Otherwise false.
*/
maySendNotifications() : boolean {
return global.Notification.permission == 'granted';
}
/**
* Requests permission to send notifications. Returns
* a promise that is resolved when the user has responded
* to the request. The promise has a single string argument
* that is 'granted' if the user allowed the request or
* 'denied' otherwise.
*/
requestNotificationPermission() : Promise {
// annoyingly, the latest spec says this returns a
// promise, but this is only supported in Chrome 46
// and Firefox 47, so adapt the callback API.
const defer = q.defer();
global.Notification.requestPermission((result) => {
defer.resolve(result);
});
return defer.promise;
}
displayNotification(title: string, msg: string, avatarUrl: string) {
const notification = new global.Notification(
title,