mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1217077 - Remove for-each from services/. r=gps
This commit is contained in:
parent
ee4d8ac1e4
commit
fd9a4d3a09
@ -554,7 +554,7 @@ var RootFolder = function (rootId, rootName) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for each (let item in items) {
|
for (let item of items) {
|
||||||
if (!item || 'object' !== typeof(item)) {
|
if (!item || 'object' !== typeof(item)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -570,7 +570,7 @@ var RootFolder = function (rootId, rootName) {
|
|||||||
let newFolderGuids = Object.keys(newFolders);
|
let newFolderGuids = Object.keys(newFolders);
|
||||||
let newFolderRoots = [];
|
let newFolderRoots = [];
|
||||||
|
|
||||||
for each (let guid in newFolderGuids) {
|
for (let guid of newFolderGuids) {
|
||||||
let item = newFolders[guid];
|
let item = newFolders[guid];
|
||||||
if (item.parent && newFolderGuids.indexOf(item.parent) >= 0) {
|
if (item.parent && newFolderGuids.indexOf(item.parent) >= 0) {
|
||||||
let parent = newFolders[item.parent];
|
let parent = newFolders[item.parent];
|
||||||
@ -581,7 +581,7 @@ var RootFolder = function (rootId, rootName) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let promises = [];
|
let promises = [];
|
||||||
for each (let guid in newFolderRoots) {
|
for (let guid of newFolderRoots) {
|
||||||
let root = newFolders[guid];
|
let root = newFolders[guid];
|
||||||
let promise = Promise.resolve();
|
let promise = Promise.resolve();
|
||||||
promise = promise.then(
|
promise = promise.then(
|
||||||
@ -611,15 +611,15 @@ var RootFolder = function (rootId, rootName) {
|
|||||||
let processItems = function () {
|
let processItems = function () {
|
||||||
let promises = [];
|
let promises = [];
|
||||||
|
|
||||||
for each (let item in newItems) {
|
for (let item of newItems) {
|
||||||
promises.push(_createItem(item));
|
promises.push(_createItem(item));
|
||||||
}
|
}
|
||||||
|
|
||||||
for each (let item in updatedItems) {
|
for (let item of updatedItems) {
|
||||||
promises.push(_updateItem(item));
|
promises.push(_updateItem(item));
|
||||||
}
|
}
|
||||||
|
|
||||||
for each (let item in deletedItems) {
|
for (let item of deletedItems) {
|
||||||
_deleteItem(item);
|
_deleteItem(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ Components.utils.import("resource://services-common/utils.js");
|
|||||||
|
|
||||||
var EventSource = function (types, suspendFunc, resumeFunc) {
|
var EventSource = function (types, suspendFunc, resumeFunc) {
|
||||||
this.listeners = new Map();
|
this.listeners = new Map();
|
||||||
for each (let type in types) {
|
for (let type of types) {
|
||||||
this.listeners.set(type, new Set());
|
this.listeners.set(type, new Set());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,7 +140,7 @@ PlacesWrapper.prototype = {
|
|||||||
function (items) {
|
function (items) {
|
||||||
let previousIds = folderCache.getChildren(folder);
|
let previousIds = folderCache.getChildren(folder);
|
||||||
let currentIds = new Set();
|
let currentIds = new Set();
|
||||||
for each (let item in items) {
|
for (let item of items) {
|
||||||
currentIds.add(item.id);
|
currentIds.add(item.id);
|
||||||
}
|
}
|
||||||
let newIds = new Set();
|
let newIds = new Set();
|
||||||
@ -188,7 +188,7 @@ PlacesWrapper.prototype = {
|
|||||||
this.asyncQuery(query, ["item_id"])
|
this.asyncQuery(query, ["item_id"])
|
||||||
.then(function (items) {
|
.then(function (items) {
|
||||||
let results = [];
|
let results = [];
|
||||||
for each(let item in items) {
|
for (let item of items) {
|
||||||
results.push(item.item_id);
|
results.push(item.item_id);
|
||||||
}
|
}
|
||||||
deferred.resolve(results);
|
deferred.resolve(results);
|
||||||
@ -211,7 +211,7 @@ PlacesWrapper.prototype = {
|
|||||||
this.asyncQuery(query, ["name", "content"])
|
this.asyncQuery(query, ["name", "content"])
|
||||||
.then(function (results) {
|
.then(function (results) {
|
||||||
let annos = {};
|
let annos = {};
|
||||||
for each(let result in results) {
|
for (let result of results) {
|
||||||
annos[result.name] = result.content;
|
annos[result.name] = result.content;
|
||||||
}
|
}
|
||||||
deferred.resolve(annos);
|
deferred.resolve(annos);
|
||||||
@ -347,7 +347,7 @@ PlacesWrapper.prototype = {
|
|||||||
let row;
|
let row;
|
||||||
while ((row = results.getNextRow()) != null) {
|
while ((row = results.getNextRow()) != null) {
|
||||||
let item = {};
|
let item = {};
|
||||||
for each (let name in names) {
|
for (let name of names) {
|
||||||
item[name] = row.getResultByName(name);
|
item[name] = row.getResultByName(name);
|
||||||
}
|
}
|
||||||
this.results.push(item);
|
this.results.push(item);
|
||||||
|
@ -87,7 +87,7 @@ TabCache.prototype = {
|
|||||||
this.clients.set(cRecord.id, cRecord);
|
this.clients.set(cRecord.id, cRecord);
|
||||||
}
|
}
|
||||||
|
|
||||||
for each (let tab in tabs) {
|
for (let tab of tabs) {
|
||||||
if (!tab || 'object' !== typeof(tab)) {
|
if (!tab || 'object' !== typeof(tab)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -158,7 +158,7 @@ this.Tabs = function () {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let registerListenersForWindow = function (window) {
|
let registerListenersForWindow = function (window) {
|
||||||
for each (let topic in topics) {
|
for (let topic of topics) {
|
||||||
window.addEventListener(topic, update, false);
|
window.addEventListener(topic, update, false);
|
||||||
}
|
}
|
||||||
window.addEventListener("unload", unregisterListeners, false);
|
window.addEventListener("unload", unregisterListeners, false);
|
||||||
@ -166,7 +166,7 @@ this.Tabs = function () {
|
|||||||
|
|
||||||
let unregisterListenersForWindow = function (window) {
|
let unregisterListenersForWindow = function (window) {
|
||||||
window.removeEventListener("unload", unregisterListeners, false);
|
window.removeEventListener("unload", unregisterListeners, false);
|
||||||
for each (let topic in topics) {
|
for (let topic of topics) {
|
||||||
window.removeEventListener(topic, update, false);
|
window.removeEventListener(topic, update, false);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -177,7 +177,7 @@ this.Async = {
|
|||||||
let row;
|
let row;
|
||||||
while ((row = results.getNextRow()) != null) {
|
while ((row = results.getNextRow()) != null) {
|
||||||
let item = {};
|
let item = {};
|
||||||
for each (let name in this.names) {
|
for (let name of this.names) {
|
||||||
item[name] = row.getResultByName(name);
|
item[name] = row.getResultByName(name);
|
||||||
}
|
}
|
||||||
this.results.push(item);
|
this.results.push(item);
|
||||||
|
@ -102,7 +102,7 @@ ServerBSO.prototype = {
|
|||||||
toJSON: function toJSON() {
|
toJSON: function toJSON() {
|
||||||
let obj = {};
|
let obj = {};
|
||||||
|
|
||||||
for each (let key in this.FIELDS) {
|
for (let key of this.FIELDS) {
|
||||||
if (this[key] !== undefined) {
|
if (this[key] !== undefined) {
|
||||||
obj[key] = this[key];
|
obj[key] = this[key];
|
||||||
}
|
}
|
||||||
@ -306,7 +306,7 @@ StorageServerCollection.prototype = {
|
|||||||
|
|
||||||
get totalPayloadSize() {
|
get totalPayloadSize() {
|
||||||
let size = 0;
|
let size = 0;
|
||||||
for each (let bso in this.bsos()) {
|
for (let bso of this.bsos()) {
|
||||||
size += bso.payload.length;
|
size += bso.payload.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -441,7 +441,8 @@ StorageServerCollection.prototype = {
|
|||||||
|
|
||||||
get: function get(options) {
|
get: function get(options) {
|
||||||
let data = [];
|
let data = [];
|
||||||
for each (let bso in this._bsos) {
|
for (let id in this._bsos) {
|
||||||
|
let bso = this._bsos[id];
|
||||||
if (!bso.modified) {
|
if (!bso.modified) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -504,7 +505,7 @@ StorageServerCollection.prototype = {
|
|||||||
|
|
||||||
// This will count records where we have an existing ServerBSO
|
// This will count records where we have an existing ServerBSO
|
||||||
// registered with us as successful and all other records as failed.
|
// registered with us as successful and all other records as failed.
|
||||||
for each (let record in input) {
|
for (let record of input) {
|
||||||
count += 1;
|
count += 1;
|
||||||
if (count > this.BATCH_MAX_COUNT) {
|
if (count > this.BATCH_MAX_COUNT) {
|
||||||
failed[record.id] = "Max record count exceeded.";
|
failed[record.id] = "Max record count exceeded.";
|
||||||
@ -602,7 +603,7 @@ StorageServerCollection.prototype = {
|
|||||||
parseOptions: function parseOptions(request) {
|
parseOptions: function parseOptions(request) {
|
||||||
let options = {};
|
let options = {};
|
||||||
|
|
||||||
for each (let chunk in request.queryString.split("&")) {
|
for (let chunk of request.queryString.split("&")) {
|
||||||
if (!chunk) {
|
if (!chunk) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -656,7 +657,7 @@ StorageServerCollection.prototype = {
|
|||||||
let requestModified = parseInt(request.getHeader("x-if-modified-since"),
|
let requestModified = parseInt(request.getHeader("x-if-modified-since"),
|
||||||
10);
|
10);
|
||||||
let newestBSO = 0;
|
let newestBSO = 0;
|
||||||
for each (let bso in data) {
|
for (let bso of data) {
|
||||||
if (bso.modified > newestBSO) {
|
if (bso.modified > newestBSO) {
|
||||||
newestBSO = bso.modified;
|
newestBSO = bso.modified;
|
||||||
}
|
}
|
||||||
@ -746,7 +747,7 @@ StorageServerCollection.prototype = {
|
|||||||
return sendMozSvcError(request, response, "8");
|
return sendMozSvcError(request, response, "8");
|
||||||
}
|
}
|
||||||
} else if (inputMediaType == "application/newlines") {
|
} else if (inputMediaType == "application/newlines") {
|
||||||
for each (let line in inputBody.split("\n")) {
|
for (let line of inputBody.split("\n")) {
|
||||||
let record;
|
let record;
|
||||||
try {
|
try {
|
||||||
record = JSON.parse(line);
|
record = JSON.parse(line);
|
||||||
@ -1078,7 +1079,8 @@ StorageServer.prototype = {
|
|||||||
throw new Error("Unknown user.");
|
throw new Error("Unknown user.");
|
||||||
}
|
}
|
||||||
let userCollections = this.users[username].collections;
|
let userCollections = this.users[username].collections;
|
||||||
for each (let [name, coll] in Iterator(userCollections)) {
|
for (let name in userCollections) {
|
||||||
|
let coll = userCollections[name];
|
||||||
this._log.trace("Bulk deleting " + name + " for " + username + "...");
|
this._log.trace("Bulk deleting " + name + " for " + username + "...");
|
||||||
coll.delete({});
|
coll.delete({});
|
||||||
}
|
}
|
||||||
@ -1099,7 +1101,8 @@ StorageServer.prototype = {
|
|||||||
newestCollectionTimestamp: function newestCollectionTimestamp(username) {
|
newestCollectionTimestamp: function newestCollectionTimestamp(username) {
|
||||||
let collections = this.users[username].collections;
|
let collections = this.users[username].collections;
|
||||||
let newest = 0;
|
let newest = 0;
|
||||||
for each (let collection in collections) {
|
for (let name in collections) {
|
||||||
|
let collection = collections[name];
|
||||||
if (collection.timestamp > newest) {
|
if (collection.timestamp > newest) {
|
||||||
newest = collection.timestamp;
|
newest = collection.timestamp;
|
||||||
}
|
}
|
||||||
@ -1149,7 +1152,9 @@ StorageServer.prototype = {
|
|||||||
|
|
||||||
infoQuota: function infoQuota(username) {
|
infoQuota: function infoQuota(username) {
|
||||||
let total = 0;
|
let total = 0;
|
||||||
for each (let value in this.infoUsage(username)) {
|
let usage = this.infoUsage(username);
|
||||||
|
for (let key in usage) {
|
||||||
|
let value = usage[key];
|
||||||
total += value;
|
total += value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1191,9 +1196,11 @@ StorageServer.prototype = {
|
|||||||
_pruneExpired: function _pruneExpired() {
|
_pruneExpired: function _pruneExpired() {
|
||||||
let now = Date.now();
|
let now = Date.now();
|
||||||
|
|
||||||
for each (let user in this.users) {
|
for (let username in this.users) {
|
||||||
for each (let collection in user.collections) {
|
let user = this.users[username];
|
||||||
for each (let bso in collection.bsos()) {
|
for (let name in user.collections) {
|
||||||
|
let collection = user.collections[name];
|
||||||
|
for (let bso of collection.bsos()) {
|
||||||
// ttl === 0 is a special case, so we can't simply !ttl.
|
// ttl === 0 is a special case, so we can't simply !ttl.
|
||||||
if (typeof(bso.ttl) != "number") {
|
if (typeof(bso.ttl) != "number") {
|
||||||
continue;
|
continue;
|
||||||
@ -1240,7 +1247,11 @@ StorageServer.prototype = {
|
|||||||
respond: function respond(req, resp, code, status, body, headers, timestamp) {
|
respond: function respond(req, resp, code, status, body, headers, timestamp) {
|
||||||
this._log.info("Response: " + code + " " + status);
|
this._log.info("Response: " + code + " " + status);
|
||||||
resp.setStatusLine(req.httpVersion, code, status);
|
resp.setStatusLine(req.httpVersion, code, status);
|
||||||
for each (let [header, value] in Iterator(headers || this.defaultHeaders)) {
|
if (!headers) {
|
||||||
|
headers = this.defaultHeaders;
|
||||||
|
}
|
||||||
|
for (let header in headers) {
|
||||||
|
let value = headers[header];
|
||||||
resp.setHeader(header, value, false);
|
resp.setHeader(header, value, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ var {classes: Cc, interfaces: Ci, results: Cr, utils: Cu} = Components;
|
|||||||
* new StringBundle("chrome://example/locale/strings.properties");
|
* new StringBundle("chrome://example/locale/strings.properties");
|
||||||
* let foo = strings.get("foo");
|
* let foo = strings.get("foo");
|
||||||
* let barFormatted = strings.get("bar", [arg1, arg2]);
|
* let barFormatted = strings.get("bar", [arg1, arg2]);
|
||||||
* for each (let string in strings.getAll())
|
* for (let string of strings.getAll())
|
||||||
* dump (string.key + " = " + string.value + "\n");
|
* dump (string.key + " = " + string.value + "\n");
|
||||||
*
|
*
|
||||||
* @param url {String}
|
* @param url {String}
|
||||||
|
@ -87,7 +87,7 @@ class SyncTestCommands(MachCommandBase):
|
|||||||
'-e', 'const SERVER_PORT = "%s";' % port,
|
'-e', 'const SERVER_PORT = "%s";' % port,
|
||||||
'-e', 'const INCLUDE_FILES = [%s];' % ', '.join(head_paths),
|
'-e', 'const INCLUDE_FILES = [%s];' % ', '.join(head_paths),
|
||||||
'-e', '_register_protocol_handlers();',
|
'-e', '_register_protocol_handlers();',
|
||||||
'-e', 'for each (let name in INCLUDE_FILES) load(name);',
|
'-e', 'for (let name of INCLUDE_FILES) load(name);',
|
||||||
'-e', '_fakeIdleService.activate();',
|
'-e', '_fakeIdleService.activate();',
|
||||||
'-f', js_file
|
'-f', js_file
|
||||||
]
|
]
|
||||||
|
@ -42,7 +42,7 @@ function addResourceAlias() {
|
|||||||
.QueryInterface(Ci.nsIResProtocolHandler);
|
.QueryInterface(Ci.nsIResProtocolHandler);
|
||||||
|
|
||||||
let modules = ["common", "crypto"];
|
let modules = ["common", "crypto"];
|
||||||
for each (let module in modules) {
|
for (let module of modules) {
|
||||||
let uri = Services.io.newURI("resource://gre/modules/services-" + module + "/",
|
let uri = Services.io.newURI("resource://gre/modules/services-" + module + "/",
|
||||||
null, null);
|
null, null);
|
||||||
handler.setSubstitution("services-" + module, uri);
|
handler.setSubstitution("services-" + module, uri);
|
||||||
|
@ -34,7 +34,7 @@ const non_android_healthreport_test_modules = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
function expectImportsToSucceed(mm, base=MODULE_BASE) {
|
function expectImportsToSucceed(mm, base=MODULE_BASE) {
|
||||||
for each (let m in mm) {
|
for (let m of mm) {
|
||||||
let resource = base + m;
|
let resource = base + m;
|
||||||
let succeeded = false;
|
let succeeded = false;
|
||||||
try {
|
try {
|
||||||
@ -49,7 +49,7 @@ function expectImportsToSucceed(mm, base=MODULE_BASE) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function expectImportsToFail(mm, base=MODULE_BASE) {
|
function expectImportsToFail(mm, base=MODULE_BASE) {
|
||||||
for each (let m in mm) {
|
for (let m of mm) {
|
||||||
let resource = base + m;
|
let resource = base + m;
|
||||||
let succeeded = false;
|
let succeeded = false;
|
||||||
try {
|
try {
|
||||||
|
@ -60,7 +60,7 @@ add_test(function test_invalid_arguments() {
|
|||||||
["http://example.com/", "assertion", null]
|
["http://example.com/", "assertion", null]
|
||||||
];
|
];
|
||||||
|
|
||||||
for each (let arg in args) {
|
for (let arg of args) {
|
||||||
try {
|
try {
|
||||||
let client = new TokenServerClient();
|
let client = new TokenServerClient();
|
||||||
client.getTokenFromBrowserIDAssertion(arg[0], arg[1], arg[2]);
|
client.getTokenFromBrowserIDAssertion(arg[0], arg[1], arg[2]);
|
||||||
|
@ -205,16 +205,15 @@ this.CommonUtils = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
byteArrayToString: function byteArrayToString(bytes) {
|
byteArrayToString: function byteArrayToString(bytes) {
|
||||||
return [String.fromCharCode(byte) for each (byte in bytes)].join("");
|
return bytes.map(byte => String.fromCharCode(byte)).join("");
|
||||||
},
|
},
|
||||||
|
|
||||||
stringToByteArray: function stringToByteArray(bytesString) {
|
stringToByteArray: function stringToByteArray(bytesString) {
|
||||||
return [String.charCodeAt(byte) for each (byte in bytesString)];
|
return Array.prototype.slice.call(bytesString).map(c => c.charCodeAt(0));
|
||||||
},
|
},
|
||||||
|
|
||||||
bytesAsHex: function bytesAsHex(bytes) {
|
bytesAsHex: function bytesAsHex(bytes) {
|
||||||
return [("0" + bytes.charCodeAt(byte).toString(16)).slice(-2)
|
return Array.prototype.slice.call(bytes).map(c => ("0" + c.charCodeAt(0).toString(16)).slice(-2)).join("");
|
||||||
for (byte in bytes)].join("");
|
|
||||||
},
|
},
|
||||||
|
|
||||||
stringAsHex: function stringAsHex(str) {
|
stringAsHex: function stringAsHex(str) {
|
||||||
@ -256,7 +255,7 @@ this.CommonUtils = {
|
|||||||
// is turned into 8 characters from the 32 character base.
|
// is turned into 8 characters from the 32 character base.
|
||||||
let ret = "";
|
let ret = "";
|
||||||
for (let i = 0; i < bytes.length; i += 5) {
|
for (let i = 0; i < bytes.length; i += 5) {
|
||||||
let c = [byte.charCodeAt() for each (byte in bytes.slice(i, i + 5))];
|
let c = Array.prototype.slice.call(bytes.slice(i, i + 5)).map(byte => byte.charCodeAt(0));
|
||||||
ret += key[c[0] >> 3]
|
ret += key[c[0] >> 3]
|
||||||
+ key[((c[0] << 2) & 0x1f) | (c[1] >> 6)]
|
+ key[((c[0] << 2) & 0x1f) | (c[1] >> 6)]
|
||||||
+ key[(c[1] >> 1) & 0x1f]
|
+ key[(c[1] >> 1) & 0x1f]
|
||||||
|
@ -56,7 +56,7 @@ this.CryptoUtils = {
|
|||||||
*/
|
*/
|
||||||
digestBytes: function digestBytes(message, hasher) {
|
digestBytes: function digestBytes(message, hasher) {
|
||||||
// No UTF-8 encoding for you, sunshine.
|
// No UTF-8 encoding for you, sunshine.
|
||||||
let bytes = [b.charCodeAt() for each (b in message)];
|
let bytes = Array.prototype.slice.call(message).map(b => b.charCodeAt(0));
|
||||||
hasher.update(bytes, bytes.length);
|
hasher.update(bytes, bytes.length);
|
||||||
let result = hasher.finish(false);
|
let result = hasher.finish(false);
|
||||||
if (hasher instanceof Ci.nsICryptoHMAC) {
|
if (hasher instanceof Ci.nsICryptoHMAC) {
|
||||||
|
@ -7,7 +7,7 @@ const modules = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
function run_test() {
|
function run_test() {
|
||||||
for each (let m in modules) {
|
for (let m of modules) {
|
||||||
let resource = "resource://services-crypto/" + m;
|
let resource = "resource://services-crypto/" + m;
|
||||||
_("Attempting to import: " + resource);
|
_("Attempting to import: " + resource);
|
||||||
Components.utils.import(resource, {});
|
Components.utils.import(resource, {});
|
||||||
|
@ -282,7 +282,8 @@ this.ProviderManager.prototype = Object.freeze({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for each (let providerType in this._pullOnlyProviders) {
|
for (let name in this._pullOnlyProviders) {
|
||||||
|
let providerType = this._pullOnlyProviders[name];
|
||||||
// Short-circuit if we're no longer registering.
|
// Short-circuit if we're no longer registering.
|
||||||
if (this._pullOnlyProvidersState != this.PULL_ONLY_REGISTERING) {
|
if (this._pullOnlyProvidersState != this.PULL_ONLY_REGISTERING) {
|
||||||
this._log.debug("Aborting pull-only provider registration.");
|
this._log.debug("Aborting pull-only provider registration.");
|
||||||
|
@ -218,11 +218,12 @@ AddonsReconciler.prototype = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this._addons = json.addons;
|
this._addons = json.addons;
|
||||||
for each (let record in this._addons) {
|
for (let id in this._addons) {
|
||||||
|
let record = this._addons[id];
|
||||||
record.modified = new Date(record.modified);
|
record.modified = new Date(record.modified);
|
||||||
}
|
}
|
||||||
|
|
||||||
for each (let [time, change, id] in json.changes) {
|
for (let [time, change, id] of json.changes) {
|
||||||
this._changes.push([new Date(time), change, id]);
|
this._changes.push([new Date(time), change, id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -258,7 +259,7 @@ AddonsReconciler.prototype = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for each (let [time, change, id] in this._changes) {
|
for (let [time, change, id] of this._changes) {
|
||||||
state.changes.push([time.getTime(), change, id]);
|
state.changes.push([time.getTime(), change, id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -350,7 +351,7 @@ AddonsReconciler.prototype = {
|
|||||||
AddonManager.getAllAddons(function (addons) {
|
AddonManager.getAllAddons(function (addons) {
|
||||||
let ids = {};
|
let ids = {};
|
||||||
|
|
||||||
for each (let addon in addons) {
|
for (let addon of addons) {
|
||||||
ids[addon.id] = true;
|
ids[addon.id] = true;
|
||||||
this.rectifyStateFromAddon(addon);
|
this.rectifyStateFromAddon(addon);
|
||||||
}
|
}
|
||||||
@ -373,7 +374,7 @@ AddonsReconciler.prototype = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let installFound = false;
|
let installFound = false;
|
||||||
for each (let install in installs) {
|
for (let install of installs) {
|
||||||
if (install.addon && install.addon.id == id &&
|
if (install.addon && install.addon.id == id &&
|
||||||
install.state == AddonManager.STATE_INSTALLED) {
|
install.state == AddonManager.STATE_INSTALLED) {
|
||||||
|
|
||||||
@ -483,7 +484,7 @@ AddonsReconciler.prototype = {
|
|||||||
this._log.info("Change recorded for " + state.id);
|
this._log.info("Change recorded for " + state.id);
|
||||||
this._changes.push([date, change, state.id]);
|
this._changes.push([date, change, state.id]);
|
||||||
|
|
||||||
for each (let listener in this._listeners) {
|
for (let listener of this._listeners) {
|
||||||
try {
|
try {
|
||||||
listener.changeListener.call(listener, date, change, state);
|
listener.changeListener.call(listener, date, change, state);
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
@ -554,7 +555,8 @@ AddonsReconciler.prototype = {
|
|||||||
* @return Object on success on null on failure.
|
* @return Object on success on null on failure.
|
||||||
*/
|
*/
|
||||||
getAddonStateFromSyncGUID: function getAddonStateFromSyncGUID(guid) {
|
getAddonStateFromSyncGUID: function getAddonStateFromSyncGUID(guid) {
|
||||||
for each (let addon in this.addons) {
|
for (let id in this.addons) {
|
||||||
|
let addon = this.addons[id];
|
||||||
if (addon.guid == guid) {
|
if (addon.guid == guid) {
|
||||||
return addon;
|
return addon;
|
||||||
}
|
}
|
||||||
|
@ -248,7 +248,7 @@ AddonUtilsInternal.prototype = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let ids = [];
|
let ids = [];
|
||||||
for each (let addon in installs) {
|
for (let addon of installs) {
|
||||||
ids.push(addon.id);
|
ids.push(addon.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -298,7 +298,7 @@ AddonUtilsInternal.prototype = {
|
|||||||
// server-side metrics aren't skewed (bug 708134). The server should
|
// server-side metrics aren't skewed (bug 708134). The server should
|
||||||
// ideally send proper URLs, but this solution was deemed too
|
// ideally send proper URLs, but this solution was deemed too
|
||||||
// complicated at the time the functionality was implemented.
|
// complicated at the time the functionality was implemented.
|
||||||
for each (let addon in addons) {
|
for (let addon of addons) {
|
||||||
// sourceURI presence isn't enforced by AddonRepository. So, we skip
|
// sourceURI presence isn't enforced by AddonRepository. So, we skip
|
||||||
// add-ons without a sourceURI.
|
// add-ons without a sourceURI.
|
||||||
if (!addon.sourceURI) {
|
if (!addon.sourceURI) {
|
||||||
@ -342,9 +342,9 @@ AddonUtilsInternal.prototype = {
|
|||||||
|
|
||||||
// Start all the installs asynchronously. They will report back to us
|
// Start all the installs asynchronously. They will report back to us
|
||||||
// as they finish, eventually triggering the global callback.
|
// as they finish, eventually triggering the global callback.
|
||||||
for each (let addon in toInstall) {
|
for (let addon of toInstall) {
|
||||||
let options = {};
|
let options = {};
|
||||||
for each (let install in installs) {
|
for (let install of installs) {
|
||||||
if (install.id == addon.id) {
|
if (install.id == addon.id) {
|
||||||
options = install;
|
options = install;
|
||||||
break;
|
break;
|
||||||
|
@ -299,7 +299,7 @@ Store.prototype = {
|
|||||||
*/
|
*/
|
||||||
applyIncomingBatch: function (records) {
|
applyIncomingBatch: function (records) {
|
||||||
let failed = [];
|
let failed = [];
|
||||||
for each (let record in records) {
|
for (let record of records) {
|
||||||
try {
|
try {
|
||||||
this.applyIncoming(record);
|
this.applyIncoming(record);
|
||||||
} catch (ex if (ex.code == Engine.prototype.eEngineAbortApplyIncoming)) {
|
} catch (ex if (ex.code == Engine.prototype.eEngineAbortApplyIncoming)) {
|
||||||
@ -497,7 +497,7 @@ EngineManager.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
get enabledEngineNames() {
|
get enabledEngineNames() {
|
||||||
return [e.name for each (e in this.getEnabled())];
|
return this.getEnabled().map(e => e.name);
|
||||||
},
|
},
|
||||||
|
|
||||||
persistDeclined: function () {
|
persistDeclined: function () {
|
||||||
@ -1464,14 +1464,15 @@ SyncEngine.prototype = {
|
|||||||
+ failed_ids.join(", "));
|
+ failed_ids.join(", "));
|
||||||
|
|
||||||
// Clear successfully uploaded objects.
|
// Clear successfully uploaded objects.
|
||||||
for each (let id in resp.obj.success) {
|
for (let key in resp.obj.success) {
|
||||||
|
let id = resp.obj.success[key];
|
||||||
delete this._modified[id];
|
delete this._modified[id];
|
||||||
}
|
}
|
||||||
|
|
||||||
up.clearRecords();
|
up.clearRecords();
|
||||||
});
|
});
|
||||||
|
|
||||||
for each (let id in modifiedIDs) {
|
for (let id of modifiedIDs) {
|
||||||
try {
|
try {
|
||||||
let out = this._createRecord(id);
|
let out = this._createRecord(id);
|
||||||
if (this._log.level <= Log.Level.Trace)
|
if (this._log.level <= Log.Level.Trace)
|
||||||
|
@ -160,7 +160,7 @@ AddonsEngine.prototype = {
|
|||||||
// we assume this function is only called from within a sync.
|
// we assume this function is only called from within a sync.
|
||||||
let reconcilerChanges = this._reconciler.getChangesSinceDate(lastSyncDate);
|
let reconcilerChanges = this._reconciler.getChangesSinceDate(lastSyncDate);
|
||||||
let addons = this._reconciler.addons;
|
let addons = this._reconciler.addons;
|
||||||
for each (let change in reconcilerChanges) {
|
for (let change of reconcilerChanges) {
|
||||||
let changeTime = change[0];
|
let changeTime = change[0];
|
||||||
let id = change[2];
|
let id = change[2];
|
||||||
|
|
||||||
@ -299,7 +299,7 @@ AddonsStore.prototype = {
|
|||||||
let results = cb.wait();
|
let results = cb.wait();
|
||||||
|
|
||||||
let addon;
|
let addon;
|
||||||
for each (let a in results.addons) {
|
for (let a of results.addons) {
|
||||||
if (a.id == record.addonID) {
|
if (a.id == record.addonID) {
|
||||||
addon = a;
|
addon = a;
|
||||||
break;
|
break;
|
||||||
@ -443,7 +443,8 @@ AddonsStore.prototype = {
|
|||||||
let ids = {};
|
let ids = {};
|
||||||
|
|
||||||
let addons = this.reconciler.addons;
|
let addons = this.reconciler.addons;
|
||||||
for each (let addon in addons) {
|
for (let id in addons) {
|
||||||
|
let addon = addons[id];
|
||||||
if (this.isAddonSyncable(addon)) {
|
if (this.isAddonSyncable(addon)) {
|
||||||
ids[addon.guid] = true;
|
ids[addon.guid] = true;
|
||||||
}
|
}
|
||||||
|
@ -179,7 +179,7 @@ var kSpecialIds = {
|
|||||||
|
|
||||||
// Don't bother creating mobile: if it doesn't exist, this ID can't be it!
|
// Don't bother creating mobile: if it doesn't exist, this ID can't be it!
|
||||||
specialGUIDForId: function specialGUIDForId(id) {
|
specialGUIDForId: function specialGUIDForId(id) {
|
||||||
for each (let guid in this.guids)
|
for (let guid of this.guids)
|
||||||
if (this.specialIdForGUID(guid, false) == id)
|
if (this.specialIdForGUID(guid, false) == id)
|
||||||
return guid;
|
return guid;
|
||||||
return null;
|
return null;
|
||||||
@ -507,7 +507,8 @@ function BookmarksStore(name, engine) {
|
|||||||
|
|
||||||
// Explicitly nullify our references to our cached services so we don't leak
|
// Explicitly nullify our references to our cached services so we don't leak
|
||||||
Svc.Obs.add("places-shutdown", function() {
|
Svc.Obs.add("places-shutdown", function() {
|
||||||
for each (let [query, stmt] in Iterator(this._stmts)) {
|
for (let query in this._stmts) {
|
||||||
|
let stmt = this._stmts[query];
|
||||||
stmt.finalize();
|
stmt.finalize();
|
||||||
}
|
}
|
||||||
this._stmts = {};
|
this._stmts = {};
|
||||||
@ -564,7 +565,7 @@ BookmarksStore.prototype = {
|
|||||||
this._log.debug("Tag query folder: " + tag + " = " + child.itemId);
|
this._log.debug("Tag query folder: " + tag + " = " + child.itemId);
|
||||||
|
|
||||||
this._log.trace("Replacing folders in: " + uri);
|
this._log.trace("Replacing folders in: " + uri);
|
||||||
for each (let q in queriesRef.value)
|
for (let q of queriesRef.value)
|
||||||
q.setFolders([child.itemId], 1);
|
q.setFolders([child.itemId], 1);
|
||||||
|
|
||||||
record.bmkUri = PlacesUtils.history.queriesToQueryString(
|
record.bmkUri = PlacesUtils.history.queriesToQueryString(
|
||||||
@ -1361,7 +1362,7 @@ BookmarksStore.prototype = {
|
|||||||
if (kSpecialIds.findMobileRoot(false)) {
|
if (kSpecialIds.findMobileRoot(false)) {
|
||||||
items["mobile"] = true;
|
items["mobile"] = true;
|
||||||
}
|
}
|
||||||
for each (let guid in kSpecialIds.guids) {
|
for (let guid of kSpecialIds.guids) {
|
||||||
if (guid != "places" && guid != "tags")
|
if (guid != "places" && guid != "tags")
|
||||||
this._getChildren(guid, items);
|
this._getChildren(guid, items);
|
||||||
}
|
}
|
||||||
@ -1373,7 +1374,7 @@ BookmarksStore.prototype = {
|
|||||||
Task.spawn(function() {
|
Task.spawn(function() {
|
||||||
// Save a backup before clearing out all bookmarks.
|
// Save a backup before clearing out all bookmarks.
|
||||||
yield PlacesBackups.create(null, true);
|
yield PlacesBackups.create(null, true);
|
||||||
for each (let guid in kSpecialIds.guids)
|
for (let guid of kSpecialIds.guids)
|
||||||
if (guid != "places") {
|
if (guid != "places") {
|
||||||
let id = kSpecialIds.specialIdForGUID(guid);
|
let id = kSpecialIds.specialIdForGUID(guid);
|
||||||
if (id)
|
if (id)
|
||||||
|
@ -68,7 +68,8 @@ ClientEngine.prototype = {
|
|||||||
numClients: 1,
|
numClients: 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
for each (let {name, type} in this._store._remoteClients) {
|
for (let id in this._store._remoteClients) {
|
||||||
|
let {name, type} = this._store._remoteClients[id];
|
||||||
stats.hasMobile = stats.hasMobile || type == "mobile";
|
stats.hasMobile = stats.hasMobile || type == "mobile";
|
||||||
stats.names.push(name);
|
stats.names.push(name);
|
||||||
stats.numClients++;
|
stats.numClients++;
|
||||||
@ -87,7 +88,8 @@ ClientEngine.prototype = {
|
|||||||
|
|
||||||
counts.set(this.localType, 1);
|
counts.set(this.localType, 1);
|
||||||
|
|
||||||
for each (let record in this._store._remoteClients) {
|
for (let id in this._store._remoteClients) {
|
||||||
|
let record = this._store._remoteClients[id];
|
||||||
let type = record.type;
|
let type = record.type;
|
||||||
if (!counts.has(type)) {
|
if (!counts.has(type)) {
|
||||||
counts.set(type, 0);
|
counts.set(type, 0);
|
||||||
@ -258,7 +260,11 @@ ClientEngine.prototype = {
|
|||||||
this.clearCommands();
|
this.clearCommands();
|
||||||
|
|
||||||
// Process each command in order.
|
// Process each command in order.
|
||||||
for each (let {command, args} in commands) {
|
if (!commands) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
for (let key in commands) {
|
||||||
|
let {command, args} = commands[key];
|
||||||
this._log.debug("Processing command: " + command + "(" + args + ")");
|
this._log.debug("Processing command: " + command + "(" + args + ")");
|
||||||
|
|
||||||
let engines = [args[0]];
|
let engines = [args[0]];
|
||||||
|
@ -70,7 +70,8 @@ function HistoryStore(name, engine) {
|
|||||||
|
|
||||||
// Explicitly nullify our references to our cached services so we don't leak
|
// Explicitly nullify our references to our cached services so we don't leak
|
||||||
Svc.Obs.add("places-shutdown", function() {
|
Svc.Obs.add("places-shutdown", function() {
|
||||||
for each ([query, stmt] in Iterator(this._stmts)) {
|
for (let query in this._stmts) {
|
||||||
|
let stmt = this._stmts;
|
||||||
stmt.finalize();
|
stmt.finalize();
|
||||||
}
|
}
|
||||||
this._stmts = {};
|
this._stmts = {};
|
||||||
|
@ -85,7 +85,7 @@ PasswordEngine.prototype = {
|
|||||||
this._store._sleep(0); // Yield back to main thread after synchronous operation.
|
this._store._sleep(0); // Yield back to main thread after synchronous operation.
|
||||||
|
|
||||||
// Look for existing logins that match the hostname, but ignore the password.
|
// Look for existing logins that match the hostname, but ignore the password.
|
||||||
for each (let local in logins) {
|
for (let local of logins) {
|
||||||
if (login.matches(local, true) && local instanceof Ci.nsILoginMetaInfo) {
|
if (login.matches(local, true) && local instanceof Ci.nsILoginMetaInfo) {
|
||||||
return local.guid;
|
return local.guid;
|
||||||
}
|
}
|
||||||
|
@ -101,7 +101,7 @@ PrefStore.prototype = {
|
|||||||
|
|
||||||
_getAllPrefs: function () {
|
_getAllPrefs: function () {
|
||||||
let values = {};
|
let values = {};
|
||||||
for each (let pref in this._getSyncPrefs()) {
|
for (let pref of this._getSyncPrefs()) {
|
||||||
if (this._isSynced(pref)) {
|
if (this._isSynced(pref)) {
|
||||||
// Missing prefs get the null value.
|
// Missing prefs get the null value.
|
||||||
values[pref] = this._prefs.get(pref, null);
|
values[pref] = this._prefs.get(pref, null);
|
||||||
|
@ -302,7 +302,7 @@ TabTracker.prototype = {
|
|||||||
|
|
||||||
_registerListenersForWindow: function (window) {
|
_registerListenersForWindow: function (window) {
|
||||||
this._log.trace("Registering tab listeners in window");
|
this._log.trace("Registering tab listeners in window");
|
||||||
for each (let topic in this._topics) {
|
for (let topic of this._topics) {
|
||||||
window.addEventListener(topic, this.onTab, false);
|
window.addEventListener(topic, this.onTab, false);
|
||||||
}
|
}
|
||||||
window.addEventListener("unload", this._unregisterListeners, false);
|
window.addEventListener("unload", this._unregisterListeners, false);
|
||||||
@ -315,7 +315,7 @@ TabTracker.prototype = {
|
|||||||
_unregisterListenersForWindow: function (window) {
|
_unregisterListenersForWindow: function (window) {
|
||||||
this._log.trace("Removing tab listeners in window");
|
this._log.trace("Removing tab listeners in window");
|
||||||
window.removeEventListener("unload", this._unregisterListeners, false);
|
window.removeEventListener("unload", this._unregisterListeners, false);
|
||||||
for each (let topic in this._topics) {
|
for (let topic of this._topics) {
|
||||||
window.removeEventListener(topic, this.onTab, false);
|
window.removeEventListener(topic, this.onTab, false);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -195,7 +195,7 @@ IdentityManager.prototype = {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
for each (let login in this._getLogins(PWDMGR_PASSWORD_REALM)) {
|
for (let login of this._getLogins(PWDMGR_PASSWORD_REALM)) {
|
||||||
if (login.username.toLowerCase() == username) {
|
if (login.username.toLowerCase() == username) {
|
||||||
// It should already be UTF-8 encoded, but we don't take any chances.
|
// It should already be UTF-8 encoded, but we don't take any chances.
|
||||||
this._basicPassword = Utils.encodeUTF8(login.password);
|
this._basicPassword = Utils.encodeUTF8(login.password);
|
||||||
@ -249,7 +249,7 @@ IdentityManager.prototype = {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
for each (let login in this._getLogins(PWDMGR_PASSPHRASE_REALM)) {
|
for (let login of this._getLogins(PWDMGR_PASSPHRASE_REALM)) {
|
||||||
if (login.username.toLowerCase() == username) {
|
if (login.username.toLowerCase() == username) {
|
||||||
this._syncKey = login.password;
|
this._syncKey = login.password;
|
||||||
}
|
}
|
||||||
@ -400,7 +400,7 @@ IdentityManager.prototype = {
|
|||||||
this._setLogin(PWDMGR_PASSWORD_REALM, this.username,
|
this._setLogin(PWDMGR_PASSWORD_REALM, this.username,
|
||||||
this._basicPassword);
|
this._basicPassword);
|
||||||
} else {
|
} else {
|
||||||
for each (let login in this._getLogins(PWDMGR_PASSWORD_REALM)) {
|
for (let login of this._getLogins(PWDMGR_PASSWORD_REALM)) {
|
||||||
Services.logins.removeLogin(login);
|
Services.logins.removeLogin(login);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -412,7 +412,7 @@ IdentityManager.prototype = {
|
|||||||
if (this._syncKey) {
|
if (this._syncKey) {
|
||||||
this._setLogin(PWDMGR_PASSPHRASE_REALM, this.username, this._syncKey);
|
this._setLogin(PWDMGR_PASSPHRASE_REALM, this.username, this._syncKey);
|
||||||
} else {
|
} else {
|
||||||
for each (let login in this._getLogins(PWDMGR_PASSPHRASE_REALM)) {
|
for (let login of this._getLogins(PWDMGR_PASSPHRASE_REALM)) {
|
||||||
Services.logins.removeLogin(login);
|
Services.logins.removeLogin(login);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -466,7 +466,7 @@ IdentityManager.prototype = {
|
|||||||
*/
|
*/
|
||||||
_setLogin: function _setLogin(realm, username, password) {
|
_setLogin: function _setLogin(realm, username, password) {
|
||||||
let exists = false;
|
let exists = false;
|
||||||
for each (let login in this._getLogins(realm)) {
|
for (let login of this._getLogins(realm)) {
|
||||||
if (login.username == username && login.password == password) {
|
if (login.username == username && login.password == password) {
|
||||||
exists = true;
|
exists = true;
|
||||||
} else {
|
} else {
|
||||||
@ -502,7 +502,7 @@ IdentityManager.prototype = {
|
|||||||
deleteSyncCredentials: function deleteSyncCredentials() {
|
deleteSyncCredentials: function deleteSyncCredentials() {
|
||||||
for (let host of this._getSyncCredentialsHosts()) {
|
for (let host of this._getSyncCredentialsHosts()) {
|
||||||
let logins = Services.logins.findLogins({}, host, "", "");
|
let logins = Services.logins.findLogins({}, host, "", "");
|
||||||
for each (let login in logins) {
|
for (let login of logins) {
|
||||||
Services.logins.removeLogin(login);
|
Services.logins.removeLogin(login);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -281,8 +281,7 @@ JPAKEClient.prototype = {
|
|||||||
let rng = Cc["@mozilla.org/security/random-generator;1"]
|
let rng = Cc["@mozilla.org/security/random-generator;1"]
|
||||||
.createInstance(Ci.nsIRandomGenerator);
|
.createInstance(Ci.nsIRandomGenerator);
|
||||||
let bytes = rng.generateRandomBytes(JPAKE_LENGTH_CLIENTID / 2);
|
let bytes = rng.generateRandomBytes(JPAKE_LENGTH_CLIENTID / 2);
|
||||||
this._clientID = [("0" + byte.toString(16)).slice(-2)
|
this._clientID = bytes.map(byte => ("0" + byte.toString(16)).slice(-2)).join("");
|
||||||
for each (byte in bytes)].join("");
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_createSecret: function _createSecret() {
|
_createSecret: function _createSecret() {
|
||||||
@ -291,8 +290,7 @@ JPAKEClient.prototype = {
|
|||||||
let rng = Cc["@mozilla.org/security/random-generator;1"]
|
let rng = Cc["@mozilla.org/security/random-generator;1"]
|
||||||
.createInstance(Ci.nsIRandomGenerator);
|
.createInstance(Ci.nsIRandomGenerator);
|
||||||
let bytes = rng.generateRandomBytes(JPAKE_LENGTH_SECRET);
|
let bytes = rng.generateRandomBytes(JPAKE_LENGTH_SECRET);
|
||||||
return [key[Math.floor(byte * key.length / 256)]
|
return bytes.map(byte => key[Math.floor(byte * key.length / 256)]).join("");
|
||||||
for each (byte in bytes)].join("");
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_newRequest: function _newRequest(uri) {
|
_newRequest: function _newRequest(uri) {
|
||||||
|
@ -312,7 +312,7 @@ CollectionKeyManager.prototype = {
|
|||||||
// Return a sorted, unique array.
|
// Return a sorted, unique array.
|
||||||
changed.sort();
|
changed.sort();
|
||||||
let last;
|
let last;
|
||||||
changed = [x for each (x in changed) if ((x != last) && (last = x))];
|
changed = changed.filter(x => (x != last) && (last = x));
|
||||||
return {same: changed.length == 0,
|
return {same: changed.length == 0,
|
||||||
changed: changed};
|
changed: changed};
|
||||||
},
|
},
|
||||||
|
@ -442,7 +442,7 @@ Sync11Service.prototype = {
|
|||||||
|
|
||||||
// Map each old pref to the current pref branch
|
// Map each old pref to the current pref branch
|
||||||
let oldPref = new Preferences(oldPrefBranch);
|
let oldPref = new Preferences(oldPrefBranch);
|
||||||
for each (let pref in oldPrefNames)
|
for (let pref of oldPrefNames)
|
||||||
Svc.Prefs.set(pref, oldPref.get(pref));
|
Svc.Prefs.set(pref, oldPref.get(pref));
|
||||||
|
|
||||||
// Remove all the old prefs and remember that we've migrated
|
// Remove all the old prefs and remember that we've migrated
|
||||||
@ -901,7 +901,7 @@ Sync11Service.prototype = {
|
|||||||
// Deletion doesn't make sense if we aren't set up yet!
|
// Deletion doesn't make sense if we aren't set up yet!
|
||||||
if (this.clusterURL != "") {
|
if (this.clusterURL != "") {
|
||||||
// Clear client-specific data from the server, including disabled engines.
|
// Clear client-specific data from the server, including disabled engines.
|
||||||
for each (let engine in [this.clientsEngine].concat(this.engineManager.getAll())) {
|
for (let engine of [this.clientsEngine].concat(this.engineManager.getAll())) {
|
||||||
try {
|
try {
|
||||||
engine.removeClientData();
|
engine.removeClientData();
|
||||||
} catch(ex) {
|
} catch(ex) {
|
||||||
@ -1511,7 +1511,7 @@ Sync11Service.prototype = {
|
|||||||
|
|
||||||
// Wipe everything we know about except meta because we just uploaded it
|
// Wipe everything we know about except meta because we just uploaded it
|
||||||
let engines = [this.clientsEngine].concat(this.engineManager.getAll());
|
let engines = [this.clientsEngine].concat(this.engineManager.getAll());
|
||||||
let collections = [engine.name for each (engine in engines)];
|
let collections = engines.map(engine => engine.name);
|
||||||
// TODO: there's a bug here. We should be calling resetClient, no?
|
// TODO: there's a bug here. We should be calling resetClient, no?
|
||||||
|
|
||||||
// Generate, upload, and download new keys. Do this last so we don't wipe
|
// Generate, upload, and download new keys. Do this last so we don't wipe
|
||||||
@ -1593,7 +1593,7 @@ Sync11Service.prototype = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Fully wipe each engine if it's able to decrypt data
|
// Fully wipe each engine if it's able to decrypt data
|
||||||
for each (let engine in engines) {
|
for (let engine of engines) {
|
||||||
if (engine.canDecrypt()) {
|
if (engine.canDecrypt()) {
|
||||||
engine.wipeClient();
|
engine.wipeClient();
|
||||||
}
|
}
|
||||||
@ -1671,7 +1671,7 @@ Sync11Service.prototype = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Have each engine drop any temporary meta data
|
// Have each engine drop any temporary meta data
|
||||||
for each (let engine in engines) {
|
for (let engine of engines) {
|
||||||
engine.resetClient();
|
engine.resetClient();
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
@ -29,8 +29,8 @@ this.DeclinedEngines = function (service) {
|
|||||||
}
|
}
|
||||||
this.DeclinedEngines.prototype = {
|
this.DeclinedEngines.prototype = {
|
||||||
updateDeclined: function (meta, engineManager=this.service.engineManager) {
|
updateDeclined: function (meta, engineManager=this.service.engineManager) {
|
||||||
let enabled = new Set([e.name for each (e in engineManager.getEnabled())]);
|
let enabled = new Set(engineManager.getEnabled().map(e => e.name));
|
||||||
let known = new Set([e.name for each (e in engineManager.getAll())]);
|
let known = new Set(engineManager.getAll().map(e => e.name));
|
||||||
let remoteDeclined = new Set(meta.payload.declined || []);
|
let remoteDeclined = new Set(meta.payload.declined || []);
|
||||||
let localDeclined = new Set(engineManager.getDeclined());
|
let localDeclined = new Set(engineManager.getDeclined());
|
||||||
|
|
||||||
|
@ -289,7 +289,7 @@ EngineSynchronizer.prototype = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Any remaining engines were either enabled locally or disabled remotely.
|
// Any remaining engines were either enabled locally or disabled remotely.
|
||||||
for each (let engineName in enabled) {
|
for (let engineName of enabled) {
|
||||||
let engine = engineManager.get(engineName);
|
let engine = engineManager.get(engineName);
|
||||||
if (Svc.Prefs.get("engineStatusChanged." + engine.prefName, false)) {
|
if (Svc.Prefs.get("engineStatusChanged." + engine.prefName, false)) {
|
||||||
this._log.trace("The " + engineName + " engine was enabled locally.");
|
this._log.trace("The " + engineName + " engine was enabled locally.");
|
||||||
|
@ -60,7 +60,7 @@ registrar.registerFactory(Components.ID("{fbfae60b-64a4-44ef-a911-08ceb70b9f31}"
|
|||||||
function addResourceAlias() {
|
function addResourceAlias() {
|
||||||
const resProt = Services.io.getProtocolHandler("resource")
|
const resProt = Services.io.getProtocolHandler("resource")
|
||||||
.QueryInterface(Ci.nsIResProtocolHandler);
|
.QueryInterface(Ci.nsIResProtocolHandler);
|
||||||
for each (let s in ["common", "sync", "crypto"]) {
|
for (let s of ["common", "sync", "crypto"]) {
|
||||||
let uri = Services.io.newURI("resource://gre/modules/services-" + s + "/", null,
|
let uri = Services.io.newURI("resource://gre/modules/services-" + s + "/", null,
|
||||||
null);
|
null);
|
||||||
resProt.setSubstitution("services-" + s, uri);
|
resProt.setSubstitution("services-" + s, uri);
|
||||||
|
@ -309,7 +309,8 @@ ServerCollection.prototype = {
|
|||||||
|
|
||||||
// This will count records where we have an existing ServerWBO
|
// This will count records where we have an existing ServerWBO
|
||||||
// registered with us as successful and all other records as failed.
|
// registered with us as successful and all other records as failed.
|
||||||
for each (let record in input) {
|
for (let key in input) {
|
||||||
|
let record = input[key];
|
||||||
let wbo = this.wbo(record.id);
|
let wbo = this.wbo(record.id);
|
||||||
if (!wbo && this.acceptNew) {
|
if (!wbo && this.acceptNew) {
|
||||||
this._log.debug("Creating WBO " + JSON.stringify(record.id) +
|
this._log.debug("Creating WBO " + JSON.stringify(record.id) +
|
||||||
@ -354,7 +355,7 @@ ServerCollection.prototype = {
|
|||||||
|
|
||||||
// Parse queryString
|
// Parse queryString
|
||||||
let options = {};
|
let options = {};
|
||||||
for each (let chunk in request.queryString.split("&")) {
|
for (let chunk of request.queryString.split("&")) {
|
||||||
if (!chunk) {
|
if (!chunk) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -704,7 +705,8 @@ SyncServer.prototype = {
|
|||||||
throw new Error("Unknown user.");
|
throw new Error("Unknown user.");
|
||||||
}
|
}
|
||||||
let userCollections = this.users[username].collections;
|
let userCollections = this.users[username].collections;
|
||||||
for each (let [name, coll] in Iterator(userCollections)) {
|
for (let name in userCollections) {
|
||||||
|
let coll = userCollections[name];
|
||||||
this._log.trace("Bulk deleting " + name + " for " + username + "...");
|
this._log.trace("Bulk deleting " + name + " for " + username + "...");
|
||||||
coll.delete({});
|
coll.delete({});
|
||||||
}
|
}
|
||||||
@ -768,7 +770,10 @@ SyncServer.prototype = {
|
|||||||
*/
|
*/
|
||||||
respond: function respond(req, resp, code, status, body, headers) {
|
respond: function respond(req, resp, code, status, body, headers) {
|
||||||
resp.setStatusLine(req.httpVersion, code, status);
|
resp.setStatusLine(req.httpVersion, code, status);
|
||||||
for each (let [header, value] in Iterator(headers || this.defaultHeaders)) {
|
if (!headers)
|
||||||
|
headers = this.defaultHeaders;
|
||||||
|
for (let header in headers) {
|
||||||
|
let value = headers[header];
|
||||||
resp.setHeader(header, value);
|
resp.setHeader(header, value);
|
||||||
}
|
}
|
||||||
resp.setHeader("X-Weave-Timestamp", "" + this.timestamp(), false);
|
resp.setHeader("X-Weave-Timestamp", "" + this.timestamp(), false);
|
||||||
|
@ -71,7 +71,7 @@ add_test(function test_install_detection() {
|
|||||||
|
|
||||||
const KEYS = ["id", "guid", "enabled", "installed", "modified", "type",
|
const KEYS = ["id", "guid", "enabled", "installed", "modified", "type",
|
||||||
"scope", "foreignInstall"];
|
"scope", "foreignInstall"];
|
||||||
for each (let key in KEYS) {
|
for (let key of KEYS) {
|
||||||
do_check_true(key in record);
|
do_check_true(key in record);
|
||||||
do_check_neq(null, record[key]);
|
do_check_neq(null, record[key]);
|
||||||
}
|
}
|
||||||
|
@ -204,7 +204,7 @@ add_test(function test_addon_syncability() {
|
|||||||
|
|
||||||
let dummy = {};
|
let dummy = {};
|
||||||
const KEYS = ["id", "syncGUID", "type", "scope", "foreignInstall"];
|
const KEYS = ["id", "syncGUID", "type", "scope", "foreignInstall"];
|
||||||
for each (let k in KEYS) {
|
for (let k of KEYS) {
|
||||||
dummy[k] = addon[k];
|
dummy[k] = addon[k];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -243,16 +243,16 @@ add_test(function test_addon_syncability() {
|
|||||||
"https://untrusted.example.com/foo", // non-trusted hostname`
|
"https://untrusted.example.com/foo", // non-trusted hostname`
|
||||||
];
|
];
|
||||||
|
|
||||||
for each (let uri in trusted) {
|
for (let uri of trusted) {
|
||||||
do_check_true(store.isSourceURITrusted(createURI(uri)));
|
do_check_true(store.isSourceURITrusted(createURI(uri)));
|
||||||
}
|
}
|
||||||
|
|
||||||
for each (let uri in untrusted) {
|
for (let uri of untrusted) {
|
||||||
do_check_false(store.isSourceURITrusted(createURI(uri)));
|
do_check_false(store.isSourceURITrusted(createURI(uri)));
|
||||||
}
|
}
|
||||||
|
|
||||||
Svc.Prefs.set("addons.trustedSourceHostnames", "");
|
Svc.Prefs.set("addons.trustedSourceHostnames", "");
|
||||||
for each (let uri in trusted) {
|
for (let uri of trusted) {
|
||||||
do_check_false(store.isSourceURITrusted(createURI(uri)));
|
do_check_false(store.isSourceURITrusted(createURI(uri)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -278,7 +278,7 @@ add_test(function test_ignore_hotfixes() {
|
|||||||
|
|
||||||
let dummy = {};
|
let dummy = {};
|
||||||
const KEYS = ["id", "syncGUID", "type", "scope", "foreignInstall"];
|
const KEYS = ["id", "syncGUID", "type", "scope", "foreignInstall"];
|
||||||
for each (let k in KEYS) {
|
for (let k of KEYS) {
|
||||||
dummy[k] = addon[k];
|
dummy[k] = addon[k];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,8 +80,8 @@ add_test(function test_bookmark_create() {
|
|||||||
_("Have the store create a new record object. Verify that it has the same data.");
|
_("Have the store create a new record object. Verify that it has the same data.");
|
||||||
let newrecord = store.createRecord(fxrecord.id);
|
let newrecord = store.createRecord(fxrecord.id);
|
||||||
do_check_true(newrecord instanceof Bookmark);
|
do_check_true(newrecord instanceof Bookmark);
|
||||||
for each (let property in ["type", "bmkUri", "description", "title",
|
for (let property of ["type", "bmkUri", "description", "title",
|
||||||
"keyword", "parentName", "parentid"]) {
|
"keyword", "parentName", "parentid"]) {
|
||||||
do_check_eq(newrecord[property], fxrecord[property]);
|
do_check_eq(newrecord[property], fxrecord[property]);
|
||||||
}
|
}
|
||||||
do_check_true(Utils.deepEquals(newrecord.tags.sort(),
|
do_check_true(Utils.deepEquals(newrecord.tags.sort(),
|
||||||
@ -197,7 +197,7 @@ add_test(function test_folder_create() {
|
|||||||
_("Have the store create a new record object. Verify that it has the same data.");
|
_("Have the store create a new record object. Verify that it has the same data.");
|
||||||
let newrecord = store.createRecord(folder.id);
|
let newrecord = store.createRecord(folder.id);
|
||||||
do_check_true(newrecord instanceof BookmarkFolder);
|
do_check_true(newrecord instanceof BookmarkFolder);
|
||||||
for each (let property in ["title", "parentName", "parentid"])
|
for (let property of ["title", "parentName", "parentid"])
|
||||||
do_check_eq(newrecord[property], folder[property]);
|
do_check_eq(newrecord[property], folder[property]);
|
||||||
|
|
||||||
_("Folders have high sort index to ensure they're synced first.");
|
_("Folders have high sort index to ensure they're synced first.");
|
||||||
|
@ -328,7 +328,7 @@ add_test(function test_command_validation() {
|
|||||||
["__UNKNOWN__", [], false]
|
["__UNKNOWN__", [], false]
|
||||||
];
|
];
|
||||||
|
|
||||||
for each (let [action, args, expectedResult] in testCommands) {
|
for (let [action, args, expectedResult] of testCommands) {
|
||||||
let remoteId = Utils.makeGUID();
|
let remoteId = Utils.makeGUID();
|
||||||
let rec = new ClientsRec("clients", remoteId);
|
let rec = new ClientsRec("clients", remoteId);
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ add_identity_test(this, function test_missing_crypto_collection() {
|
|||||||
};
|
};
|
||||||
let collections = ["clients", "bookmarks", "forms", "history",
|
let collections = ["clients", "bookmarks", "forms", "history",
|
||||||
"passwords", "prefs", "tabs"];
|
"passwords", "prefs", "tabs"];
|
||||||
for each (let coll in collections) {
|
for (let coll of collections) {
|
||||||
handlers["/1.1/johndoe/storage/" + coll] =
|
handlers["/1.1/johndoe/storage/" + coll] =
|
||||||
johnU(coll, new ServerCollection({}, true).handler());
|
johnU(coll, new ServerCollection({}, true).handler());
|
||||||
}
|
}
|
||||||
|
@ -369,7 +369,7 @@ add_test(function test_wrongPIN() {
|
|||||||
displayPIN: function displayPIN(pin) {
|
displayPIN: function displayPIN(pin) {
|
||||||
this.cid = pin.slice(JPAKE_LENGTH_SECRET);
|
this.cid = pin.slice(JPAKE_LENGTH_SECRET);
|
||||||
let secret = pin.slice(0, JPAKE_LENGTH_SECRET);
|
let secret = pin.slice(0, JPAKE_LENGTH_SECRET);
|
||||||
secret = [char for each (char in secret)].reverse().join("");
|
secret = Array.prototype.slice.call(secret).reverse().join("");
|
||||||
let new_pin = secret + this.cid;
|
let new_pin = secret + this.cid;
|
||||||
_("Received PIN " + pin + ", but I'm entering " + new_pin);
|
_("Received PIN " + pin + ", but I'm entering " + new_pin);
|
||||||
|
|
||||||
|
@ -140,7 +140,7 @@ function server_headers(metadata, response) {
|
|||||||
header_names = header_names.sort();
|
header_names = header_names.sort();
|
||||||
|
|
||||||
headers = {};
|
headers = {};
|
||||||
for each (let header in header_names) {
|
for (let header of header_names) {
|
||||||
headers[header] = metadata.getHeader(header);
|
headers[header] = metadata.getHeader(header);
|
||||||
}
|
}
|
||||||
let body = JSON.stringify(headers);
|
let body = JSON.stringify(headers);
|
||||||
|
@ -140,7 +140,7 @@ function server_headers(metadata, response) {
|
|||||||
header_names = header_names.sort();
|
header_names = header_names.sort();
|
||||||
|
|
||||||
headers = {};
|
headers = {};
|
||||||
for each (let header in header_names) {
|
for (let header of header_names) {
|
||||||
headers[header] = metadata.getHeader(header);
|
headers[header] = metadata.getHeader(header);
|
||||||
}
|
}
|
||||||
let body = JSON.stringify(headers);
|
let body = JSON.stringify(headers);
|
||||||
|
@ -29,7 +29,7 @@ function run_test() {
|
|||||||
|
|
||||||
_("Engines are registered.");
|
_("Engines are registered.");
|
||||||
let engines = Service.engineManager.getAll();
|
let engines = Service.engineManager.getAll();
|
||||||
do_check_true(Utils.deepEquals([engine.name for each (engine in engines)],
|
do_check_true(Utils.deepEquals(engines.map(engine => engine.name),
|
||||||
['tabs', 'bookmarks', 'forms', 'history']));
|
['tabs', 'bookmarks', 'forms', 'history']));
|
||||||
|
|
||||||
_("Observers are notified of startup");
|
_("Observers are notified of startup");
|
||||||
|
@ -18,9 +18,9 @@ function run_test() {
|
|||||||
|
|
||||||
|
|
||||||
// Check login status
|
// Check login status
|
||||||
for each (let code in [LOGIN_FAILED_NO_USERNAME,
|
for (let code of [LOGIN_FAILED_NO_USERNAME,
|
||||||
LOGIN_FAILED_NO_PASSWORD,
|
LOGIN_FAILED_NO_PASSWORD,
|
||||||
LOGIN_FAILED_NO_PASSPHRASE]) {
|
LOGIN_FAILED_NO_PASSPHRASE]) {
|
||||||
Status.login = code;
|
Status.login = code;
|
||||||
do_check_eq(Status.login, code);
|
do_check_eq(Status.login, code);
|
||||||
do_check_eq(Status.service, CLIENT_NOT_CONFIGURED);
|
do_check_eq(Status.service, CLIENT_NOT_CONFIGURED);
|
||||||
|
@ -53,7 +53,7 @@ function run_test() {
|
|||||||
logs = fakeSvcWinMediator();
|
logs = fakeSvcWinMediator();
|
||||||
Svc.Obs.notify("weave:engine:start-tracking");
|
Svc.Obs.notify("weave:engine:start-tracking");
|
||||||
do_check_eq(logs.length, 2);
|
do_check_eq(logs.length, 2);
|
||||||
for each (let log in logs) {
|
for (let log of logs) {
|
||||||
do_check_eq(log.addTopics.length, 5);
|
do_check_eq(log.addTopics.length, 5);
|
||||||
do_check_true(log.addTopics.indexOf("pageshow") >= 0);
|
do_check_true(log.addTopics.indexOf("pageshow") >= 0);
|
||||||
do_check_true(log.addTopics.indexOf("TabOpen") >= 0);
|
do_check_true(log.addTopics.indexOf("TabOpen") >= 0);
|
||||||
@ -67,7 +67,7 @@ function run_test() {
|
|||||||
logs = fakeSvcWinMediator();
|
logs = fakeSvcWinMediator();
|
||||||
Svc.Obs.notify("weave:engine:stop-tracking");
|
Svc.Obs.notify("weave:engine:stop-tracking");
|
||||||
do_check_eq(logs.length, 2);
|
do_check_eq(logs.length, 2);
|
||||||
for each (let log in logs) {
|
for (let log of logs) {
|
||||||
do_check_eq(log.addTopics.length, 0);
|
do_check_eq(log.addTopics.length, 0);
|
||||||
do_check_eq(log.remTopics.length, 5);
|
do_check_eq(log.remTopics.length, 5);
|
||||||
do_check_true(log.remTopics.indexOf("pageshow") >= 0);
|
do_check_true(log.remTopics.indexOf("pageshow") >= 0);
|
||||||
@ -78,7 +78,7 @@ function run_test() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_("Test tab listener");
|
_("Test tab listener");
|
||||||
for each (let evttype in ["TabOpen", "TabClose", "TabSelect"]) {
|
for (let evttype of ["TabOpen", "TabClose", "TabSelect"]) {
|
||||||
// Pretend we just synced.
|
// Pretend we just synced.
|
||||||
tracker.clearChangedIDs();
|
tracker.clearChangedIDs();
|
||||||
do_check_false(tracker.modified);
|
do_check_false(tracker.modified);
|
||||||
|
@ -44,7 +44,11 @@ waitForEvents.prototype = {
|
|||||||
node.firedEvents = {};
|
node.firedEvents = {};
|
||||||
this.registry = {};
|
this.registry = {};
|
||||||
|
|
||||||
for each (var e in events) {
|
if (!events) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (var key in events) {
|
||||||
|
var e = events[key];
|
||||||
var listener = function (event) {
|
var listener = function (event) {
|
||||||
this.firedEvents[event.type] = true;
|
this.firedEvents[event.type] = true;
|
||||||
}
|
}
|
||||||
|
@ -304,7 +304,7 @@ var _returnResult = function (results) {
|
|||||||
|
|
||||||
var _forChildren = function (element, name, value) {
|
var _forChildren = function (element, name, value) {
|
||||||
var results = [];
|
var results = [];
|
||||||
var nodes = [e for each (e in element.childNodes) if (e)]
|
var nodes = Array.from(element.childNodes).filter(e => e);
|
||||||
|
|
||||||
for (var i in nodes) {
|
for (var i in nodes) {
|
||||||
var n = nodes[i];
|
var n = nodes[i];
|
||||||
@ -318,7 +318,7 @@ var _forChildren = function (element, name, value) {
|
|||||||
|
|
||||||
var _forAnonChildren = function (_document, element, name, value) {
|
var _forAnonChildren = function (_document, element, name, value) {
|
||||||
var results = [];
|
var results = [];
|
||||||
var nodes = [e for each (e in _document.getAnoymousNodes(element)) if (e)];
|
var nodes = Array.from(_document.getAnoymousNodes(element)).filter(e => e);
|
||||||
|
|
||||||
for (var i in nodes ) {
|
for (var i in nodes ) {
|
||||||
var n = nodes[i];
|
var n = nodes[i];
|
||||||
@ -381,7 +381,7 @@ var _byAnonAttrib = function (_document, parent, attributes) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var nodes = [n for each (n in _document.getAnonymousNodes(parent)) if (n.getAttribute)];
|
var nodes = Array.from(_document.getAnonymousNodes(parent)).filter(n => n.getAttribute);
|
||||||
|
|
||||||
function resultsForNodes (nodes) {
|
function resultsForNodes (nodes) {
|
||||||
for (var i in nodes) {
|
for (var i in nodes) {
|
||||||
@ -404,7 +404,7 @@ var _byAnonAttrib = function (_document, parent, attributes) {
|
|||||||
|
|
||||||
resultsForNodes(nodes);
|
resultsForNodes(nodes);
|
||||||
if (results.length == 0) {
|
if (results.length == 0) {
|
||||||
resultsForNodes([n for each (n in parent.childNodes) if (n != undefined && n.getAttribute)])
|
resultsForNodes(Array.from(parent.childNodes).filter(n => n != undefined && n.getAttribute));
|
||||||
}
|
}
|
||||||
|
|
||||||
return _returnResult(results)
|
return _returnResult(results)
|
||||||
@ -440,7 +440,7 @@ function Lookup(_document, expression) {
|
|||||||
throw new Error('Lookup constructor did not recieve enough arguments.');
|
throw new Error('Lookup constructor did not recieve enough arguments.');
|
||||||
}
|
}
|
||||||
|
|
||||||
var expSplit = [e for each (e in smartSplit(expression) ) if (e != '')];
|
var expSplit = smartSplit(expression).filter(e => e != '');
|
||||||
expSplit.unshift(_document);
|
expSplit.unshift(_document);
|
||||||
|
|
||||||
var nCases = {'id':_byID, 'name':_byName, 'attrib':_byAttrib, 'index':_byIndex};
|
var nCases = {'id':_byID, 'name':_byName, 'attrib':_byAttrib, 'index':_byIndex};
|
||||||
|
@ -256,7 +256,7 @@ events.pass = function (obj) {
|
|||||||
events.currentTest.__passes__.push(obj);
|
events.currentTest.__passes__.push(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
for each (var timer in timers) {
|
for (var timer of timers) {
|
||||||
timer.actions.push(
|
timer.actions.push(
|
||||||
{"currentTest": events.currentModule.__file__ + "::" + events.currentTest.__name__,
|
{"currentTest": events.currentModule.__file__ + "::" + events.currentTest.__name__,
|
||||||
"obj": obj,
|
"obj": obj,
|
||||||
@ -286,7 +286,7 @@ events.fail = function (obj) {
|
|||||||
events.currentTest.__fails__.push(obj);
|
events.currentTest.__fails__.push(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
for each (var time in timers) {
|
for (var time of timers) {
|
||||||
timer.actions.push(
|
timer.actions.push(
|
||||||
{"currentTest": events.currentModule.__file__ + "::" + events.currentTest.__name__,
|
{"currentTest": events.currentModule.__file__ + "::" + events.currentTest.__name__,
|
||||||
"obj": obj,
|
"obj": obj,
|
||||||
@ -325,7 +325,7 @@ events.fireEvent = function (name, obj) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for each(var listener in this.globalListeners) {
|
for (var listener of this.globalListeners) {
|
||||||
listener(name, obj);
|
listener(name, obj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ function abspath(rel, file) {
|
|||||||
file = file.parent;
|
file = file.parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
for each(var p in relSplit) {
|
for (var p of relSplit) {
|
||||||
if (p == '..') {
|
if (p == '..') {
|
||||||
file = file.parent;
|
file = file.parent;
|
||||||
} else if (p == '.') {
|
} else if (p == '.') {
|
||||||
|
@ -168,8 +168,7 @@
|
|||||||
if (rootPaths) {
|
if (rootPaths) {
|
||||||
if (rootPaths.constructor.name != "Array")
|
if (rootPaths.constructor.name != "Array")
|
||||||
rootPaths = [rootPaths];
|
rootPaths = [rootPaths];
|
||||||
var fses = [new exports.LocalFileSystem(path)
|
var fses = rootPaths.map(path => new exports.LocalFileSystem(path));
|
||||||
for each (path in rootPaths)];
|
|
||||||
options.fs = new exports.CompositeFileSystem(fses);
|
options.fs = new exports.CompositeFileSystem(fses);
|
||||||
} else
|
} else
|
||||||
options.fs = new exports.LocalFileSystem();
|
options.fs = new exports.LocalFileSystem();
|
||||||
|
@ -83,7 +83,7 @@ function getWindows(type) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getMethodInWindows(methodName) {
|
function getMethodInWindows(methodName) {
|
||||||
for each (var w in getWindows()) {
|
for (var w of getWindows()) {
|
||||||
if (w[methodName] != undefined) {
|
if (w[methodName] != undefined) {
|
||||||
return w[methodName];
|
return w[methodName];
|
||||||
}
|
}
|
||||||
@ -93,7 +93,7 @@ function getMethodInWindows(methodName) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getWindowByTitle(title) {
|
function getWindowByTitle(title) {
|
||||||
for each (var w in getWindows()) {
|
for (var w of getWindows()) {
|
||||||
if (w.document.title && w.document.title == title) {
|
if (w.document.title && w.document.title == title) {
|
||||||
return w;
|
return w;
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ var DumpHistory = function TPS_History__DumpHistory() {
|
|||||||
let node = root.getChild(i);
|
let node = root.getChild(i);
|
||||||
let uri = node.uri;
|
let uri = node.uri;
|
||||||
let curvisits = HistoryEntry._getVisits(uri);
|
let curvisits = HistoryEntry._getVisits(uri);
|
||||||
for each (var visit in curvisits) {
|
for (var visit of curvisits) {
|
||||||
Logger.logInfo("URI: " + uri + ", type=" + visit.type + ", date=" + visit.date, true);
|
Logger.logInfo("URI: " + uri + ", type=" + visit.type + ", date=" + visit.date, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -110,7 +110,7 @@ var HistoryEntry = {
|
|||||||
uri: uri,
|
uri: uri,
|
||||||
visits: []
|
visits: []
|
||||||
};
|
};
|
||||||
for each (visit in item.visits) {
|
for (let visit of item.visits) {
|
||||||
place.visits.push({
|
place.visits.push({
|
||||||
visitDate: usSinceEpoch + (visit.date * 60 * 60 * 1000 * 1000),
|
visitDate: usSinceEpoch + (visit.date * 60 * 60 * 1000 * 1000),
|
||||||
transitionType: visit.type
|
transitionType: visit.type
|
||||||
@ -150,8 +150,8 @@ var HistoryEntry = {
|
|||||||
"History entry in test file must have both 'visits' " +
|
"History entry in test file must have both 'visits' " +
|
||||||
"and 'uri' properties");
|
"and 'uri' properties");
|
||||||
let curvisits = this._getVisits(item.uri);
|
let curvisits = this._getVisits(item.uri);
|
||||||
for each (visit in curvisits) {
|
for (let visit of curvisits) {
|
||||||
for each (itemvisit in item.visits) {
|
for (let itemvisit of item.visits) {
|
||||||
let expectedDate = itemvisit.date * 60 * 60 * 1000 * 1000
|
let expectedDate = itemvisit.date * 60 * 60 * 1000 * 1000
|
||||||
+ usSinceEpoch;
|
+ usSinceEpoch;
|
||||||
if (visit.type == itemvisit.type && visit.date == expectedDate) {
|
if (visit.type == itemvisit.type && visit.date == expectedDate) {
|
||||||
@ -161,7 +161,7 @@ var HistoryEntry = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let all_items_found = true;
|
let all_items_found = true;
|
||||||
for each (itemvisit in item.visits) {
|
for (let itemvisit in item.visits) {
|
||||||
all_items_found = all_items_found && "found" in itemvisit;
|
all_items_found = all_items_found && "found" in itemvisit;
|
||||||
Logger.logInfo("History entry for " + item.uri + ", type:" +
|
Logger.logInfo("History entry for " + item.uri + ", type:" +
|
||||||
itemvisit.type + ", date:" + itemvisit.date +
|
itemvisit.type + ", date:" + itemvisit.date +
|
||||||
|
@ -50,7 +50,11 @@ var BrowserTabs = {
|
|||||||
// Find the uri in Weave's list of tabs for the given profile.
|
// Find the uri in Weave's list of tabs for the given profile.
|
||||||
let engine = Weave.Service.engineManager.get("tabs");
|
let engine = Weave.Service.engineManager.get("tabs");
|
||||||
for (let [guid, client] in Iterator(engine.getAllClients())) {
|
for (let [guid, client] in Iterator(engine.getAllClients())) {
|
||||||
for each (tab in client.tabs) {
|
if (!client.tabs) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
for (let key in client.tabs) {
|
||||||
|
let tab = client.tabs[key];
|
||||||
let weaveTabUrl = tab.urlHistory[0];
|
let weaveTabUrl = tab.urlHistory[0];
|
||||||
if (uri == weaveTabUrl && profile == client.clientName)
|
if (uri == weaveTabUrl && profile == client.clientName)
|
||||||
if (title == undefined || title == tab.title)
|
if (title == undefined || title == tab.title)
|
||||||
|
@ -285,7 +285,7 @@ var TPS = {
|
|||||||
HandleTabs: function (tabs, action) {
|
HandleTabs: function (tabs, action) {
|
||||||
this._tabsAdded = tabs.length;
|
this._tabsAdded = tabs.length;
|
||||||
this._tabsFinished = 0;
|
this._tabsFinished = 0;
|
||||||
for each (let tab in tabs) {
|
for (let tab of tabs) {
|
||||||
Logger.logInfo("executing action " + action.toUpperCase() +
|
Logger.logInfo("executing action " + action.toUpperCase() +
|
||||||
" on tab " + JSON.stringify(tab));
|
" on tab " + JSON.stringify(tab));
|
||||||
switch(action) {
|
switch(action) {
|
||||||
@ -330,7 +330,7 @@ var TPS = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
HandlePrefs: function (prefs, action) {
|
HandlePrefs: function (prefs, action) {
|
||||||
for each (pref in prefs) {
|
for (let pref of prefs) {
|
||||||
Logger.logInfo("executing action " + action.toUpperCase() +
|
Logger.logInfo("executing action " + action.toUpperCase() +
|
||||||
" on pref " + JSON.stringify(pref));
|
" on pref " + JSON.stringify(pref));
|
||||||
let preference = new Preference(pref);
|
let preference = new Preference(pref);
|
||||||
@ -349,7 +349,7 @@ var TPS = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
HandleForms: function (data, action) {
|
HandleForms: function (data, action) {
|
||||||
for each (datum in data) {
|
for (let datum of data) {
|
||||||
Logger.logInfo("executing action " + action.toUpperCase() +
|
Logger.logInfo("executing action " + action.toUpperCase() +
|
||||||
" on form entry " + JSON.stringify(datum));
|
" on form entry " + JSON.stringify(datum));
|
||||||
let formdata = new FormData(datum, this._usSinceEpoch);
|
let formdata = new FormData(datum, this._usSinceEpoch);
|
||||||
@ -377,7 +377,7 @@ var TPS = {
|
|||||||
|
|
||||||
HandleHistory: function (entries, action) {
|
HandleHistory: function (entries, action) {
|
||||||
try {
|
try {
|
||||||
for each (entry in entries) {
|
for (let entry of entries) {
|
||||||
Logger.logInfo("executing action " + action.toUpperCase() +
|
Logger.logInfo("executing action " + action.toUpperCase() +
|
||||||
" on history entry " + JSON.stringify(entry));
|
" on history entry " + JSON.stringify(entry));
|
||||||
switch(action) {
|
switch(action) {
|
||||||
@ -410,7 +410,7 @@ var TPS = {
|
|||||||
|
|
||||||
HandlePasswords: function (passwords, action) {
|
HandlePasswords: function (passwords, action) {
|
||||||
try {
|
try {
|
||||||
for each (password in passwords) {
|
for (let password of passwords) {
|
||||||
let password_id = -1;
|
let password_id = -1;
|
||||||
Logger.logInfo("executing action " + action.toUpperCase() +
|
Logger.logInfo("executing action " + action.toUpperCase() +
|
||||||
" on password " + JSON.stringify(password));
|
" on password " + JSON.stringify(password));
|
||||||
@ -450,7 +450,7 @@ var TPS = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
HandleAddons: function (addons, action, state) {
|
HandleAddons: function (addons, action, state) {
|
||||||
for each (let entry in addons) {
|
for (let entry of addons) {
|
||||||
Logger.logInfo("executing action " + action.toUpperCase() +
|
Logger.logInfo("executing action " + action.toUpperCase() +
|
||||||
" on addon " + JSON.stringify(entry));
|
" on addon " + JSON.stringify(entry));
|
||||||
let addon = new Addon(this, entry);
|
let addon = new Addon(this, entry);
|
||||||
@ -481,9 +481,9 @@ var TPS = {
|
|||||||
HandleBookmarks: function (bookmarks, action) {
|
HandleBookmarks: function (bookmarks, action) {
|
||||||
try {
|
try {
|
||||||
let items = [];
|
let items = [];
|
||||||
for (folder in bookmarks) {
|
for (let folder in bookmarks) {
|
||||||
let last_item_pos = -1;
|
let last_item_pos = -1;
|
||||||
for each (bookmark in bookmarks[folder]) {
|
for (let bookmark of bookmarks[folder]) {
|
||||||
Logger.clearPotentialError();
|
Logger.clearPotentialError();
|
||||||
let placesItem;
|
let placesItem;
|
||||||
bookmark['location'] = folder;
|
bookmark['location'] = folder;
|
||||||
@ -525,7 +525,7 @@ var TPS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (action == ACTION_DELETE || action == ACTION_MODIFY) {
|
if (action == ACTION_DELETE || action == ACTION_MODIFY) {
|
||||||
for each (item in items) {
|
for (let item of items) {
|
||||||
Logger.logInfo("executing action " + action.toUpperCase() +
|
Logger.logInfo("executing action " + action.toUpperCase() +
|
||||||
" on bookmark " + JSON.stringify(item));
|
" on bookmark " + JSON.stringify(item));
|
||||||
switch(action) {
|
switch(action) {
|
||||||
@ -689,7 +689,7 @@ var TPS = {
|
|||||||
// care about.
|
// care about.
|
||||||
if (settings.ignoreUnusedEngines && Array.isArray(this._enabledEngines)) {
|
if (settings.ignoreUnusedEngines && Array.isArray(this._enabledEngines)) {
|
||||||
let names = {};
|
let names = {};
|
||||||
for each (let name in this._enabledEngines) {
|
for (let name of this._enabledEngines) {
|
||||||
names[name] = true;
|
names[name] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user