зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1380009 - Enable the ESLint no-return-await call to avoid unnecessary intermediate promise creation. r=mossop
MozReview-Commit-ID: EnhSBHMjurr --HG-- extra : rebase_source : 74ba4c10e369067629af95bf705a9acd0df1089b
This commit is contained in:
Родитель
764f64b2d5
Коммит
35f3666937
|
@ -10,7 +10,7 @@ loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
|||
async function setDisplayAndWaitForReorder(browser, value) {
|
||||
let onReorder = waitForEvent(EVENT_REORDER, 'ul');
|
||||
await invokeSetStyle(browser, 'li', 'display', value);
|
||||
return await onReorder;
|
||||
return onReorder;
|
||||
}
|
||||
|
||||
addAccessibleTask(`
|
||||
|
|
|
@ -25,7 +25,7 @@ add_task(async function test_notificationPreventDefaultAndSwitchTabs() {
|
|||
// First, show a notification that will be have the tab-switching prevented.
|
||||
function promiseNotificationEvent(evt) {
|
||||
return ContentTask.spawn(aBrowser, evt, async function(contentEvt) {
|
||||
return await new Promise(resolve => {
|
||||
return new Promise(resolve => {
|
||||
let contentNotification = content.wrappedJSObject._notification;
|
||||
contentNotification.addEventListener(contentEvt, function(event) {
|
||||
resolve({ defaultPrevented: event.defaultPrevented });
|
||||
|
|
|
@ -134,7 +134,7 @@ add_task(async function checkWrongSystemTimeWarning() {
|
|||
info("Loading and waiting for the cert error");
|
||||
await certErrorLoaded;
|
||||
|
||||
return await ContentTask.spawn(browser, null, async function() {
|
||||
return ContentTask.spawn(browser, null, async function() {
|
||||
let doc = content.document;
|
||||
let div = doc.getElementById("wrongSystemTimePanel");
|
||||
let systemDateDiv = doc.getElementById("wrongSystemTime_systemDate");
|
||||
|
|
|
@ -152,10 +152,10 @@ async function getAllTheFiles(extension) {
|
|||
let appDirGreD = Services.dirsvc.get("GreD", Ci.nsIFile);
|
||||
let appDirXCurProcD = Services.dirsvc.get("XCurProcD", Ci.nsIFile);
|
||||
if (appDirGreD.contains(appDirXCurProcD)) {
|
||||
return await generateURIsFromDirTree(appDirGreD, [extension]);
|
||||
return generateURIsFromDirTree(appDirGreD, [extension]);
|
||||
}
|
||||
if (appDirXCurProcD.contains(appDirGreD)) {
|
||||
return await generateURIsFromDirTree(appDirXCurProcD, [extension]);
|
||||
return generateURIsFromDirTree(appDirXCurProcD, [extension]);
|
||||
}
|
||||
let urisGreD = await generateURIsFromDirTree(appDirGreD, [extension]);
|
||||
let urisXCurProcD = await generateURIsFromDirTree(appDirXCurProcD, [extension]);
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
/* vim: set sts=2 sw=2 et tw=80: */
|
||||
"use strict";
|
||||
|
||||
async function openPanel(extension, win = window, awaitLoad = false) {
|
||||
function openPanel(extension, win = window, awaitLoad = false) {
|
||||
clickBrowserAction(extension, win);
|
||||
|
||||
return await awaitExtensionPanel(extension, win, awaitLoad);
|
||||
return awaitExtensionPanel(extension, win, awaitLoad);
|
||||
}
|
||||
|
||||
add_task(async function testBrowserActionPopupResize() {
|
||||
|
|
|
@ -107,9 +107,9 @@ add_task(async function() {
|
|||
info(`onClicked from: ${await extension.awaitMessage("onClicked-fired")}`);
|
||||
}
|
||||
|
||||
async function getCounts(page) {
|
||||
function getCounts(page) {
|
||||
extension.sendMessage(page, "get-click-counts");
|
||||
return await extension.awaitMessage("click-counts");
|
||||
return extension.awaitMessage("click-counts");
|
||||
}
|
||||
async function resetCounts() {
|
||||
extension.sendMessage("tab", "clear-click-counts");
|
||||
|
|
|
@ -50,12 +50,12 @@ function page_deblobify(browser, blobURL) {
|
|||
return "xhr error";
|
||||
}
|
||||
|
||||
return await blobToString(blob);
|
||||
return blobToString(blob);
|
||||
});
|
||||
}
|
||||
|
||||
function workerIO(browser, scriptFile, message) {
|
||||
return ContentTask.spawn(browser, {scriptFile, message}, async function(args) {
|
||||
return ContentTask.spawn(browser, {scriptFile, message}, function(args) {
|
||||
let worker = new content.Worker(args.scriptFile);
|
||||
let promise = new content.Promise(function(resolve) {
|
||||
let listenFunction = function(event) {
|
||||
|
@ -66,7 +66,7 @@ function workerIO(browser, scriptFile, message) {
|
|||
worker.addEventListener("message", listenFunction);
|
||||
});
|
||||
worker.postMessage(args.message);
|
||||
return await promise;
|
||||
return promise;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ const key = "key" + Math.random().toString();
|
|||
const re = new RegExp(key + "=([0-9\.]+)");
|
||||
|
||||
// Define the testing function
|
||||
async function doTest(aBrowser) {
|
||||
return await ContentTask.spawn(aBrowser, [key, re],
|
||||
function doTest(aBrowser) {
|
||||
return ContentTask.spawn(aBrowser, [key, re],
|
||||
function([contentKey, contentRe]) {
|
||||
let result = contentRe.exec(content.document.cookie);
|
||||
if (result) {
|
||||
|
|
|
@ -9,8 +9,8 @@ const TEST_PAGE = "http://mochi.test:8888/browser/browser/components/" +
|
|||
const key = Math.random().toString();
|
||||
|
||||
// Define the testing function
|
||||
async function doTest(aBrowser) {
|
||||
return await ContentTask.spawn(aBrowser, key, function(contentKey) {
|
||||
function doTest(aBrowser) {
|
||||
return ContentTask.spawn(aBrowser, key, function(contentKey) {
|
||||
let value = content.localStorage.getItem(contentKey);
|
||||
if (value === null) {
|
||||
// No value is found, so we create one.
|
||||
|
|
|
@ -1544,7 +1544,7 @@ this.PlacesUIUtils = {
|
|||
let info = await PlacesUtils.bookmarks.fetch(aGuidOrInfo);
|
||||
if (!info)
|
||||
return null;
|
||||
return (await this.promiseNodeLikeFromFetchInfo(info));
|
||||
return this.promiseNodeLikeFromFetchInfo(info);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -2087,12 +2087,12 @@ var gApplicationsPane = {
|
|||
* the Downloads folder if aIndex == 1,
|
||||
* the folder stored in browser.download.dir
|
||||
*/
|
||||
async _indexToFolder(aIndex) {
|
||||
_indexToFolder(aIndex) {
|
||||
switch (aIndex) {
|
||||
case 0:
|
||||
return await this._getDownloadsFolder("Desktop");
|
||||
return this._getDownloadsFolder("Desktop");
|
||||
case 1:
|
||||
return await this._getDownloadsFolder("Downloads");
|
||||
return this._getDownloadsFolder("Downloads");
|
||||
}
|
||||
var currentDirPref = document.getElementById("browser.download.dir");
|
||||
return currentDirPref.value;
|
||||
|
|
|
@ -653,12 +653,12 @@ var gMainPane = {
|
|||
* the Downloads folder if aIndex == 1,
|
||||
* the folder stored in browser.download.dir
|
||||
*/
|
||||
async _indexToFolder(aIndex) {
|
||||
_indexToFolder(aIndex) {
|
||||
switch (aIndex) {
|
||||
case 0:
|
||||
return await this._getDownloadsFolder("Desktop");
|
||||
return this._getDownloadsFolder("Desktop");
|
||||
case 1:
|
||||
return await this._getDownloadsFolder("Downloads");
|
||||
return this._getDownloadsFolder("Downloads");
|
||||
}
|
||||
var currentDirPref = document.getElementById("browser.download.dir");
|
||||
return currentDirPref.value;
|
||||
|
|
|
@ -1761,11 +1761,11 @@ Experiments.ExperimentEntry.prototype = {
|
|||
*
|
||||
* @return Promise<> Resolved when the operation is complete.
|
||||
*/
|
||||
async start() {
|
||||
start() {
|
||||
this._log.trace("start() for " + this.id);
|
||||
|
||||
this._enabled = true;
|
||||
return await this.reconcileAddonState();
|
||||
return this.reconcileAddonState();
|
||||
},
|
||||
|
||||
// Async install of the addon for this experiment, part of the start task above.
|
||||
|
@ -1775,7 +1775,7 @@ Experiments.ExperimentEntry.prototype = {
|
|||
let install = await addonInstallForURL(this._manifestData.xpiURL, hash);
|
||||
gActiveInstallURLs.add(install.sourceURI.spec);
|
||||
|
||||
return await new Promise((resolve, reject) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
let failureHandler = (failureInstall, handler) => {
|
||||
let message = "AddonInstall " + handler + " for " + this.id + ", state=" +
|
||||
(failureInstall.state || "?") + ", error=" + failureInstall.error;
|
||||
|
|
|
@ -36,11 +36,11 @@ this.ClientEnvironment = {
|
|||
* The server request is made lazily and is cached for the entire browser
|
||||
* session.
|
||||
*/
|
||||
async getClientClassification() {
|
||||
getClientClassification() {
|
||||
if (!_classifyRequest) {
|
||||
_classifyRequest = NormandyApi.classifyClient();
|
||||
}
|
||||
return await _classifyRequest;
|
||||
return _classifyRequest;
|
||||
},
|
||||
|
||||
clearClassifyCache() {
|
||||
|
|
|
@ -138,13 +138,13 @@ this.NormandyApi = {
|
|||
async fetchActions() {
|
||||
const actionApiUrl = await this.getApiUrl("action-list");
|
||||
const res = await this.get(actionApiUrl);
|
||||
return await res.json();
|
||||
return res.json();
|
||||
},
|
||||
|
||||
async fetchImplementation(action) {
|
||||
const response = await fetch(action.implementation_url);
|
||||
if (response.ok) {
|
||||
return await response.text();
|
||||
return response.text();
|
||||
}
|
||||
|
||||
throw new Error(`Failed to fetch action implementation for ${action.name}: ${response.status}`);
|
||||
|
|
|
@ -122,7 +122,7 @@ var ReaderParent = {
|
|||
* @resolves JS object representing the article, or null if no article is found.
|
||||
*/
|
||||
async _getArticle(url, browser) {
|
||||
return await ReaderMode.downloadAndParseDocument(url).catch(e => {
|
||||
return ReaderMode.downloadAndParseDocument(url).catch(e => {
|
||||
if (e && e.newURL) {
|
||||
// Pass up the error so we can navigate the browser in question to the new URL:
|
||||
throw e;
|
||||
|
|
|
@ -82,7 +82,7 @@ function setFinishedCallback(callback, win)
|
|||
win = window;
|
||||
}
|
||||
ContentTask.spawn(win.gBrowser.selectedBrowser, null, async function() {
|
||||
return await new Promise(resolve => {
|
||||
return new Promise(resolve => {
|
||||
content.wrappedJSObject.testFinishedCallback = (result, exception) => {
|
||||
info("got finished callback");
|
||||
resolve({result, exception});
|
||||
|
|
|
@ -528,11 +528,11 @@ class RTCPeerConnection {
|
|||
if (this._closed) {
|
||||
return null;
|
||||
}
|
||||
return await func();
|
||||
return func();
|
||||
})();
|
||||
// don't propagate errors in the operations chain (this is a fork of p).
|
||||
this._operationsChain = p.catch(() => {});
|
||||
return await p;
|
||||
return p;
|
||||
}
|
||||
|
||||
// It's basically impossible to use async directly in JSImplemented code,
|
||||
|
@ -764,7 +764,7 @@ class RTCPeerConnection {
|
|||
async _createOffer(options) {
|
||||
this._checkClosed();
|
||||
let origin = Cu.getWebIDLCallerPrincipal().origin;
|
||||
return await this._chain(async () => {
|
||||
return this._chain(async () => {
|
||||
let haveAssertion;
|
||||
if (this._localIdp.enabled) {
|
||||
haveAssertion = this._getIdentityAssertion(origin);
|
||||
|
@ -795,7 +795,7 @@ class RTCPeerConnection {
|
|||
async _createAnswer(options) {
|
||||
this._checkClosed();
|
||||
let origin = Cu.getWebIDLCallerPrincipal().origin;
|
||||
return await this._chain(async () => {
|
||||
return this._chain(async () => {
|
||||
// We give up line-numbers in errors by doing this here, but do all
|
||||
// state-checks inside the chain, to support the legacy feature that
|
||||
// callers don't have to wait for setRemoteDescription to finish.
|
||||
|
@ -846,7 +846,7 @@ class RTCPeerConnection {
|
|||
});
|
||||
}
|
||||
}
|
||||
return await this._havePermission;
|
||||
return this._havePermission;
|
||||
}
|
||||
|
||||
setLocalDescription(desc, onSucc, onErr) {
|
||||
|
@ -875,7 +875,7 @@ class RTCPeerConnection {
|
|||
"InvalidParameterError");
|
||||
}
|
||||
|
||||
return await this._chain(async () => {
|
||||
return this._chain(async () => {
|
||||
await this._getPermission();
|
||||
await new Promise((resolve, reject) => {
|
||||
this._onSetLocalDescriptionSuccess = resolve;
|
||||
|
@ -958,7 +958,7 @@ class RTCPeerConnection {
|
|||
// Get caller's origin before hitting the promise chain
|
||||
let origin = Cu.getWebIDLCallerPrincipal().origin;
|
||||
|
||||
return await this._chain(async () => {
|
||||
return this._chain(async () => {
|
||||
let haveSetRemote = (async () => {
|
||||
await this._getPermission();
|
||||
await new Promise((resolve, reject) => {
|
||||
|
@ -984,7 +984,7 @@ class RTCPeerConnection {
|
|||
|
||||
async _getIdentityAssertion(origin) {
|
||||
await this._certificateReady;
|
||||
return await this._localIdp.getIdentityAssertion(this._impl.fingerprint, origin);
|
||||
return this._localIdp.getIdentityAssertion(this._impl.fingerprint, origin);
|
||||
}
|
||||
|
||||
getIdentityAssertion() {
|
||||
|
@ -1039,7 +1039,7 @@ class RTCPeerConnection {
|
|||
"Invalid candidate (both sdpMid and sdpMLineIndex are null).",
|
||||
"TypeError");
|
||||
}
|
||||
return await this._chain(() => {
|
||||
return this._chain(() => {
|
||||
if (!this.remoteDescription) {
|
||||
throw new this._win.DOMException(
|
||||
"setRemoteDescription needs to called before addIceCandidate",
|
||||
|
@ -1095,7 +1095,7 @@ class RTCPeerConnection {
|
|||
|
||||
async _replaceTrack(sender, withTrack) {
|
||||
this._checkClosed();
|
||||
return await this._chain(() => new Promise((resolve, reject) => {
|
||||
return this._chain(() => new Promise((resolve, reject) => {
|
||||
this._onReplaceTrackSender = sender;
|
||||
this._onReplaceTrackWithTrack = withTrack;
|
||||
this._onReplaceTrackSuccess = resolve;
|
||||
|
@ -1242,7 +1242,7 @@ class RTCPeerConnection {
|
|||
|
||||
async _getStats(selector, isLegacy) {
|
||||
// getStats is allowed even in closed state.
|
||||
return await this._chain(() => new Promise((resolve, reject) => {
|
||||
return this._chain(() => new Promise((resolve, reject) => {
|
||||
this._onGetStatsIsLegacy = isLegacy;
|
||||
this._onGetStatsSuccess = resolve;
|
||||
this._onGetStatsFailure = reject;
|
||||
|
|
|
@ -248,7 +248,7 @@ class FirefoxAdapter extends Kinto.adapters.BaseAdapter {
|
|||
const conn = await Sqlite.openConnection(opts).then(this._init);
|
||||
try {
|
||||
Sqlite.shutdown.addBlocker("Kinto storage adapter connection closing",
|
||||
async () => await conn.close());
|
||||
() => conn.close());
|
||||
} catch (e) {
|
||||
// It's too late to block shutdown, just close the connection.
|
||||
await conn.close();
|
||||
|
|
|
@ -52,7 +52,7 @@ async function syncIdToId(syncId) {
|
|||
async function getFolderChildrenIDs(folderId) {
|
||||
let folderSyncId = PlacesSyncUtils.bookmarks.guidToSyncId(await PlacesUtils.promiseItemGuid(folderId));
|
||||
let syncIds = await PlacesSyncUtils.bookmarks.fetchChildSyncIds(folderSyncId);
|
||||
return Promise.all(syncIds.map(async (syncId) => await syncIdToId(syncId)));
|
||||
return Promise.all(syncIds.map((syncId) => syncIdToId(syncId)));
|
||||
}
|
||||
|
||||
async function createFolder(parentId, title) {
|
||||
|
|
|
@ -310,6 +310,6 @@ this.ExtensionPreferencesManager = {
|
|||
return "not_controllable";
|
||||
}
|
||||
}
|
||||
return await ExtensionSettingsStore.getLevelOfControl(extension, STORE_TYPE, name);
|
||||
return ExtensionSettingsStore.getLevelOfControl(extension, STORE_TYPE, name);
|
||||
},
|
||||
};
|
||||
|
|
|
@ -266,8 +266,8 @@ this.ExtensionSettingsStore = {
|
|||
* corresponds to the current top precedent setting, or null if
|
||||
* the current top precedent setting has not changed.
|
||||
*/
|
||||
async removeSetting(extension, type, key) {
|
||||
return await alterSetting(extension, type, key, "remove");
|
||||
removeSetting(extension, type, key) {
|
||||
return alterSetting(extension, type, key, "remove");
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -286,8 +286,8 @@ this.ExtensionSettingsStore = {
|
|||
* corresponds to the current top precedent setting, or null if
|
||||
* the current top precedent setting has not changed.
|
||||
*/
|
||||
async enable(extension, type, key) {
|
||||
return await alterSetting(extension, type, key, "enable");
|
||||
enable(extension, type, key) {
|
||||
return alterSetting(extension, type, key, "enable");
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -306,8 +306,8 @@ this.ExtensionSettingsStore = {
|
|||
* corresponds to the current top precedent setting, or null if
|
||||
* the current top precedent setting has not changed.
|
||||
*/
|
||||
async disable(extension, type, key) {
|
||||
return await alterSetting(extension, type, key, "disable");
|
||||
disable(extension, type, key) {
|
||||
return alterSetting(extension, type, key, "disable");
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -340,8 +340,8 @@ this.ExtensionSettingsStore = {
|
|||
*
|
||||
* @returns {object} An object with properties for key and value.
|
||||
*/
|
||||
async getSetting(type, key) {
|
||||
return await getTopItem(type, key);
|
||||
getSetting(type, key) {
|
||||
return getTopItem(type, key);
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
|
@ -607,7 +607,7 @@ class CryptoCollection {
|
|||
|
||||
async sync(extensionStorageSync) {
|
||||
const collection = await this.getCollection();
|
||||
return await extensionStorageSync._syncCollection(collection, {
|
||||
return extensionStorageSync._syncCollection(collection, {
|
||||
strategy: "server_wins",
|
||||
});
|
||||
}
|
||||
|
@ -830,9 +830,9 @@ class ExtensionStorageSync {
|
|||
* Additional options to be passed to sync().
|
||||
* @returns {Promise<SyncResultObject>}
|
||||
*/
|
||||
async _syncCollection(collection, options) {
|
||||
_syncCollection(collection, options) {
|
||||
// FIXME: this should support syncing to self-hosted
|
||||
return await this._requestWithToken(`Syncing ${collection.name}`, async function(token) {
|
||||
return this._requestWithToken(`Syncing ${collection.name}`, function(token) {
|
||||
const allOptions = Object.assign({}, {
|
||||
remote: prefStorageSyncServerURL,
|
||||
headers: {
|
||||
|
@ -840,7 +840,7 @@ class ExtensionStorageSync {
|
|||
},
|
||||
}, options);
|
||||
|
||||
return await collection.sync(allOptions);
|
||||
return collection.sync(allOptions);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -861,7 +861,7 @@ class ExtensionStorageSync {
|
|||
const newToken = await this._fxaService.getOAuthToken(FXA_OAUTH_OPTIONS);
|
||||
|
||||
// If this fails too, let it go.
|
||||
return await f(newToken);
|
||||
return f(newToken);
|
||||
}
|
||||
// Otherwise, we don't know how to handle this error, so just reraise.
|
||||
throw e;
|
||||
|
@ -873,15 +873,15 @@ class ExtensionStorageSync {
|
|||
*
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
async _deleteBucket() {
|
||||
_deleteBucket() {
|
||||
log.error("Deleting default bucket and everything in it");
|
||||
return await this._requestWithToken("Clearing server", async function(token) {
|
||||
return this._requestWithToken("Clearing server", function(token) {
|
||||
const headers = {Authorization: "Bearer " + token};
|
||||
const kintoHttp = new KintoHttpClient(prefStorageSyncServerURL, {
|
||||
headers: headers,
|
||||
timeout: KINTO_REQUEST_TIMEOUT,
|
||||
});
|
||||
return await kintoHttp.deleteBucket("default");
|
||||
return kintoHttp.deleteBucket("default");
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -955,7 +955,7 @@ class ExtensionStorageSync {
|
|||
// We had a conflict which was automatically resolved. We now
|
||||
// have a new keyring which might have keys for the
|
||||
// collections. Recurse.
|
||||
return await this.ensureCanSync(extIds);
|
||||
return this.ensureCanSync(extIds);
|
||||
}
|
||||
|
||||
// No conflicts. We're good.
|
||||
|
@ -1098,7 +1098,7 @@ class ExtensionStorageSync {
|
|||
// Reupload our keyring, which is the only new keyring.
|
||||
// We don't want client_wins here because another device
|
||||
// could have uploaded another keyring in the meantime.
|
||||
return await this.cryptoCollection.sync(this);
|
||||
return this.cryptoCollection.sync(this);
|
||||
}
|
||||
}
|
||||
throw e;
|
||||
|
|
|
@ -28,14 +28,14 @@ const getPrivacyAPI = (extension, name, callback) => {
|
|||
value: await callback(),
|
||||
};
|
||||
},
|
||||
async set(details) {
|
||||
set(details) {
|
||||
checkScope(details.scope);
|
||||
return await ExtensionPreferencesManager.setSetting(
|
||||
return ExtensionPreferencesManager.setSetting(
|
||||
extension, name, details.value);
|
||||
},
|
||||
async clear(details) {
|
||||
clear(details) {
|
||||
checkScope(details.scope);
|
||||
return await ExtensionPreferencesManager.removeSetting(
|
||||
return ExtensionPreferencesManager.removeSetting(
|
||||
extension, name);
|
||||
},
|
||||
};
|
||||
|
|
|
@ -149,9 +149,9 @@ add_task(async function testParameterValidation() {
|
|||
|
||||
add_task(async function testAsyncResults() {
|
||||
await Schemas.load("data:," + JSON.stringify(schemaJson));
|
||||
async function runWithCallback(func) {
|
||||
function runWithCallback(func) {
|
||||
do_print(`Calling testnamespace.${func.name}, expecting callback with result`);
|
||||
return await new Promise(resolve => {
|
||||
return new Promise(resolve => {
|
||||
let result = "uninitialized value";
|
||||
let returnValue = func(reply => {
|
||||
result = reply;
|
||||
|
@ -164,9 +164,9 @@ add_task(async function testAsyncResults() {
|
|||
});
|
||||
}
|
||||
|
||||
async function runFailCallback(func) {
|
||||
function runFailCallback(func) {
|
||||
do_print(`Calling testnamespace.${func.name}, expecting callback with error`);
|
||||
return await new Promise(resolve => {
|
||||
return new Promise(resolve => {
|
||||
func(reply => {
|
||||
do_check_eq(reply, undefined);
|
||||
resolve(context.lastError.message); // eslint-disable-line no-undef
|
||||
|
|
|
@ -834,9 +834,7 @@ var Bookmarks = Object.freeze({
|
|||
throw new Error("numberOfItems argument must be greater than zero");
|
||||
}
|
||||
|
||||
return (async function() {
|
||||
return await fetchRecentBookmarks(numberOfItems);
|
||||
})();
|
||||
return fetchRecentBookmarks(numberOfItems);
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
|
@ -1029,7 +1029,7 @@ async function createItemsFromBookmarksTree(tree, restoring = false,
|
|||
|
||||
return guid;
|
||||
}
|
||||
return await createItem(tree,
|
||||
return createItem(tree,
|
||||
tree.parentGuid,
|
||||
tree.index);
|
||||
}
|
||||
|
|
|
@ -127,8 +127,8 @@ class TestCases {
|
|||
}
|
||||
|
||||
async testSeparators() {
|
||||
let insertSyncedBookmark = async uri => {
|
||||
return await this.insertBookmark(PlacesUtils.bookmarks.unfiledGuid,
|
||||
let insertSyncedBookmark = uri => {
|
||||
return this.insertBookmark(PlacesUtils.bookmarks.unfiledGuid,
|
||||
NetUtil.newURI(uri),
|
||||
PlacesUtils.bookmarks.DEFAULT_INDEX,
|
||||
"A bookmark name");
|
||||
|
@ -253,19 +253,19 @@ class SyncTestCases extends TestCases {
|
|||
async createFolder(parentGuid, title, index) {
|
||||
let parentId = await PlacesUtils.promiseItemId(parentGuid);
|
||||
let id = PlacesUtils.bookmarks.createFolder(parentId, title, index);
|
||||
return await PlacesUtils.promiseItemGuid(id);
|
||||
return PlacesUtils.promiseItemGuid(id);
|
||||
}
|
||||
|
||||
async insertBookmark(parentGuid, uri, index, title) {
|
||||
let parentId = await PlacesUtils.promiseItemId(parentGuid);
|
||||
let id = PlacesUtils.bookmarks.insertBookmark(parentId, uri, index, title);
|
||||
return await PlacesUtils.promiseItemGuid(id);
|
||||
return PlacesUtils.promiseItemGuid(id);
|
||||
}
|
||||
|
||||
async insertSeparator(parentGuid, index) {
|
||||
let parentId = await PlacesUtils.promiseItemId(parentGuid);
|
||||
let id = PlacesUtils.bookmarks.insertSeparator(parentId, index);
|
||||
return await PlacesUtils.promiseItemGuid(id);
|
||||
return PlacesUtils.promiseItemGuid(id);
|
||||
}
|
||||
|
||||
async moveItem(guid, newParentGuid, index) {
|
||||
|
|
|
@ -146,13 +146,13 @@ add_task(async function test_removeByFilter() {
|
|||
// Case A 1: Dates
|
||||
await removeByFilterTester(sameHostVisits,
|
||||
{ beginDate: new Date(2004, 1, 1), endDate: new Date(2006, 1, 1) },
|
||||
async () => await assertInDB(remoteUriList[0]),
|
||||
async () => await checkClosure(remoteUriList[0]),
|
||||
() => assertInDB(remoteUriList[0]),
|
||||
() => checkClosure(remoteUriList[0]),
|
||||
callbackUse, bookmarkedUri(remoteUriList));
|
||||
// Case A 2: Single Sub-host
|
||||
await removeByFilterTester(sameHostVisits, { host: "mozilla.org" },
|
||||
async () => await assertInDB(remoteUriList[0]),
|
||||
async () => await checkClosure(remoteUriList[0]),
|
||||
() => assertInDB(remoteUriList[0]),
|
||||
() => checkClosure(remoteUriList[0]),
|
||||
callbackUse, bookmarkedUri(remoteUriList));
|
||||
// Case A 3: Multiple subhost
|
||||
await removeByFilterTester(randomHostVisits, { host: "*.mozilla.org" },
|
||||
|
@ -176,13 +176,13 @@ add_task(async function test_removeByFilter() {
|
|||
// Case B 1: Date
|
||||
await removeByFilterTester(sameHostVisits,
|
||||
{ beginDate: new Date(2001, 1, 1), endDate: new Date(2002, 1, 1) },
|
||||
async () => await assertInDB(remoteUriList[0]),
|
||||
async () => await assertInDB(remoteUriList[0]),
|
||||
() => assertInDB(remoteUriList[0]),
|
||||
() => assertInDB(remoteUriList[0]),
|
||||
callbackUse);
|
||||
// Case B 2 : Single subhost
|
||||
await removeByFilterTester(sameHostVisits, { host: "notthere.org" },
|
||||
async () => await assertInDB(remoteUriList[0]),
|
||||
async () => await assertInDB(remoteUriList[0]),
|
||||
() => assertInDB(remoteUriList[0]),
|
||||
() => assertInDB(remoteUriList[0]),
|
||||
callbackUse);
|
||||
// Case B 3 : Multiple subhosts
|
||||
await removeByFilterTester(randomHostVisits, { host: "*.notthere.org" },
|
||||
|
@ -196,8 +196,8 @@ add_task(async function test_removeByFilter() {
|
|||
{ host: "mozilla.org",
|
||||
beginDate: new Date(2004, 1, 1),
|
||||
endDate: new Date(2006, 1, 1) },
|
||||
async () => await assertInDB(remoteUriList[0]),
|
||||
async () => await assertNotInDB(remoteUriList[0]),
|
||||
() => assertInDB(remoteUriList[0]),
|
||||
() => assertNotInDB(remoteUriList[0]),
|
||||
callbackUse);
|
||||
// Case C 2: multiple subhost
|
||||
await removeByFilterTester(randomHostVisits,
|
||||
|
|
|
@ -51,7 +51,7 @@ function insertBookmark(db, info) {
|
|||
{ url: url.href, guid: placeGuid,
|
||||
rev_host: PlacesUtils.getReversedHost(url) });
|
||||
}
|
||||
return await insertItem(db, info);
|
||||
return insertItem(db, info);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -437,14 +437,14 @@ function makeTestServer(port = -1) {
|
|||
return httpServer;
|
||||
}
|
||||
|
||||
async function addTestEngine(basename, httpServer = undefined) {
|
||||
function addTestEngine(basename, httpServer = undefined) {
|
||||
httpServer = httpServer || makeTestServer();
|
||||
httpServer.registerDirectory("/", do_get_cwd());
|
||||
let dataUrl =
|
||||
"http://localhost:" + httpServer.identity.primaryPort + "/data/";
|
||||
|
||||
do_print("Adding engine: " + basename);
|
||||
return await new Promise(resolve => {
|
||||
return new Promise(resolve => {
|
||||
Services.obs.addObserver(function obs(subject, topic, data) {
|
||||
let engine = subject.QueryInterface(Ci.nsISearchEngine);
|
||||
do_print("Observed " + data + " for " + engine.name);
|
||||
|
|
|
@ -156,10 +156,10 @@ async function new_bookmark(aInfo) {
|
|||
await PlacesTransactions.NewBookmark(aInfo).transact();
|
||||
}
|
||||
|
||||
async function new_folder(aInfo) {
|
||||
function new_folder(aInfo) {
|
||||
if (!("title" in aInfo))
|
||||
aInfo.title = "Test Item (folder) " + itemsCount;
|
||||
return await PlacesTransactions.NewFolder(aInfo).transact();
|
||||
return PlacesTransactions.NewFolder(aInfo).transact();
|
||||
}
|
||||
|
||||
// Walks a result nodes tree and test promiseBookmarksTree for each node.
|
||||
|
@ -190,7 +190,7 @@ async function test_promiseBookmarksTreeAgainstResult(aItemGuid = "",
|
|||
let itemId = aItemGuid ?
|
||||
await PlacesUtils.promiseItemId(aItemGuid) : PlacesUtils.placesRootId;
|
||||
let node = PlacesUtils.getFolderContents(itemId).root;
|
||||
return await test_promiseBookmarksTreeForEachNode(node, aOptions, aExcludedGuids);
|
||||
return test_promiseBookmarksTreeForEachNode(node, aOptions, aExcludedGuids);
|
||||
}
|
||||
|
||||
add_task(async function() {
|
||||
|
|
|
@ -224,13 +224,13 @@ this.ReaderMode = {
|
|||
* @return {Promise}
|
||||
* @resolves JS object representing the article, or null if no article is found.
|
||||
*/
|
||||
async parseDocument(doc) {
|
||||
parseDocument(doc) {
|
||||
if (!this._shouldCheckUri(doc.documentURIObject) || !this._shouldCheckUri(doc.baseURIObject, true)) {
|
||||
this.log("Reader mode disabled for URI");
|
||||
return null;
|
||||
}
|
||||
|
||||
return await this._readerParse(doc);
|
||||
return this._readerParse(doc);
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -247,7 +247,7 @@ this.ReaderMode = {
|
|||
return null;
|
||||
}
|
||||
|
||||
return await this._readerParse(doc);
|
||||
return this._readerParse(doc);
|
||||
},
|
||||
|
||||
_downloadDocument(url) {
|
||||
|
|
|
@ -76,7 +76,7 @@ function waitForViewSourceWindow() {
|
|||
* @param browser - the <xul:browser> to open view source for.
|
||||
* @returns the new tab or window which shows the source.
|
||||
*/
|
||||
async function openViewSource(browser) {
|
||||
function openViewSource(browser) {
|
||||
let openPromise;
|
||||
if (Services.prefs.getBoolPref("view_source.tab")) {
|
||||
openPromise = BrowserTestUtils.waitForNewTab(gBrowser, null);
|
||||
|
@ -86,7 +86,7 @@ async function openViewSource(browser) {
|
|||
|
||||
window.BrowserViewSource(browser);
|
||||
|
||||
return (await openPromise);
|
||||
return openPromise;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -120,7 +120,7 @@ async function openViewPartialSource(aCSSSelector) {
|
|||
EventUtils.synthesizeMouseAtCenter(item, {});
|
||||
await popupHiddenPromise;
|
||||
|
||||
return (await openPromise);
|
||||
return openPromise;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -153,7 +153,7 @@ async function openViewFrameSourceTab(aCSSSelector) {
|
|||
EventUtils.synthesizeMouseAtCenter(item, {});
|
||||
await popupHiddenPromise;
|
||||
|
||||
return (await newTabPromise);
|
||||
return newTabPromise;
|
||||
}
|
||||
|
||||
registerCleanupFunction(function() {
|
||||
|
|
|
@ -264,6 +264,9 @@ module.exports = {
|
|||
// Disallow multiple spaces in regular expressions
|
||||
"no-regex-spaces": "error",
|
||||
|
||||
// Disallows unnecessary `return await ...`.
|
||||
"no-return-await": "error",
|
||||
|
||||
// Disallow assignments where both sides are exactly the same
|
||||
"no-self-assign": "error",
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче