/*
* Copyright (C) 2015 Actor LLC. <https://actor.im>
*/
package im.actor.core.js.providers.notification;
public class JsSafariPush {
public static native boolean isSupported()/*-{
return 'safari' in $wnd && 'pushNotification' in $wnd.safari
}-*/;
public static native void subscribe()/*-{
var checkRemotePermission = function (permissionData) {
if (permissionData.permission === 'default') {
// This is a new web service URL and its validity is unknown.
window.safari.pushNotification.requestPermission(
'https://app.actor.im', // The web service URL.
'web.com.example.domain', // The Website Push ID.
{}, // Data that you choose to send to your server to help you identify the user.
checkRemotePermission // The callback function.
);
}
else if (permissionData.permission === 'denied') {
// The user said no.
}
else if (permissionData.permission === 'granted') {
// The web service URL is a valid push provider, and the user said yes.
// permissionData.deviceToken is now available to use.
}
var permissionData = $wnd.safari.pushNotification.permission('web.com.example.domain');
checkRemotePermission(permissionData);
};
}-*/;
}