mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-18 15:55:36 +00:00
Bug 1440022: hook up remote-settings to broadcast messages r=lina
MozReview-Commit-ID: 3TYBqH94rSD --HG-- extra : rebase_source : 64da9efe122bae6225bdb66e087ef234b8c2ce3c
This commit is contained in:
parent
6b074ef615
commit
373f29fd9d
@ -2,11 +2,14 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
/* global __URI__ */
|
||||
|
||||
"use strict";
|
||||
|
||||
var EXPORTED_SYMBOLS = [
|
||||
"RemoteSettings",
|
||||
"jexlFilterFunc"
|
||||
"jexlFilterFunc",
|
||||
"remoteSettingsBroadcastHandler",
|
||||
];
|
||||
|
||||
ChromeUtils.import("resource://gre/modules/Services.jsm");
|
||||
@ -26,6 +29,8 @@ ChromeUtils.defineModuleGetter(this, "ClientEnvironmentBase",
|
||||
"resource://gre/modules/components-utils/ClientEnvironment.jsm");
|
||||
ChromeUtils.defineModuleGetter(this, "FilterExpressions",
|
||||
"resource://gre/modules/components-utils/FilterExpressions.jsm");
|
||||
ChromeUtils.defineModuleGetter(this, "pushBroadcastService",
|
||||
"resource://gre/modules/PushBroadcastService.jsm");
|
||||
|
||||
const PREF_SETTINGS_SERVER = "services.settings.server";
|
||||
const PREF_SETTINGS_DEFAULT_BUCKET = "services.settings.default_bucket";
|
||||
@ -733,7 +738,23 @@ function remoteSettingsFunction() {
|
||||
Services.obs.notifyObservers(null, "remote-settings-changes-polled");
|
||||
};
|
||||
|
||||
|
||||
const broadcastID = "remote-settings/monitor_changes";
|
||||
const currentVersion = Services.prefs.getStringValue(PREF_SETTINGS_LAST_ETAG, "");
|
||||
const moduleInfo = {
|
||||
moduleURI: __URI__,
|
||||
symbolName: "remoteSettingsBroadcastHandler",
|
||||
};
|
||||
pushBroadcastService.addListener(broadcastID, currentVersion,
|
||||
moduleInfo);
|
||||
|
||||
return remoteSettings;
|
||||
}
|
||||
|
||||
var RemoteSettings = remoteSettingsFunction();
|
||||
|
||||
var remoteSettingsBroadcastHandler = {
|
||||
async receivedBroadcastMessage(data, broadcastID) {
|
||||
return RemoteSettings.pollChanges();
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user