зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1188937 - Only add Push API interfaces to build if the feature is enabled. r=kitcambridge
--HG-- extra : commitid : BRZ0gZEecxz extra : amend_source : fb91b88616e837bf5e09a6a19c31acb1b94e4e64 extra : transplant_source : %84W%27%B8%40A%7F%26%04%0E%C6%A9%13o%25%D4SOD6
This commit is contained in:
Родитель
c288c0dbec
Коммит
079c3d0a1b
|
@ -516,9 +516,13 @@ Sanitizer.prototype = {
|
|||
sss.clearAll();
|
||||
|
||||
// Clear all push notification subscriptions
|
||||
var push = Cc["@mozilla.org/push/NotificationService;1"]
|
||||
.getService(Ci.nsIPushNotificationService);
|
||||
push.clearAll();
|
||||
try {
|
||||
var push = Cc["@mozilla.org/push/NotificationService;1"]
|
||||
.getService(Ci.nsIPushNotificationService);
|
||||
push.clearAll();
|
||||
} catch (e) {
|
||||
dump("Web Push may not be available.\n");
|
||||
}
|
||||
|
||||
TelemetryStopwatch.finish("FX_SANITIZE_SITESETTINGS");
|
||||
},
|
||||
|
|
|
@ -25,7 +25,6 @@ interfaces = [
|
|||
'storage',
|
||||
'json',
|
||||
'offline',
|
||||
'push',
|
||||
'geolocation',
|
||||
'notification',
|
||||
'permission',
|
||||
|
@ -35,6 +34,9 @@ interfaces = [
|
|||
'gamepad',
|
||||
]
|
||||
|
||||
if not CONFIG['MOZ_SIMPLEPUSH']:
|
||||
interfaces += ['push']
|
||||
|
||||
DIRS += ['interfaces/' + i for i in interfaces]
|
||||
|
||||
DIRS += [
|
||||
|
|
|
@ -9,13 +9,6 @@ const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
|
|||
Cu.import("resource://gre/modules/Services.jsm");
|
||||
Cu.import('resource://gre/modules/XPCOMUtils.jsm');
|
||||
|
||||
XPCOMUtils.defineLazyServiceGetter(
|
||||
this,
|
||||
"PushNotificationService",
|
||||
"@mozilla.org/push/NotificationService;1",
|
||||
"nsIPushNotificationService"
|
||||
);
|
||||
|
||||
const bundle = Services.strings.createBundle(
|
||||
"chrome://global/locale/aboutServiceWorkers.properties");
|
||||
|
||||
|
@ -53,6 +46,14 @@ function init() {
|
|||
return;
|
||||
}
|
||||
|
||||
let pns = undefined;
|
||||
try {
|
||||
pns = Cc["@mozilla.org/push/NotificationService;1"]
|
||||
.getService(Ci.nsIPushNotificationService);
|
||||
} catch(e) {
|
||||
dump("Could not acquire PushNotificationService\n");
|
||||
}
|
||||
|
||||
for (let i = 0; i < length; ++i) {
|
||||
let info = data.queryElementAt(i, Ci.nsIServiceWorkerInfo);
|
||||
if (!info) {
|
||||
|
@ -60,11 +61,11 @@ function init() {
|
|||
continue;
|
||||
}
|
||||
|
||||
display(info);
|
||||
display(info, pns);
|
||||
}
|
||||
}
|
||||
|
||||
function display(info) {
|
||||
function display(info, pushNotificationService) {
|
||||
let parent = document.getElementById("serviceworkers");
|
||||
|
||||
let div = document.createElement('div');
|
||||
|
@ -120,14 +121,14 @@ function display(info) {
|
|||
createItem(bundle.GetStringFromName('waitingCacheName'), info.waitingCacheName);
|
||||
|
||||
let pushItem = createItem(bundle.GetStringFromName('pushEndpoint'), bundle.GetStringFromName('waiting'));
|
||||
PushNotificationService.registration(info.scope, info.principal.originAttributes).then(
|
||||
pushRecord => {
|
||||
pushItem.data = JSON.stringify(pushRecord);
|
||||
},
|
||||
error => {
|
||||
dump("about:serviceworkers - push registration failed\n");
|
||||
}
|
||||
);
|
||||
if (pushNotificationService) {
|
||||
pushNotificationService.registration(info.scope, info.principal.originAttributes)
|
||||
.then(pushRecord => {
|
||||
pushItem.data = JSON.stringify(pushRecord);
|
||||
}).catch(error => {
|
||||
dump("about:serviceworkers - retrieving push registration failed\n");
|
||||
});
|
||||
}
|
||||
|
||||
let updateButton = document.createElement("button");
|
||||
updateButton.appendChild(document.createTextNode(bundle.GetStringFromName('update')));
|
||||
|
|
Загрузка…
Ссылка в новой задаче