--- a/browser/base/content/aboutaccounts/aboutaccounts.js
+++ b/browser/base/content/aboutaccounts/aboutaccounts.js
@@ -22,21 +22,21 @@ const ACTION_URL_PARAM = "action";
const OBSERVER_TOPICS = [
fxAccountsCommon.ONVERIFIED_NOTIFICATION,
fxAccountsCommon.ONLOGOUT_NOTIFICATION,
];
function log(msg) {
//dump("FXA: " + msg + "\n");
-};
+}
function error(msg) {
console.log("Firefox Account Error: " + msg + "\n");
-};
+}
function getPreviousAccountNameHash() {
try {
return Services.prefs.getComplexValue(PREF_LAST_FXA_USER, Ci.nsISupportsString).data;
} catch (_) {
return "";
}
}
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -3024,17 +3024,17 @@ function populateMirrorTabMenu(popup) {
let services = CastingApps.getServicesForMirroring();
services.forEach(service => {
let item = doc.createElement("menuitem");
item.setAttribute("label", service.friendlyName);
item._service = service;
item.addEventListener("command", mirrorMenuItemClicked);
popup.appendChild(item);
});
-};
+}
function getWebNavigation()
{
return gBrowser.webNavigation;
}
function BrowserReloadWithFlags(reloadFlags) {
let url = gBrowser.currentURI.spec;
@@ -5496,17 +5496,17 @@ function handleDroppedLink(event, url, n
if (data.url &&
lastLocationChange == gBrowser.selectedBrowser.lastLocationChange)
loadURI(data.url, null, data.postData, false);
});
// Keep the event from being handled by the dragDrop listeners
// built-in to gecko if they happen to be above us.
event.preventDefault();
-};
+}
function BrowserSetForcedCharacterSet(aCharset)
{
if (aCharset) {
gBrowser.selectedBrowser.characterSet = aCharset;
// Save the forced character-set
if (!PrivateBrowsingUtils.isWindowPrivate(window))
PlacesUtils.setCharsetForURI(getWebNavigation().currentURI, aCharset);
@@ -7184,24 +7184,24 @@ var gIdentityHandler = {
}
};
function getNotificationBox(aWindow) {
var foundBrowser = gBrowser.getBrowserForDocument(aWindow.document);
if (foundBrowser)
return gBrowser.getNotificationBox(foundBrowser)
return null;
-};
+}
function getTabModalPromptBox(aWindow) {
var foundBrowser = gBrowser.getBrowserForDocument(aWindow.document);
if (foundBrowser)
return gBrowser.getTabModalPromptBox(foundBrowser);
return null;
-};
+}
/* DEPRECATED */
function getBrowser() {
return gBrowser;
}
function getNavToolbox() {
return gNavToolbox;
}
--- a/browser/base/content/tabbrowser.xml
+++ b/browser/base/content/tabbrowser.xml
@@ -5375,17 +5375,17 @@
}
// For telemetry, the first frame interval is not useful since it may represent an interval
// to a relatively old frame (prior to recording start). So we'll ignore it for the average.
if (frameCount > 1) {
let averageInterval = 0;
for (let i = 1; i < frameCount; i++) {
averageInterval += intervals[i];
- };
+ }
averageInterval = averageInterval / (frameCount - 1);
Services.telemetry.getHistogramById("FX_TAB_ANIM_ANY_FRAME_INTERVAL_MS").add(averageInterval);
if (aTab._recordingTabOpenPlain) {
delete aTab._recordingTabOpenPlain;
// While we do have a telemetry probe NEWTAB_PAGE_ENABLED to monitor newtab preview, it'll be
// easier to overview the data without slicing by it. Hence the additional histograms with _PREVIEW.
--- a/browser/components/customizableui/CustomizableUI.jsm
+++ b/browser/components/customizableui/CustomizableUI.jsm
@@ -4157,17 +4157,17 @@ OverflowableToolbar.prototype = {
this._list.insertBefore(child, this._list.firstChild);
if (!this._toolbar.hasAttribute("overflowing")) {
CustomizableUI.addListener(this);
}
this._toolbar.setAttribute("overflowing", "true");
}
child = prevChild;
- };
+ }
let win = this._target.ownerDocument.defaultView;
win.UpdateUrlbarSearchSplitterState();
},
_onResize: function(aEvent) {
if (!this._lazyResizeHandler) {
this._lazyResizeHandler = new DeferredTask(this._onLazyResize.bind(this),
--- a/browser/components/customizableui/CustomizableWidgets.jsm
+++ b/browser/components/customizableui/CustomizableWidgets.jsm
@@ -723,17 +723,17 @@ const CustomizableWidgets = [
// tabbrowser. This breaks the zoom toolkit code (see bug 897410). Don't let that happen:
let zoomFactor = 100;
try {
zoomFactor = Math.round(window.ZoomManager.zoom * 100);
} catch (e) {}
zoomResetButton.setAttribute("label", CustomizableUI.getLocalizedProperty(
buttons[1], "label", [updateDisplay ? zoomFactor : 100]
));
- };
+ }
// Register ourselves with the service so we know when the zoom prefs change.
Services.obs.addObserver(updateZoomResetButton, "browser-fullZoom:zoomChange", false);
Services.obs.addObserver(updateZoomResetButton, "browser-fullZoom:zoomReset", false);
Services.obs.addObserver(updateZoomResetButton, "browser-fullZoom:location-change", false);
if (inPanel) {
let panel = aDocument.getElementById(kPanelId);
--- a/browser/components/customizableui/CustomizeMode.jsm
+++ b/browser/components/customizableui/CustomizeMode.jsm
@@ -77,17 +77,17 @@ function CustomizeMode(aWindow) {
let lwthemeButton = this.document.getElementById("customization-lwtheme-button");
lwthemeButton.setAttribute("hidden", "true");
}
if (AppConstants.CAN_DRAW_IN_TITLEBAR) {
this._updateTitlebarButton();
Services.prefs.addObserver(kDrawInTitlebarPref, this, false);
}
this.window.addEventListener("unload", this);
-};
+}
CustomizeMode.prototype = {
_changed: false,
_transitioning: false,
window: null,
document: null,
// areas is used to cache the customizable areas when in customization mode.
areas: null,
--- a/browser/components/customizableui/test/browser_934951_zoom_in_toolbar.js
+++ b/browser/components/customizableui/test/browser_934951_zoom_in_toolbar.js
@@ -58,17 +58,17 @@ add_task(function*() {
});
function promiseObserverNotification(aObserver) {
let deferred = Promise.defer();
function notificationCallback(e) {
Services.obs.removeObserver(notificationCallback, aObserver, false);
clearTimeout(timeoutId);
deferred.resolve();
- };
+ }
let timeoutId = setTimeout(() => {
Services.obs.removeObserver(notificationCallback, aObserver, false);
deferred.reject("Notification '" + aObserver + "' did not happen within 20 seconds.");
}, kTimeoutInMS);
Services.obs.addObserver(notificationCallback, aObserver, false);
return deferred.promise;
}
@@ -78,12 +78,12 @@ function promiseTabSelect() {
let timeoutId = setTimeout(() => {
container.removeEventListener("TabSelect", callback);
deferred.reject("TabSelect did not happen within 20 seconds");
}, kTimeoutInMS);
function callback(e) {
container.removeEventListener("TabSelect", callback);
clearTimeout(timeoutId);
executeSoon(deferred.resolve);
- };
+ }
container.addEventListener("TabSelect", callback);
return deferred.promise;
}
--- a/browser/components/customizableui/test/browser_989338_saved_placements_not_resaved.js
+++ b/browser/components/customizableui/test/browser_989338_saved_placements_not_resaved.js
@@ -33,17 +33,17 @@ function test() {
ok(!backstagePass.gPlacements.has(AREAID), "Placements map shouldn't have been affected");
let savedNavbar = Array.isArray(newSavedState.placements[CustomizableUI.AREA_NAVBAR]);
ok(savedNavbar, "Should have saved nav-bar contents");
if (savedNavbar) {
placementArraysEqual(CustomizableUI.AREA_NAVBAR, newSavedState.placements[CustomizableUI.AREA_NAVBAR],
CustomizableUI.getWidgetIdsInArea(CustomizableUI.AREA_NAVBAR));
}
-};
+}
registerCleanupFunction(function() {
let backstagePass = Cu.import("resource:///modules/CustomizableUI.jsm", {});
if (!hadSavedState) {
backstagePass.gSavedState = null;
} else {
let savedPlacements = backstagePass.gSavedState.placements;
delete savedPlacements[AREAID];
--- a/browser/components/customizableui/test/browser_992747_toggle_noncustomizable_toolbar.js
+++ b/browser/components/customizableui/test/browser_992747_toggle_noncustomizable_toolbar.js
@@ -17,10 +17,10 @@ function test() {
is(tb.getAttribute("collapsed"), "true", "Toolbar should be collapsed");
try {
CustomizableUI.setToolbarVisibility(TOOLBARID, true);
} catch (ex) {
ok(false, "Should not throw exceptions trying to set toolbar visibility.");
}
is(tb.getAttribute("collapsed"), "false", "Toolbar should be uncollapsed");
tb.remove();
-};
+}
--- a/browser/components/customizableui/test/head.js
+++ b/browser/components/customizableui/test/head.js
@@ -284,17 +284,17 @@ function promisePanelElementShown(win, a
let deferred = Promise.defer();
let timeoutId = win.setTimeout(() => {
deferred.reject("Panel did not show within 20 seconds.");
}, 20000);
function onPanelOpen(e) {
aPanel.removeEventListener("popupshown", onPanelOpen);
win.clearTimeout(timeoutId);
deferred.resolve();
- };
+ }
aPanel.addEventListener("popupshown", onPanelOpen);
return deferred.promise;
}
function promisePanelHidden(win) {
let panelEl = win.PanelUI.panel;
return promisePanelElementHidden(win, panelEl);
}
@@ -327,32 +327,32 @@ function subviewShown(aSubview) {
let win = aSubview.ownerDocument.defaultView;
let timeoutId = win.setTimeout(() => {
deferred.reject("Subview (" + aSubview.id + ") did not show within 20 seconds.");
}, 20000);
function onViewShowing(e) {
aSubview.removeEventListener("ViewShowing", onViewShowing);
win.clearTimeout(timeoutId);
deferred.resolve();
- };
+ }
aSubview.addEventListener("ViewShowing", onViewShowing);
return deferred.promise;
}
function subviewHidden(aSubview) {
let deferred = Promise.defer();
let win = aSubview.ownerDocument.defaultView;
let timeoutId = win.setTimeout(() => {
deferred.reject("Subview (" + aSubview.id + ") did not hide within 20 seconds.");
}, 20000);
function onViewHiding(e) {
aSubview.removeEventListener("ViewHiding", onViewHiding);
win.clearTimeout(timeoutId);
deferred.resolve();
- };
+ }
aSubview.addEventListener("ViewHiding", onViewHiding);
return deferred.promise;
}
function waitForCondition(aConditionFn, aMaxTries=50, aCheckInterval=100) {
function tryNow() {
tries++;
if (aConditionFn()) {
@@ -500,17 +500,17 @@ function popupHidden(aPopup) {
function promisePopupEvent(aPopup, aEventSuffix) {
let deferred = Promise.defer();
let win = aPopup.ownerDocument.defaultView;
let eventType = "popup" + aEventSuffix;
function onPopupEvent(e) {
aPopup.removeEventListener(eventType, onPopupEvent);
deferred.resolve();
- };
+ }
aPopup.addEventListener(eventType, onPopupEvent);
return deferred.promise;
}
// This is a simpler version of the context menu check that
// exists in contextmenu_common.js.
function checkContextMenu(aContextMenu, aExpectedEntries, aWindow=window) {
--- a/browser/components/places/tests/unit/test_browserGlue_urlbar_defaultbehavior_migration.js
+++ b/browser/components/places/tests/unit/test_browserGlue_urlbar_defaultbehavior_migration.js
@@ -9,38 +9,38 @@ const DEFAULT_BEHAVIOR_PREF = "browser.u
const AUTOCOMPLETE_PREF = "browser.urlbar.autocomplete.enabled";
var gBrowserGlue = Cc["@mozilla.org/browser/browserglue;1"]
.getService(Ci.nsIObserver);
var gGetBoolPref = Services.prefs.getBoolPref;
function run_test() {
run_next_test();
-};
+}
do_register_cleanup(cleanup);
function cleanup() {
let prefix = "browser.urlbar.suggest.";
for (let type of ["history", "bookmark", "openpage", "history.onlyTyped"]) {
Services.prefs.clearUserPref(prefix + type);
}
Services.prefs.clearUserPref("browser.migration.version");
Services.prefs.clearUserPref(AUTOCOMPLETE_PREF);
-};
+}
function setupBehaviorAndMigrate(aDefaultBehavior, aAutocompleteEnabled = true) {
cleanup();
// Migrate browser.urlbar.default.behavior preference.
Services.prefs.setIntPref("browser.migration.version", UI_VERSION - 1);
Services.prefs.setIntPref(DEFAULT_BEHAVIOR_PREF, aDefaultBehavior);
Services.prefs.setBoolPref(AUTOCOMPLETE_PREF, aAutocompleteEnabled);
// Simulate a migration.
gBrowserGlue.observe(null, TOPIC_BROWSERGLUE_TEST, TOPICDATA_BROWSERGLUE_TEST);
-};
+}
add_task(function*() {
do_print("Migrate default.behavior = 0");
setupBehaviorAndMigrate(0);
Assert.ok(gGetBoolPref("browser.urlbar.suggest.history"),
"History preference should be true.");
Assert.ok(gGetBoolPref("browser.urlbar.suggest.bookmark"),
--- a/browser/components/search/test/browser_426329.js
+++ b/browser/components/search/test/browser_426329.js
@@ -81,34 +81,34 @@ function promiseSetEngine() {
"anonid", "search-go-button");
ok(searchButton, "got search-go-button");
searchBar.value = "test";
Services.obs.removeObserver(observer, "browser-search-engine-modified");
resolve();
break;
}
- };
+ }
Services.obs.addObserver(observer, "browser-search-engine-modified", false);
ss.addEngine("http://mochi.test:8888/browser/browser/components/search/test/426329.xml",
null, "data:image/x-icon,%00", false);
});
}
function promiseRemoveEngine() {
return new Promise(resolve => {
var ss = Services.search;
function observer(aSub, aTopic, aData) {
if (aData == "engine-removed") {
Services.obs.removeObserver(observer, "browser-search-engine-modified");
resolve();
}
- };
+ }
Services.obs.addObserver(observer, "browser-search-engine-modified", false);
var engine = ss.getEngineByName("Bug 426329");
ss.removeEngine(engine);
});
}
--- a/browser/components/syncedtabs/SyncedTabsDeckComponent.js
+++ b/browser/components/syncedtabs/SyncedTabsDeckComponent.js
@@ -46,17 +46,17 @@ function SyncedTabsDeckComponent({
this._deckStore = deckStore || new SyncedTabsDeckStore();
this._syncedTabsListStore = listStore || new SyncedTabsListStore(SyncedTabs);
this.tabListComponent = listComponent || new TabListComponent({
window: this._window,
store: this._syncedTabsListStore,
View: TabListView,
SyncedTabs: SyncedTabs
});
-};
+}
SyncedTabsDeckComponent.prototype = {
PANELS: {
TABS_CONTAINER: "tabs-container",
TABS_FETCHING: "tabs-fetching",
NOT_AUTHED_INFO: "notAuthedInfo",
SINGLE_DEVICE_INFO: "singleDeviceInfo",
TABS_DISABLED: "tabs-disabled",
--- a/browser/components/syncedtabs/SyncedTabsDeckStore.js
+++ b/browser/components/syncedtabs/SyncedTabsDeckStore.js
@@ -19,17 +19,17 @@ this.EXPORTED_SYMBOLS = [
* one is selected. The view listens for change events on the store, which are
* triggered whenever the state changes. If it's a small change, the state
* will have `isUpdatable` set to true so the view can skip rerendering the whole
* DOM.
*/
function SyncedTabsDeckStore() {
EventEmitter.call(this);
this._panels = [];
-};
+}
Object.assign(SyncedTabsDeckStore.prototype, EventEmitter.prototype, {
_change(isUpdatable = false) {
let panels = this._panels.map(panel => {
return {id: panel, selected: panel === this._selectedPanel};
});
this.emit("change", {panels, isUpdatable: isUpdatable});
},
--- a/browser/components/syncedtabs/SyncedTabsListStore.js
+++ b/browser/components/syncedtabs/SyncedTabsListStore.js
@@ -22,17 +22,17 @@ this.EXPORTED_SYMBOLS = [
function SyncedTabsListStore(SyncedTabs) {
EventEmitter.call(this);
this._SyncedTabs = SyncedTabs;
this.data = [];
this._closedClients = {};
this._selectedRow = [-1, -1];
this.filter = "";
this.inputFocused = false;
-};
+}
Object.assign(SyncedTabsListStore.prototype, EventEmitter.prototype, {
// This internal method triggers the "change" event that views
// listen for. It denormalizes the state so that it's easier for
// the view to deal with. updateType hints to the view what
// actually needs to be rerendered or just updated, and can be
// empty (to (re)render everything), "searchbox" (to rerender just the tab list),
// or "all" (to skip rendering and just update all attributes of existing nodes).
--- a/browser/components/syncedtabs/TabListView.js
+++ b/browser/components/syncedtabs/TabListView.js
@@ -38,17 +38,17 @@ function TabListView(window, props) {
this._tabsContainerTemplate = this._doc.getElementById("tabs-container-template");
this._clientTemplate = this._doc.getElementById("client-template");
this._emptyClientTemplate = this._doc.getElementById("empty-client-template");
this._tabTemplate = this._doc.getElementById("tab-template");
this.container = this._doc.createElement("div");
this._setupContextMenu();
-};
+}
TabListView.prototype = {
render(state) {
// Don't rerender anything; just update attributes, e.g. selection
if (state.canUpdateAll) {
this._update(state);
return;
}
--- a/browser/components/syncedtabs/test/browser/browser_sidebar_syncedtabslist.js
+++ b/browser/components/syncedtabs/test/browser/browser_sidebar_syncedtabslist.js
@@ -253,10 +253,10 @@ function checkItem(node, item) {
// client items
Assert.equal(node.querySelector(".item-title").textContent, item.name,
"Node's title element's text should match client name");
Assert.ok(node.classList.contains("client"),
"Node should have .client class");
Assert.equal(node.dataset.id, item.id,
"Node's ID should match item ID");
}
-};
+}
--- a/browser/components/uitour/test/browser_UITour_defaultBrowser.js
+++ b/browser/components/uitour/test/browser_UITour_defaultBrowser.js
@@ -4,17 +4,17 @@ var gTestTab;
var gContentAPI;
var gContentWindow;
var setDefaultBrowserCalled = false;
Cc["@mozilla.org/moz/jssubscript-loader;1"]
.getService(Ci.mozIJSSubScriptLoader)
.loadSubScript("chrome://mochikit/content/tests/SimpleTest/MockObjects.js", this);
-function MockShellService() {};
+function MockShellService() {}
MockShellService.prototype = {
QueryInterface: XPCOMUtils.generateQI([Ci.nsIShellService]),
isDefaultBrowser: function(aStartupCheck, aForAllTypes) { return false; },
setDefaultBrowser: function(aClaimAllTypes, aForAllUsers) {
setDefaultBrowserCalled = true;
},
shouldCheckDefaultBrowser: false,
canSetDesktopBackground: false,
--- a/browser/components/uitour/test/browser_no_tabs.js
+++ b/browser/components/uitour/test/browser_no_tabs.js
@@ -39,17 +39,17 @@ function createHiddenBrowser(aURL) {
* The browser to dismiss.
*/
function destroyHiddenBrowser(aFrame, aBrowser) {
// Dispose of the hidden browser.
aBrowser.remove();
// Take care of the frame holding our invisible browser.
aFrame.destroy();
-};
+}
/**
* Test that UITour works when called when no tabs are available (e.g., when using windowless
* browsers).
*/
add_task(function* test_windowless_UITour(){
// Get the URL for the test page.
let pageURL = getRootDirectory(gTestPath) + "uitour.html";
--- a/browser/experiments/Experiments.jsm
+++ b/browser/experiments/Experiments.jsm
@@ -1515,17 +1515,17 @@ Experiments.ExperimentEntry.prototype =
}
}
for (let key of this.SERIALIZE_KEYS) {
if (!(key in data) && !this.DATE_KEYS.has(key)) {
this._log.error("initFromCacheData() - missing required key " + key);
return false;
}
- };
+ }
if (!this._isManifestDataValid(data._manifestData)) {
return false;
}
// Dates are restored separately from epoch ms, everything else is just
// copied in.
--- a/browser/extensions/pocket/bootstrap.js
+++ b/browser/extensions/pocket/bootstrap.js
@@ -199,17 +199,17 @@ function CreatePocketWidget(reason) {
createInstance(Ci.nsISupportsString);
str.data = JSON.stringify(provider.manifest);
Services.prefs.setComplexValue(pref, Ci.nsISupportsString, str);
SocialService.uninstallProvider(origin, () => {});
}
}
});
-};
+}
// PocketContextMenu
// When the context menu is opened check if we need to build and enable pocket UI.
var PocketContextMenu = {
init: function() {
Services.obs.addObserver(this, "on-build-contextmenu", false);
},
shutdown: function() {
@@ -221,17 +221,17 @@ var PocketContextMenu = {
for (let id in ["context-pocket", "context-savelinktopocket"]) {
let element = document.getElementById(id);
if (element)
element.remove();
}
}
},
observe: function(aSubject, aTopic, aData) {
- let subject = aSubject.wrappedJSObject;;
+ let subject = aSubject.wrappedJSObject;
let document = subject.menu.ownerDocument;
let window = document.defaultView;
let pocketEnabled = CustomizableUI.getPlacementOfWidget("pocket-button");
let showSaveCurrentPageToPocket = !(subject.onTextInput || subject.onLink ||
subject.isContentSelected || subject.onImage ||
subject.onCanvas || subject.onVideo || subject.onAudio);
let targetUrl = subject.onLink ? subject.linkUrl : subject.pageUrl;
--- a/browser/extensions/pocket/content/main.js
+++ b/browser/extensions/pocket/content/main.js
@@ -626,17 +626,17 @@ var pktUIMessaging = (function() {
}
/**
* Send a message to the panel's iframe
*/
function sendMessageToPanel(panelId, messageId, payload) {
- if (!isPanelIdValid(panelId)) { return; };
+ if (!isPanelIdValid(panelId)) { return; }
var panelFrame = pktUI.getPanelFrame();
if (!isPocketPanelFrameValid(panelFrame)) { return; }
var doc = panelFrame.contentWindow.document;
var documentElement = doc.documentElement;
// Send message to panel
--- a/browser/extensions/pocket/content/pktApi.jsm
+++ b/browser/extensions/pocket/content/pktApi.jsm
@@ -339,17 +339,17 @@ var pktApi = (function() {
access_token: accessToken,
url: url,
since: since ? since : 0
};
var title = options.title;
if (title !== "undefined") {
sendData.title = title;
- };
+ }
return apiRequest({
path: "/firefox/save",
data: sendData,
success: function(data) {
// Update premium status, tags and since
var tags = data.tags;
--- a/browser/modules/Social.jsm
+++ b/browser/modules/Social.jsm
@@ -276,17 +276,17 @@ function CreateSocialStatusWidget(aId, a
node.setAttribute("constrain-size", "true");
if (PrivateBrowsingUtils.isWindowPrivate(aDocument.defaultView))
node.setAttribute("disabled", "true");
return node;
}
});
-};
+}
function CreateSocialMarkWidget(aId, aProvider) {
if (!aProvider.markURL)
return;
let widget = CustomizableUI.getWidget(aId);
// The widget is only null if we've created then destroyed the widget.
// Once we've actually called createWidget the provider will be set to
// PROVIDER_API.
@@ -311,17 +311,17 @@ function CreateSocialMarkWidget(aId, aPr
let menuLabel = window.gNavigatorBundle.getFormattedString("social.markpageMenu.label", [aProvider.name]);
node.setAttribute("label", menuLabel);
node.setAttribute("tooltiptext", menuLabel);
node.setAttribute("observes", "Social:PageShareOrMark");
return node;
}
});
-};
+}
function sizeSocialPanelToContent(panel, iframe, requestedSize) {
let doc = iframe.contentDocument;
if (!doc || !doc.body) {
return;
}
// We need an element to use for sizing our panel. See if the body defines
--- a/browser/modules/test/xpcshell/test_DirectoryLinksProvider.js
+++ b/browser/modules/test/xpcshell/test_DirectoryLinksProvider.js
@@ -1542,17 +1542,17 @@ add_task(function* test_DirectoryLinksPr
this.promise = new Promise(resolve => {
this.onDeleteURI = (directoryLinksProvider, link) => {
resolve();
};
this.onClearHistory = (directoryLinksProvider) => {
resolve();
};
});
- };
+ }
let testObserver = new UrlDeletionTester();
DirectoryLinksProvider.addObserver(testObserver);
PlacesUtils.bhistory.removePage(NetUtil.newURI(landingUrl));
yield testObserver.promise;
DirectoryLinksProvider.removeObserver(testObserver);
// views must be 2 and click should not exist
@@ -1660,17 +1660,17 @@ add_task(function* test_inadjecentSites(
let badSiteB64 = [];
sites.forEach(site => {
badSiteB64.push(DirectoryLinksProvider._generateHash(site));
});
let theList = {"domains": badSiteB64};
let dataURI = 'data:application/json,' + JSON.stringify(theList);
DirectoryLinksProvider._inadjacentSitesUrl = dataURI;
return DirectoryLinksProvider._loadInadjacentSites();
- };
+ }
// setup gLinks loader
let gLinks = NewTabUtils.links;
gLinks.addProvider(DirectoryLinksProvider);
function updateNewTabCache() {
gLinks.populateCache();
return new Promise(resolve => {
--- a/browser/modules/webrtcUI.jsm
+++ b/browser/modules/webrtcUI.jsm
@@ -115,17 +115,17 @@ this.webrtcUI = {
return {uri: state.documentURI, tab: tab, browser: browser, types: types};
});
},
swapBrowserForNotification: function(aOldBrowser, aNewBrowser) {
for (let stream of this._streams) {
if (stream.browser == aOldBrowser)
stream.browser = aNewBrowser;
- };
+ }
},
showSharingDoorhanger: function(aActiveStream, aType) {
let browserWindow = aActiveStream.browser.ownerDocument.defaultView;
if (aActiveStream.tab) {
browserWindow.gBrowser.selectedTab = aActiveStream.tab;
} else {
aActiveStream.browser.focus();
@@ -246,17 +246,17 @@ function denyRequest(aBrowser, aRequest)
function getHost(uri, href) {
let host;
try {
if (!uri) {
uri = Services.io.newURI(href, null, null);
}
host = uri.host;
- } catch (ex) {};
+ } catch (ex) {}
if (!host) {
if (uri && uri.scheme.toLowerCase() == "about") {
// Special case-ing Loop/ Hello gUM requests.
if (uri.specIgnoringRef == "about:loopconversation") {
const kBundleURI = "chrome://browser/locale/loop/loop.properties";
let bundle = Services.strings.createBundle(kBundleURI);
host = bundle.GetStringFromName("clientShortname2");
} else {
--- a/browser/tools/mozscreenshots/mozscreenshots/extension/Screenshot.jsm
+++ b/browser/tools/mozscreenshots/mozscreenshots/extension/Screenshot.jsm
@@ -168,13 +168,13 @@ let Screenshot = {
setTimeout(resolve, 1000);
} catch (ex) {
reject(ex);
}
break;
default:
reject(topic);
break;
- };
+ }
},
};
},
};
--- a/toolkit/.eslintrc
+++ b/toolkit/.eslintrc
@@ -78,17 +78,17 @@
// No assiging to exception variable
// "no-ex-assign": 2,
// No using !! where casting to boolean is already happening
// "no-extra-boolean-cast": 2,
// No double semicolon
- // "no-extra-semi": 2,
+ "no-extra-semi": 2,
// No overwriting defined functions
// "no-func-assign": 2,
// No invalid regular expresions
// "no-invalid-regexp": 2,
// No odd whitespace characters
--- a/toolkit/components/addoncompat/CompatWarning.jsm
+++ b/toolkit/components/addoncompat/CompatWarning.jsm
@@ -28,17 +28,17 @@ var CompatWarning = {
// fires. However, we want the warning to show a stack for the
// registration site.
delayedWarning: function(msg, addon, warning) {
function isShimLayer(filename) {
return filename.indexOf("CompatWarning.jsm") != -1 ||
filename.indexOf("RemoteAddonsParent.jsm") != -1 ||
filename.indexOf("RemoteAddonsChild.jsm") != -1 ||
filename.indexOf("multiprocessShims.js") != -1;
- };
+ }
let stack = Components.stack;
while (stack && isShimLayer(stack.filename))
stack = stack.caller;
let alreadyWarned = false;
return function() {
--- a/toolkit/components/apppicker/content/appPicker.js
+++ b/toolkit/components/apppicker/content/appPicker.js
@@ -1,15 +1,15 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
Components.utils.import("resource://gre/modules/AppConstants.jsm");
-function AppPicker() {};
+function AppPicker() {}
AppPicker.prototype =
{
// Class members
_incomingParams:null,
/**
* Init the dialog and populate the application list
--- a/toolkit/components/asyncshutdown/AsyncShutdown.jsm
+++ b/toolkit/components/asyncshutdown/AsyncShutdown.jsm
@@ -461,17 +461,17 @@ function getPhase(topic) {
if (accepted) {
return () => spinner.observe();
}
return undefined;
}
});
gPhases.set(topic, phase);
return phase;
-};
+}
/**
* Utility class used to spin the event loop until all blockers for a
* Phase are satisfied.
*
* @param {string} topic The xpcom notification for that phase.
*/
function Spinner(topic) {
--- a/toolkit/components/asyncshutdown/nsAsyncShutdown.js
+++ b/toolkit/components/asyncshutdown/nsAsyncShutdown.js
@@ -197,17 +197,17 @@ nsAsyncShutdownClient.prototype = {
* @param {object} moduleBarrier an instance if
* `AsyncShutdown.Barrier`. This instance will serve as back-end for
* all methods.
* @constructor
*/
function nsAsyncShutdownBarrier(moduleBarrier) {
this._client = new nsAsyncShutdownClient(moduleBarrier.client);
this._moduleBarrier = moduleBarrier;
-};
+}
nsAsyncShutdownBarrier.prototype = {
get state() {
return PropertyBagConverter.fromValue(this._moduleBarrier.state);
},
get client() {
return this._client;
},
wait: function(onReady) {
--- a/toolkit/components/asyncshutdown/tests/xpcshell/test_converters.js
+++ b/toolkit/components/asyncshutdown/tests/xpcshell/test_converters.js
@@ -19,17 +19,17 @@ function normalize(obj) {
if (Array.isArray(obj)) {
return obj.map(normalize);
}
let result = {};
for (let k of Object.keys(obj).sort()) {
result[k] = normalize(obj[k]);
}
return result;
-};
+}
function test_conversions() {
const SAMPLES = [
// Simple values
1,
true,
"string",
null,
--- a/toolkit/components/crashmonitor/nsCrashMonitor.js
+++ b/toolkit/components/crashmonitor/nsCrashMonitor.js
@@ -4,17 +4,17 @@
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
Components.utils.import("resource://gre/modules/Services.jsm");
var Scope = {}
Components.utils.import("resource://gre/modules/CrashMonitor.jsm", Scope);
var MonitorAPI = Scope.CrashMonitor;
-function CrashMonitor() {};
+function CrashMonitor() {}
CrashMonitor.prototype = {
classID: Components.ID("{d9d75e86-8f17-4c57-993e-f738f0d86d42}"),
contractID: "@mozilla.org/toolkit/crashmonitor;1",
QueryInterface: XPCOMUtils.generateQI([Components.interfaces.nsIObserver]),
--- a/toolkit/components/ctypes/tests/unit/test_jsctypes.js
+++ b/toolkit/components/ctypes/tests/unit/test_jsctypes.js
@@ -2625,17 +2625,17 @@ function run_single_closure_tests(librar
var fn_64_t = ctypes.FunctionType(ctypes.default_abi, ctypes.uint64_t, [ctypes.bool]).ptr;
var bignum1 = ctypes.UInt64.join(0xDEADBEEF, 0xBADF00D);
var bignum2 = ctypes.UInt64.join(0xDEFEC8ED, 0xD15EA5E);
function closure_fn_64(fail)
{
if (fail)
throw "Just following orders, sir!";
return bignum1;
- };
+ }
var closure64 = fn_64_t(closure_fn_64, null, bignum2);
do_check_eq(ctypes.UInt64.compare(closure64(false), bignum1), 0);
do_check_eq(ctypes.UInt64.compare(closure64(true), bignum2), 0);
// Test a callback that returns void (see bug 682504).
var fn_v_t = ctypes.FunctionType(ctypes.default_abi, ctypes.void_t, []).ptr;
fn_v_t(function() {})(); // Don't crash
--- a/toolkit/components/filewatcher/tests/xpcshell/head.js
+++ b/toolkit/components/filewatcher/tests/xpcshell/head.js
@@ -9,17 +9,17 @@ var {classes: Cc, interfaces: Ci, result
Cu.import("resource://gre/modules/osfile.jsm", this);
Cu.import("resource://gre/modules/Promise.jsm", this);
function makeWatcher() {
let watcher =
Cc['@mozilla.org/toolkit/filewatcher/native-file-watcher;1']
.getService(Ci.nsINativeFileWatcherService);
return watcher;
-};
+}
function promiseAddPath(watcher, resource, onChange=null, onError=null) {
return new Promise(resolve =>
watcher.addPath(resource, onChange, onError, resolve)
);
}
function promiseRemovePath(watcher, resource, onChange=null, onError=null) {
--- a/toolkit/components/formautofill/test/chrome/loader.js
+++ b/toolkit/components/formautofill/test/chrome/loader.js
@@ -56,22 +56,22 @@ var gTestTasks = [];
// Define task registration functions, see description in "loader_common.js".
function add_task(taskFn) {
gTestTasks.push([taskFn, "content", taskFn.name]);
}
function add_task_in_parent_process(taskFn, taskIdOverride) {
let taskId = taskIdOverride || getTaskId(Components.stack.caller);
gTestTasks.push([taskFn, "parent", taskId]);
-};
+}
function add_task_in_both_processes(taskFn) {
// We need to define a task ID based on our direct caller.
add_task_in_parent_process(taskFn, getTaskId(Components.stack.caller));
add_task(taskFn);
-};
+}
var add_task_in_child_process = add_task;
window.addEventListener("load", function onLoad() {
window.removeEventListener("load", onLoad);
Task.spawn(function* () {
try {
for (let [taskFn, taskType, taskId] of gTestTasks) {
--- a/toolkit/components/formautofill/test/loader_common.js
+++ b/toolkit/components/formautofill/test/loader_common.js
@@ -83,17 +83,17 @@ function* terminationTaskFn() {
for (let taskFn of gTerminationTasks) {
try {
yield Task.spawn(taskFn);
} catch (ex) {
Output.print(ex);
Assert.ok(false);
}
}
-};
+}
function add_termination_task(taskFn) {
gTerminationTasks.push(taskFn);
}
/**
* Returns a unique identifier used for synchronizing the given test task
* between the parent and child processes.
--- a/toolkit/components/microformats/test/static/javascript/chai.js
+++ b/toolkit/components/microformats/test/static/javascript/chai.js
@@ -1031,17 +1031,17 @@ module.exports = function (chai, _) {
function assertInstanceOf (constructor, msg) {
if (msg) flag(this, 'message', msg);
var name = _.getName(constructor);
this.assert(
flag(this, 'object') instanceof constructor
, 'expected #{this} to be an instance of ' + name
, 'expected #{this} to not be an instance of ' + name
);
- };
+ }
Assertion.addMethod('instanceof', assertInstanceOf);
Assertion.addMethod('instanceOf', assertInstanceOf);
/**
* ### .property(name, [value])
*
* Asserts that the target has a property `name`, optionally asserting that
@@ -1608,17 +1608,17 @@ module.exports = function (chai, _) {
thrown === true
, 'expected #{this} to throw ' + expectedThrown + actuallyGot
, 'expected #{this} to not throw ' + expectedThrown + actuallyGot
, (desiredError instanceof Error ? desiredError.toString() : desiredError)
, (thrownError instanceof Error ? thrownError.toString() : thrownError)
);
flag(this, 'object', thrownError);
- };
+ }
Assertion.addMethod('throw', assertThrows);
Assertion.addMethod('throws', assertThrows);
Assertion.addMethod('Throw', assertThrows);
/**
* ### .respondTo(method)
*
@@ -3308,17 +3308,17 @@ module.exports = function (chai, util) {
should.not.exist = function (val, msg) {
new Assertion(val, msg).to.not.exist;
}
should['throw'] = should['Throw'];
should.not['throw'] = should.not['Throw'];
return should;
- };
+ }
chai.should = loadShould;
chai.Should = loadShould;
};
},{}],8:[function(require,module,exports){
/*!
* Chai - addChainingMethod utility
@@ -4715,17 +4715,17 @@ function exclude () {
, res = {};
for (; i < args.length; i++) {
excludeProps(res, args[i]);
}
return res;
};
-};
+}
/*!
* Primary Exports
*/
module.exports = AssertionError;
/**
--- a/toolkit/components/microformats/test/static/javascript/mocha.js
+++ b/toolkit/components/microformats/test/static/javascript/mocha.js
@@ -1,9 +1,9 @@
-;(function(){
+(function(){
// CommonJS require()
function require(p){
var path = require.resolve(p)
, mod = require.modules[path];
if (!mod) throw new Error('failed to require "' + p + '"');
if (!mod.exports) {
@@ -459,17 +459,17 @@ function isArray(obj) {
}
/**
* Event emitter constructor.
*
* @api public
*/
-function EventEmitter(){};
+function EventEmitter(){}
/**
* Adds a listener.
*
* @api public
*/
EventEmitter.prototype.on = function (name, fn) {
@@ -497,17 +497,17 @@ EventEmitter.prototype.addListener = Eve
*/
EventEmitter.prototype.once = function (name, fn) {
var self = this;
function on () {
self.removeListener(name, on);
fn.apply(this, arguments);
- };
+ }
on.listener = fn;
this.on(name, on);
return this;
};
/**
@@ -905,17 +905,17 @@ function Hook(title, fn) {
Runnable.call(this, title, fn);
this.type = 'hook';
}
/**
* Inherit from `Runnable.prototype`.
*/
-function F(){};
+function F(){}
F.prototype = Runnable.prototype;
Hook.prototype = new F;
Hook.prototype.constructor = Hook;
/**
* Get or set the test `err`.
*
@@ -2577,17 +2577,17 @@ function Dot(runner) {
self.epilogue();
});
}
/**
* Inherit from `Base.prototype`.
*/
-function F(){};
+function F(){}
F.prototype = Base.prototype;
Dot.prototype = new F;
Dot.prototype.constructor = Dot;
}); // module: reporters/dot.js
require.register("reporters/html-cov.js", function(module, exports, require){
@@ -3365,17 +3365,17 @@ function Landing(runner) {
self.epilogue();
});
}
/**
* Inherit from `Base.prototype`.
*/
-function F(){};
+function F(){}
F.prototype = Base.prototype;
Landing.prototype = new F;
Landing.prototype.constructor = Landing;
}); // module: reporters/landing.js
require.register("reporters/list.js", function(module, exports, require){
@@ -3436,17 +3436,17 @@ function List(runner) {
runner.on('end', self.epilogue.bind(self));
}
/**
* Inherit from `Base.prototype`.
*/
-function F(){};
+function F(){}
F.prototype = Base.prototype;
List.prototype = new F;
List.prototype.constructor = List;
}); // module: reporters/list.js
require.register("reporters/markdown.js", function(module, exports, require){
@@ -3585,17 +3585,17 @@ function Min(runner) {
runner.on('end', this.epilogue.bind(this));
}
/**
* Inherit from `Base.prototype`.
*/
-function F(){};
+function F(){}
F.prototype = Base.prototype;
Min.prototype = new F;
Min.prototype.constructor = Min;
}); // module: reporters/min.js
require.register("reporters/nyan.js", function(module, exports, require){
@@ -3853,17 +3853,17 @@ NyanCat.prototype.rainbowify = function(
function write(string) {
process.stdout.write(string);
}
/**
* Inherit from `Base.prototype`.
*/
-function F(){};
+function F(){}
F.prototype = Base.prototype;
NyanCat.prototype = new F;
NyanCat.prototype.constructor = NyanCat;
}); // module: reporters/nyan.js
require.register("reporters/progress.js", function(module, exports, require){
@@ -3953,17 +3953,17 @@ function Progress(runner, options) {
self.epilogue();
});
}
/**
* Inherit from `Base.prototype`.
*/
-function F(){};
+function F(){}
F.prototype = Base.prototype;
Progress.prototype = new F;
Progress.prototype.constructor = Progress;
}); // module: reporters/progress.js
require.register("reporters/spec.js", function(module, exports, require){
@@ -4043,17 +4043,17 @@ function Spec(runner) {
runner.on('end', self.epilogue.bind(self));
}
/**
* Inherit from `Base.prototype`.
*/
-function F(){};
+function F(){}
F.prototype = Base.prototype;
Spec.prototype = new F;
Spec.prototype.constructor = Spec;
}); // module: reporters/spec.js
require.register("reporters/tap.js", function(module, exports, require){
@@ -4218,17 +4218,17 @@ XUnit.prototype.done = function(failures
fn(failures);
}
};
/**
* Inherit from `Base.prototype`.
*/
-function F(){};
+function F(){}
F.prototype = Base.prototype;
XUnit.prototype = new F;
XUnit.prototype.constructor = XUnit;
/**
* Write out the given line
*/
@@ -4341,17 +4341,17 @@ function Runnable(title, fn) {
this.timedOut = false;
this._trace = new Error('done() called multiple times')
}
/**
* Inherit from `EventEmitter.prototype`.
*/
-function F(){};
+function F(){}
F.prototype = EventEmitter.prototype;
Runnable.prototype = new F;
Runnable.prototype.constructor = Runnable;
/**
* Set & get timeout `ms`.
*
@@ -4659,17 +4659,17 @@ function Runner(suite, delay) {
*/
Runner.immediately = global.setImmediate || process.nextTick;
/**
* Inherit from `EventEmitter.prototype`.
*/
-function F(){};
+function F(){}
F.prototype = EventEmitter.prototype;
Runner.prototype = new F;
Runner.prototype.constructor = Runner;
/**
* Run tests with full titles matching `re`. Updates runner.total
* with number of tests matched.
@@ -5368,17 +5368,17 @@ function Suite(title, parentContext) {
this._bail = false;
this.delayed = false;
}
/**
* Inherit from `EventEmitter.prototype`.
*/
-function F(){};
+function F(){}
F.prototype = EventEmitter.prototype;
Suite.prototype = new F;
Suite.prototype.constructor = Suite;
/**
* Return a clone of this `Suite`.
*
@@ -5690,17 +5690,17 @@ function Test(title, fn) {
this.pending = !fn;
this.type = 'test';
}
/**
* Inherit from `Runnable.prototype`.
*/
-function F(){};
+function F(){}
F.prototype = Runnable.prototype;
Test.prototype = new F;
Test.prototype.constructor = Test;
}); // module: test.js
require.register("utils.js", function(module, exports, require){
--- a/toolkit/components/microformats/test/static/javascript/testrunner.js
+++ b/toolkit/components/microformats/test/static/javascript/testrunner.js
@@ -154,26 +154,26 @@ function htmlUnescape(value){
// Does the node have a class
function hasClass(node, className) {
if (node.className) {
return node.className.match(
new RegExp('(\\s|^)' + className + '(\\s|$)'));
} else {
return false;
}
-};
+}
// Add a class to an node
function addClass(node, className) {
if (!hasClass(node, className)) {
node.className += " " + className;
}
-};
+}
// Removes a class from an node
function removeClass(node, className) {
if (hasClass(node, className)) {
var reg = new RegExp('(\\s|^)' + className + '(\\s|$)');
node.className = node.className.replace(reg, ' ');
}
-};
+}
--- a/toolkit/components/microformats/tests/test_Microformats_adr.html
+++ b/toolkit/components/microformats/tests/test_Microformats_adr.html
@@ -17,17 +17,17 @@
test_Microformats();
test_adr();
function test_Microformats() {
var Microformats = SpecialPowers.Cu.import("resource://gre/modules/Microformats.js").Microformats;
ok(Microformats, "Check global access to Microformats");
-};
+}
function test_adr() {
var adr = SpecialPowers.Cu.import("resource://gre/modules/Microformats.js").adr;
var address;
address = new adr(document.getElementById("01-extended-address"));
--- a/toolkit/components/microformats/tests/test_Microformats_geo.html
+++ b/toolkit/components/microformats/tests/test_Microformats_geo.html
@@ -81,17 +81,17 @@
test_Microformats();
test_geo();
function test_Microformats() {
var Microformats = SpecialPowers.Cu.import("resource://gre/modules/Microformats.js").Microformats;
ok(Microformats, "Check global access to Microformats");
-};
+}
function test_geo() {
var geo = SpecialPowers.Cu.import("resource://gre/modules/Microformats.js").geo;
var Geo;
Geo = new geo(document.getElementById("01-geo-basic"));
--- a/toolkit/components/microformats/tests/test_Microformats_hCalendar.html
+++ b/toolkit/components/microformats/tests/test_Microformats_hCalendar.html
@@ -185,17 +185,17 @@
test_Microformats();
test_hCard();
function test_Microformats() {
var Microformats = SpecialPowers.Cu.import("resource://gre/modules/Microformats.js").Microformats;
ok(Microformats, "Check global access to Microformats");
-};
+}
function test_hCard() {
var hCalendar = SpecialPowers.Cu.import("resource://gre/modules/Microformats.js").hCalendar;
var hcalendar;
hcalendar = new hCalendar(document.getElementById("01-component-vevent-dtstart-date"));
--- a/toolkit/components/microformats/tests/test_Microformats_hCard.html
+++ b/toolkit/components/microformats/tests/test_Microformats_hCard.html
@@ -561,17 +561,17 @@
test_Microformats();
test_hCard();
function test_Microformats() {
var Microformats = SpecialPowers.Cu.import("resource://gre/modules/Microformats.js").Microformats;
ok(Microformats, "Check global access to Microformats");
-};
+}
function test_hCard() {
var hCard = SpecialPowers.Cu.import("resource://gre/modules/Microformats.js").hCard;
var hcard;
hcard = new hCard(document.getElementById("01-tantek-basic"));
--- a/toolkit/components/places/UnifiedComplete.js
+++ b/toolkit/components/places/UnifiedComplete.js
@@ -1330,17 +1330,17 @@ Search.prototype = {
};
try {
let favicon = yield PlacesUtils.promiseFaviconLinkUrl(uri);
if (favicon)
match.icon = favicon.spec;
} catch (e) {
// It's possible we don't have a favicon for this - and that's ok.
- };
+ }
this._addMatch(match);
return true;
},
_onResultRow: function (row) {
if (this._localMatchesCount == 0) {
TelemetryStopwatch.finish(TELEMETRY_1ST_RESULT, this);
--- a/toolkit/components/places/nsPlacesAutoComplete.js
+++ b/toolkit/components/places/nsPlacesAutoComplete.js
@@ -988,17 +988,17 @@ nsPlacesAutoComplete.prototype = {
restrict("url");
break;
case this._restrictTypedToken:
restrict("typed");
break;
default:
// We do not want to remove the token if we did not match.
continue;
- };
+ }
aTokens.splice(i, 1);
}
// Set the right JavaScript behavior based on our preference. Note that the
// preference is whether or not we should filter JavaScript, and the
// behavior is if we should search it or not.
if (!this._filterJavaScript) {
--- a/toolkit/components/places/tests/autocomplete/head_autocomplete.js
+++ b/toolkit/components/places/tests/autocomplete/head_autocomplete.js
@@ -265,17 +265,17 @@ function run_test() {
// Do an extra function if necessary
if (func)
func();
Task.spawn(function* () {
// Iterate over all tasks and execute them
for (let [, [fn, args]] in Iterator(gNextTestSetupTasks)) {
yield fn.apply(this, args);
- };
+ }
// Clean up to allow tests to register more functions.
gNextTestSetupTasks = [];
// At this point frecency could still be updating due to latest pages
// updates. This is not a problem in real life, but autocomplete tests
// should return reliable resultsets, thus we have to wait.
yield PlacesTestUtils.promiseAsyncUpdates();
--- a/toolkit/components/places/tests/browser/browser_favicon_privatebrowsing_perwindowpb.js
+++ b/toolkit/components/places/tests/browser/browser_favicon_privatebrowsing_perwindowpb.js
@@ -15,17 +15,17 @@ function test() {
});
});
function testOnWindow(aIsPrivate, aCallback) {
whenNewWindowLoaded({private: aIsPrivate}, function(aWin) {
windowsToClose.push(aWin);
executeSoon(() => aCallback(aWin));
});
- };
+ }
function waitForTabLoad(aWin, aCallback) {
aWin.gBrowser.selectedBrowser.addEventListener("load", function onLoad() {
aWin.gBrowser.selectedBrowser.removeEventListener("load", onLoad, true);
aCallback();
}, true);
aWin.gBrowser.selectedBrowser.loadURI(pageURI);
}
--- a/toolkit/components/places/tests/browser/browser_favicon_setAndFetchFaviconForPage.js
+++ b/toolkit/components/places/tests/browser/browser_favicon_setAndFetchFaviconForPage.js
@@ -15,17 +15,17 @@ function test() {
let pageURI;
let favIconData;
function testOnWindow(aOptions, aCallback) {
whenNewWindowLoaded(aOptions, function(aWin) {
windowsToClose.push(aWin);
executeSoon(() => aCallback(aWin));
});
- };
+ }
// This function is called after calling finish() on the test.
registerCleanupFunction(function() {
windowsToClose.forEach(function(aWin) {
aWin.close();
});
});
--- a/toolkit/components/places/tests/browser/browser_favicon_setAndFetchFaviconForPage_failures.js
+++ b/toolkit/components/places/tests/browser/browser_favicon_setAndFetchFaviconForPage_failures.js
@@ -24,17 +24,17 @@ function test() {
let favIconsResultCount = 0;
let pageURI;
function testOnWindow(aOptions, aCallback) {
whenNewWindowLoaded(aOptions, function(aWin) {
windowsToClose.push(aWin);
executeSoon(() => aCallback(aWin));
});
- };
+ }
// This function is called after calling finish() on the test.
registerCleanupFunction(function() {
windowsToClose.forEach(function(aWin) {
aWin.close();
});
});
--- a/toolkit/components/places/tests/browser/browser_visituri_privatebrowsing_perwindowpb.js
+++ b/toolkit/components/places/tests/browser/browser_visituri_privatebrowsing_perwindowpb.js
@@ -46,17 +46,17 @@ function test() {
function testOnWindow(aOptions, aCallback) {
whenNewWindowLoaded(aOptions, function(aWin) {
windowsToClose.push(aWin);
// execute should only be called when need, like when you are opening
// web pages on the test. If calling executeSoon() is not necesary, then
// call whenNewWindowLoaded() instead of testOnWindow() on your test.
executeSoon(() => aCallback(aWin));
});
- };
+ }
// This function is called after calling finish() on the test.
registerCleanupFunction(function() {
windowsToClose.forEach(function(aWin) {
aWin.close();
});
});
--- a/toolkit/components/places/tests/browser/head.js
+++ b/toolkit/components/places/tests/browser/head.js
@@ -310,10 +310,10 @@ function waitForCondition(condition, nex
if (conditionPassed) {
moveOn();
}
tries++;
}, 200);
function moveOn() {
clearInterval(interval);
nextTest();
- };
+ }
}
--- a/toolkit/components/places/tests/expiration/test_outdated_analyze.js
+++ b/toolkit/components/places/tests/expiration/test_outdated_analyze.js
@@ -33,17 +33,17 @@ function run_test() {
// Add a bunch of pages (at laast IMPORT_PAGES_THRESHOLD pages).
let places = [];
for (let i = 0; i < 100; i++) {
places.push({
uri: NetUtil.newURI(TEST_URL + i),
title: "Title" + i,
visits: [new VisitInfo]
});
- };
+ }
gHistory.updatePlaces(places);
// Set interval to a small value to expire on it.
setInterval(1); // 1s
Services.obs.addObserver(function observeExpiration(aSubject, aTopic, aData) {
Services.obs.removeObserver(observeExpiration,
PlacesUtils.TOPIC_EXPIRATION_FINISHED);
--- a/toolkit/components/places/tests/favicons/test_replaceFaviconData.js
+++ b/toolkit/components/places/tests/favicons/test_replaceFaviconData.js
@@ -52,17 +52,17 @@ function checkCallbackSucceeded(callback
do_check_eq(callbackMimetype, sourceMimetype);
do_check_true(compareArrays(callbackData, sourceData));
}
function run_test() {
// check that the favicon loaded correctly
do_check_eq(originalFavicon.data.length, 286);
run_next_test();
-};
+}
add_task(function* test_replaceFaviconData_validHistoryURI() {
do_print("test replaceFaviconData for valid history uri");
let pageURI = uri("http://test1.bar/");
yield PlacesTestUtils.addVisits(pageURI);
let favicon = createFavicon("favicon1.png");
--- a/toolkit/components/places/tests/favicons/test_replaceFaviconDataFromDataURL.js
+++ b/toolkit/components/places/tests/favicons/test_replaceFaviconDataFromDataURL.js
@@ -55,17 +55,17 @@ function checkCallbackSucceeded(callback
do_check_eq(callbackMimetype, sourceMimetype);
do_check_true(compareArrays(callbackData, sourceData));
}
function run_test() {
// check that the favicon loaded correctly
do_check_eq(originalFavicon.data.length, 286);
run_next_test();
-};
+}
add_task(function* test_replaceFaviconDataFromDataURL_validHistoryURI() {
do_print("test replaceFaviconDataFromDataURL for valid history uri");
let pageURI = uri("http://test1.bar/");
yield PlacesTestUtils.addVisits(pageURI);
let favicon = createFavicon("favicon1.png");
--- a/toolkit/components/places/tests/head_common.js
+++ b/toolkit/components/places/tests/head_common.js
@@ -113,17 +113,17 @@ function DBConn(aForceNewConnection) {
file.append("places.sqlite");
let dbConn = gDBConn = Services.storage.openDatabase(file);
// Be sure to cleanly close this connection.
promiseTopicObserved("profile-before-change").then(() => dbConn.asyncClose());
}
return gDBConn.connectionReady ? gDBConn : null;
-};
+}
/**
* Reads data from the provided inputstream.
*
* @return an array of bytes.
*/
function readInputStreamData(aStream) {
let bistream = Cc["@mozilla.org/binaryinputstream;1"].
--- a/toolkit/components/places/tests/history/test_remove.js
+++ b/toolkit/components/places/tests/history/test_remove.js
@@ -139,17 +139,17 @@ add_task(function* test_remove_single()
// Test removing a list of pages
add_task(function* test_remove_many() {
const SIZE = 10;
yield PlacesTestUtils.clearHistory();
yield PlacesUtils.bookmarks.eraseEverything();
do_print("Adding a witness page");
- let WITNESS_URI = NetUtil.newURI("http://mozilla.com/test_browserhistory/test_remove/" + Math.random());;
+ let WITNESS_URI = NetUtil.newURI("http://mozilla.com/test_browserhistory/test_remove/" + Math.random());
yield PlacesTestUtils.addVisits(WITNESS_URI);
Assert.ok(page_in_database(WITNESS_URI), "Witness page added");
do_print("Generating samples");
let pages = [];
for (let i = 0; i < SIZE; ++i) {
let uri = NetUtil.newURI("http://mozilla.com/test_browserhistory/test_remove?sample=" + i + "&salt=" + Math.random());
let title = "Visit " + i + ", " + Math.random();
--- a/toolkit/components/places/tests/test_bug_461710_perwindowpb.html
+++ b/toolkit/components/places/tests/test_bug_461710_perwindowpb.html
@@ -180,17 +180,17 @@ function testOnWindow(aIsPrivate, callba
var mainWindow = window.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIWebNavigation)
.QueryInterface(Ci.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIDOMWindow);
var win = mainWindow.OpenBrowserWindow({private: aIsPrivate});
whenDelayedStartupFinished(win, function() { callback(win); });
-};
+}
const URI_VISITED_RESOLUTION_TOPIC = "visited-status-resolution";
var observer = {
uri: null,
resolved: true,
observe: function (aSubject, aTopic, aData) {
if (this.uri.equals(SpecialPowers.wrap(aSubject).QueryInterface(Ci.nsIURI))) {
--- a/toolkit/components/places/tests/unit/test_async_history_api.js
+++ b/toolkit/components/places/tests/unit/test_async_history_api.js
@@ -1000,17 +1000,17 @@ add_task(function* test_title_change_not
place.visits = [new VisitInfo()];
PlacesUtils.asyncHistory.updatePlaces(place);
break;
case 2:
PlacesUtils.history.removeObserver(silentObserver);
PlacesUtils.history.removeObserver(observer);
resolve();
break;
- };
+ }
});
PlacesUtils.history.addObserver(observer, false);
PlacesUtils.asyncHistory.updatePlaces(aPlace);
});
}
yield promiseTitleChangedObserver(place);
--- a/toolkit/components/places/tests/unit/test_download_history.js
+++ b/toolkit/components/places/tests/unit/test_download_history.js
@@ -220,17 +220,17 @@ add_test(function test_dh_details()
function checkFinished()
{
if (titleSet && destinationFileUriSet && destinationFileNameSet) {
PlacesUtils.annotations.removeObserver(annoObserver);
PlacesUtils.history.removeObserver(historyObserver);
PlacesTestUtils.clearHistory().then(run_next_test);
}
- };
+ }
let annoObserver = {
onPageAnnotationSet: function AO_onPageAnnotationSet(aPage, aName)
{
if (aPage.equals(SOURCE_URI)) {
let value = PlacesUtils.annotations.getPageAnnotation(aPage, aName);
switch (aName)
{
--- a/toolkit/components/promiseworker/PromiseWorker.jsm
+++ b/toolkit/components/promiseworker/PromiseWorker.jsm
@@ -32,17 +32,17 @@ XPCOMUtils.defineLazyModuleGetter(this,
/**
* An implementation of queues (FIFO).
*
* The current implementation uses one array, runs in O(n ^ 2), and is optimized
* for the case in which queues are generally short.
*/
function Queue() {
this._array = [];
-};
+}
Queue.prototype = {
pop: function pop() {
return this._array.shift();
},
push: function push(x) {
return this._array.push(x);
},
isEmpty: function isEmpty() {
@@ -367,17 +367,17 @@ this.BasePromiseWorker.prototype = {
/**
* An error that has been serialized by the worker.
*
* @constructor
*/
function WorkerError(data) {
this.data = data;
-};
+}
/**
* A constructor used to send data to the worker thread while
* with special treatment (e.g. transmitting data instead of
* copying it).
*
* @param {object=} data The data to send to the caller thread.
* @param {object=} meta Additional instructions, as an object
--- a/toolkit/components/promiseworker/worker/PromiseWorker.js
+++ b/toolkit/components/promiseworker/worker/PromiseWorker.js
@@ -53,17 +53,17 @@ const EXCEPTION_NAMES = {
* - {Array} transfers An array of objects that should be transferred
* instead of being copied.
*
* @constructor
*/
function Meta(data, meta) {
this.data = data;
this.meta = meta;
-};
+}
exports.Meta = Meta;
/**
* Base class for a worker.
*
* Derived classes are expected to provide the following methods:
* {
* dispatch: function(method, args) {
@@ -83,17 +83,17 @@ exports.Meta = Meta;
* By default, the AbstractWorker is not connected to a message port,
* hence will not receive anything.
*
* To connect it, use `onmessage`, as follows:
* self.addEventListener("message", msg => myWorkerInstance.handleMessage(msg));
*/
function AbstractWorker(agent) {
this._agent = agent;
-};
+}
AbstractWorker.prototype = {
// Default logger: discard all messages
log: function() {
},
/**
* Handle a message.
*/
--- a/toolkit/components/prompts/src/SharedPromptUtils.jsm
+++ b/toolkit/components/prompts/src/SharedPromptUtils.jsm
@@ -61,17 +61,17 @@ this.PromptUtils = {
* is to be disabled.
* @param focusTarget The window used to watch focus/blur events.
*/
this.EnableDelayHelper = function({enableDialog, disableDialog, focusTarget}) {
this.enableDialog = makeSafe(enableDialog);
this.disableDialog = makeSafe(disableDialog);
this.focusTarget = focusTarget;
- this.disableDialog();;
+ this.disableDialog();
this.focusTarget.addEventListener("blur", this, false);
this.focusTarget.addEventListener("focus", this, false);
this.focusTarget.document.addEventListener("unload", this, false);
this.startOnFocusDelay();
};
--- a/toolkit/components/satchel/test/browser/browser_privbrowsing_perwindowpb.js
+++ b/toolkit/components/satchel/test/browser/browser_privbrowsing_perwindowpb.js
@@ -54,17 +54,17 @@ function test() {
aWindow.gBrowser.selectedBrowser.loadURI(testURI);
}
function testOnWindow(aOptions, aCallback) {
whenNewWindowLoaded(aOptions, function(aWin) {
windowsToClose.push(aWin);
executeSoon(() => aCallback(aWin));
});
- };
+ }
registerCleanupFunction(function() {
windowsToClose.forEach(function(aWin) {
aWin.close();
});
});
--- a/toolkit/components/satchel/test/unit/test_async_expire.js
+++ b/toolkit/components/satchel/test/unit/test_async_expire.js
@@ -160,9 +160,9 @@ function* tests()
yield countEntries("bar", "29days", checkNotExists);
yield countEntries("9DaysOld", "foo", checkExists);
yield countEntries("name-B", "value-B", checkExists);
yield countEntries("name-C", "value-C", checkExists);
yield countEntries(null, null, function(num) { do_check_eq(3, num); next_test(); });
test_finished();
-};
+}
--- a/toolkit/components/satchel/test/unit/test_notify.js
+++ b/toolkit/components/satchel/test/unit/test_notify.js
@@ -152,9 +152,9 @@ do_check_eq(expectedNotification, null);
os.removeObserver(TestObserver, "satchel-storage-changed", false);
do_test_finished();
} catch (e) {
throw "FAILED in test #" + testnum + " -- " + testdesc + ": " + e;
}
-};
+}
--- a/toolkit/components/search/tests/xpcshell/test_SearchStaticData.js
+++ b/toolkit/components/search/tests/xpcshell/test_SearchStaticData.js
@@ -16,12 +16,12 @@ function run_test() {
.indexOf("www.google.com") != -1);
do_check_true(SearchStaticData.getAlternateDomains("www.google.com")
.every(d => d.startsWith("www.google.")));
do_check_true(SearchStaticData.getAlternateDomains("google.com").length == 0);
// Test that methods from SearchStaticData module can be overwritten,
// needed for hotfixing.
let backup = SearchStaticData.getAlternateDomains;
- SearchStaticData.getAlternateDomains = () => ["www.bing.fr"];;
+ SearchStaticData.getAlternateDomains = () => ["www.bing.fr"];
do_check_matches(SearchStaticData.getAlternateDomains("www.bing.com"), ["www.bing.fr"]);
SearchStaticData.getAlternateDomains = backup;
}
--- a/toolkit/components/social/test/browser/browser_workerAPI.js
+++ b/toolkit/components/social/test/browser/browser_workerAPI.js
@@ -202,17 +202,17 @@ var tests = {
port.close();
next(); // all out of tests!
return;
}
openLocation = openWhere = null;
[toURL, expectedLocation, expectedWhere] = testArgs.shift();
data.actionArgs.toURL = toURL;
port.postMessage({topic: 'test-notification-create', data: data});
- };
+ }
port.onmessage = function(evt) {
if (evt.data.topic == "did-notification-create") {
is(openLocation, expectedLocation, "url actually opened was " + openLocation);
is(openWhere, expectedWhere, "the url was opened in a " + expectedWhere);
nextTest();
}
}
--- a/toolkit/components/telemetry/TelemetryEnvironment.jsm
+++ b/toolkit/components/telemetry/TelemetryEnvironment.jsm
@@ -889,17 +889,17 @@ EnvironmentCache.prototype = {
_removeObservers: function () {
// Remove the search engine change and service observers.
Services.obs.removeObserver(this, SEARCH_ENGINE_MODIFIED_TOPIC);
Services.obs.removeObserver(this, SEARCH_SERVICE_TOPIC);
Services.obs.removeObserver(this, COMPOSITOR_CREATED_TOPIC);
try {
Services.obs.removeObserver(this, DISTRIBUTION_CUSTOMIZATION_COMPLETE_TOPIC);
- } catch(ex) {};
+ } catch(ex) {}
},
observe: function (aSubject, aTopic, aData) {
this._log.trace("observe - aTopic: " + aTopic + ", aData: " + aData);
switch (aTopic) {
case SEARCH_ENGINE_MODIFIED_TOPIC:
if (aData != "engine-current") {
return;
--- a/toolkit/components/telemetry/TelemetrySession.jsm
+++ b/toolkit/components/telemetry/TelemetrySession.jsm
@@ -828,17 +828,17 @@ var Impl = {
* Returns an object:
* { range: [min, max], bucket_count: <number of buckets>,
* histogram_type: <histogram_type>, sum: <sum>,
* sum_squares_lo: <sum_squares_lo>,
* sum_squares_hi: <sum_squares_hi>,
* values: { bucket1: count1, bucket2: count2, ... } }
*/
packHistogram: function packHistogram(hgram) {
- let r = hgram.ranges;;
+ let r = hgram.ranges;
let c = hgram.counts;
let retgram = {
range: [r[1], r[r.length - 1]],
bucket_count: r.length,
histogram_type: hgram.histogram_type,
values: {},
sum: hgram.sum
};
@@ -1058,17 +1058,17 @@ var Impl = {
// aren't available on all platforms. But if the attribute simply
// isn't present, that indicates the distinguished amounts have changed
// and this file hasn't been updated appropriately.
let amount = mgr[amountName];
NS_ASSERT(amount !== undefined,
"telemetry accessed an unknown distinguished amount");
boundHandleMemoryReport(id, units, amount);
} catch (e) {
- };
+ }
}
let b = (id, n) => h(id, Ci.nsIMemoryReporter.UNITS_BYTES, n);
let c = (id, n) => h(id, Ci.nsIMemoryReporter.UNITS_COUNT, n);
let cc= (id, n) => h(id, Ci.nsIMemoryReporter.UNITS_COUNT_CUMULATIVE, n);
let p = (id, n) => h(id, Ci.nsIMemoryReporter.UNITS_PERCENTAGE, n);
b("MEMORY_VSIZE", "vsize");
b("MEMORY_VSIZE_MAX_CONTIGUOUS", "vsizeMaxContiguous");
--- a/toolkit/components/telemetry/TelemetryStorage.jsm
+++ b/toolkit/components/telemetry/TelemetryStorage.jsm
@@ -1337,17 +1337,17 @@ var TelemetryStorageImpl = {
Telemetry.getHistogramById("TELEMETRY_PENDING_LOAD_FAILURE_READ").add();
} else if (e instanceof PingParseError) {
Telemetry.getHistogramById("TELEMETRY_PENDING_LOAD_FAILURE_PARSE").add();
}
// Remove the ping from the cache, so we don't try to load it again.
this._pendingPings.delete(id);
// Then propagate the rejection.
throw e;
- };
+ }
return ping;
}),
removePendingPing: function(id) {
let info = this._pendingPings.get(id);
if (!info) {
this._log.trace("removePendingPing - unknown id " + id);
--- a/toolkit/components/telemetry/ThirdPartyCookieProbe.jsm
+++ b/toolkit/components/telemetry/ThirdPartyCookieProbe.jsm
@@ -183,9 +183,9 @@ RejectStats.prototype = {
}
};
/**
* Normalize a host to its eTLD + 1.
*/
function normalizeHost(host) {
return Services.eTLD.getBaseDomainFromHost(host);
-};
+}
--- a/toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js
+++ b/toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js
@@ -208,17 +208,17 @@ function createMockAddonProvider(aName)
},
shutdown() {
return Promise.resolve();
},
};
return mockProvider;
-};
+}
/**
* Used to spoof the Persona Id.
*/
function spoofTheme(aId, aName, aDesc) {
return {
id: aId,
name: aName,
--- a/toolkit/components/thumbnails/PageThumbUtils.jsm
+++ b/toolkit/components/thumbnails/PageThumbUtils.jsm
@@ -86,17 +86,17 @@ this.PageThumbUtils = {
*/
let prefWidth = Services.prefs.getIntPref("toolkit.pageThumbs.minWidth");
let prefHeight = Services.prefs.getIntPref("toolkit.pageThumbs.minHeight");
let divisor = Services.prefs.getIntPref("toolkit.pageThumbs.screenSizeDivisor");
prefWidth *= scale;
prefHeight *= scale;
- this._thumbnailWidth = Math.max(Math.round(screenWidth.value / divisor), prefWidth);;
+ this._thumbnailWidth = Math.max(Math.round(screenWidth.value / divisor), prefWidth);
this._thumbnailHeight = Math.max(Math.round(screenHeight.value / divisor), prefHeight);
}
return [this._thumbnailWidth, this._thumbnailHeight];
},
/***
* Given a browser window, return the size of the content
--- a/toolkit/content/aboutTelemetry.js
+++ b/toolkit/content/aboutTelemetry.js
@@ -1412,17 +1412,17 @@ function RenderObject(aObject) {
if (keys.length == 0) {
return "{}";
}
output = "{\"" + keys[0] + "\":\u00A0" + JSON.stringify(aObject[keys[0]]);
for (let i = 1; i < keys.length; i++) {
output += ", \"" + keys[i] + "\":\u00A0" + JSON.stringify(aObject[keys[i]]);
}
return output + "}";
-};
+}
var KeyValueTable = {
/**
* Returns a 2-column table with keys and values
* @param aMeasurements Each key in this JS object is rendered as a row in
* the table with its corresponding value
* @param aKeysLabel Column header for the keys column
* @param aValuesLabel Column header for the values column
--- a/toolkit/content/aboutwebrtc/aboutWebrtc.js
+++ b/toolkit/content/aboutwebrtc/aboutWebrtc.js
@@ -178,24 +178,24 @@ SavePage.prototype.onClick = function()
let fout = FileUtils.openAtomicFileOutputStream(
FilePicker.file, FileUtils.MODE_WRONLY | FileUtils.MODE_CREATE);
let nodes = content.querySelectorAll(".no-print");
let noPrintList = [];
for (let node of nodes) {
noPrintList.push(node);
node.style.setProperty("display", "none");
- };
+ }
fout.write(content.outerHTML, content.outerHTML.length);
FileUtils.closeAtomicFileOutputStream(fout);
for (let node of noPrintList) {
node.style.removeProperty("display");
- };
+ }
this._message = formatString("save_page_msg", [FilePicker.file.path], 1);
this.update();
}
};
function DebugMode() {
Control.call(this);
@@ -360,17 +360,17 @@ var AboutWebRTC = {
return connections;
}
let reports = [...this._reports];
reports.sort((a, b) => b.timestamp - a.timestamp);
for (let report of reports) {
let peerConnection = new PeerConnection(report);
connections.appendChild(peerConnection.render());
- };
+ }
return connections;
},
renderConnectionLog: function() {
let content = document.createElement("div");
content.className = "log";
@@ -399,17 +399,17 @@ var AboutWebRTC = {
});
sectionCtrl.appendChild(foldEffect.render());
content.appendChild(sectionCtrl);
for (let line of this._log) {
elem = document.createElement("p");
elem.textContent = line;
div.appendChild(elem);
- };
+ }
content.appendChild(div);
return content;
}
};
function PeerConnection(report) {
this._report = report;
@@ -515,42 +515,42 @@ RTPStats.prototype = {
heading.textContent = getString("rtp_stats_heading");
div.appendChild(heading);
this.generateRTPStats();
for (let statSet of this._stats) {
div.appendChild(this.renderRTPStatSet(statSet));
- };
+ }
return div;
},
generateRTPStats: function() {
let remoteRtpStats = {};
let rtpStats = [].concat((this._report.inboundRTPStreamStats || []),
(this._report.outboundRTPStreamStats || []));
// Generate an id-to-streamStat index for each streamStat that is marked
// as a remote. This will be used next to link the remote to its local side.
for (let stats of rtpStats) {
if (stats.isRemote) {
remoteRtpStats[stats.id] = stats;
}
- };
+ }
// If a streamStat has a remoteId attribute, create a remoteRtpStats
// attribute that references the remote streamStat entry directly.
// That is, the index generated above is merged into the returned list.
for (let stats of rtpStats) {
if (stats.remoteId) {
stats.remoteRtpStats = remoteRtpStats[stats.remoteId];
}
- };
+ }
this._stats = rtpStats;
},
renderAvStats: function(stats) {
let statsString = "";
if (stats.mozAvSyncDelay) {
@@ -661,17 +661,17 @@ ICEStats.prototype = {
tbody.push([
stat.localcandidate || "",
stat.remotecandidate || "",
stat.state || "",
stat.priority || "",
stat.nominated || "",
stat.selected || ""
]);
- };
+ }
let statsTable = new SimpleTable(
[getString("local_candidate"), getString("remote_candidate"), getString("ice_state"),
getString("priority"), getString("nominated"), getString("selected")],
tbody);
let div = document.createElement("div");
let heading = document.createElement("h4");
@@ -713,26 +713,26 @@ ICEStats.prototype = {
matched[local.id] = true;
if (remote) {
stat.remotecandidate = this.candidateToString(remote);
matched[remote.id] = true;
}
stats.push(stat);
}
- };
+ }
for (let c of candidates.values()) {
if (matched[c.id])
continue;
stat = {};
stat[c.type] = this.candidateToString(c);
stats.push(stat);
- };
+ }
return stats.sort((a, b) => (b.priority || 0) - (a.priority || 0));
},
candidateToString: function(c) {
if (!c) {
return "*";
}
@@ -755,45 +755,45 @@ function SimpleTable(heading, data) {
SimpleTable.prototype = {
renderRow: function(list) {
let row = document.createElement("tr");
for (let elem of list) {
let cell = document.createElement("td");
cell.textContent = elem;
row.appendChild(cell);
- };
+ }
return row;
},
render: function() {
let table = document.createElement("table");
if (this._heading) {
table.appendChild(this.renderRow(this._heading));
}
for (let row of this._data) {
table.appendChild(this.renderRow(row));
- };
+ }
return table;
}
};
function FoldEffect(targetElem, options = {}) {
if (targetElem) {
this._showMsg = "\u25BC " + (options.showMsg || getString("fold_show_msg"));
this._showHint = options.showHint || getString("fold_show_hint");
this._hideMsg = "\u25B2 " + (options.hideMsg || getString("fold_hide_msg"));
this._hideHint = options.hideHint || getString("fold_hide_hint");
this._target = targetElem;
}
-};
+}
FoldEffect.prototype = {
render: function() {
this._target.classList.add("fold-target");
let ctrl = document.createElement("div");
this._trigger = ctrl;
ctrl.className = "fold-trigger";
@@ -826,16 +826,16 @@ FoldEffect.prototype = {
}
};
FoldEffect._sections = [];
FoldEffect.expandAll = function() {
for (let section of this._sections) {
section.open();
- };
+ }
};
FoldEffect.collapseAll = function() {
for (let section of this._sections) {
section.close();
- };
+ }
};
--- a/toolkit/content/customizeToolbar.js
+++ b/toolkit/content/customizeToolbar.js
@@ -771,17 +771,17 @@ function onToolbarDrop(aEvent)
draggedItemId != "spring" &&
draggedItemId != "spacer")
gPaletteBox.removeChild(draggedPaletteWrapper);
}
gCurrentDragOverItem = null;
toolboxChanged();
-};
+}
function onPaletteDragOver(aEvent)
{
if (isUnwantedDragEvent(aEvent)) {
return;
}
var documentId = gToolboxDocument.documentElement.id;
if (aEvent.dataTransfer.types.contains("text/toolbarwrapper-id/" + documentId.toLowerCase()))
--- a/toolkit/content/widgets/notification.xml
+++ b/toolkit/content/widgets/notification.xml
@@ -351,17 +351,17 @@
bgcolor = prefService.getCharPref("browser.display.background_color");
var win = content.contentWindow;
var context = canvas.getContext("2d");
context.globalAlpha = 0.5;
context.drawWindow(win, win.scrollX, win.scrollY,
width, height, bgcolor);
}
- catch(ex) { };
+ catch(ex) { }
}
else if (canvas) {
canvas.parentNode.removeChild(canvas);
this._blockingCanvas = null;
let content = this.firstChild;
if (content)
content.collapsed = false;
}
--- a/toolkit/content/widgets/resizer.xml
+++ b/toolkit/content/widgets/resizer.xml
@@ -17,17 +17,17 @@
// don't do this for viewport resizers; causes a crash related to
// bugs 563665 and 581536 otherwise
if (this.parentNode == this.ownerDocument.documentElement)
return;
// if the direction is rtl, set the rtl attribute so that the
// stylesheet can use this to make the cursor appear properly
var cs = window.getComputedStyle(this, "");
- if (cs.writingMode === undefined || cs.writingMode == "horizontal-tb") {;
+ if (cs.writingMode === undefined || cs.writingMode == "horizontal-tb") {
if (cs.direction == "rtl") {
this.setAttribute("rtl", "true");
}
} else {
if (cs.writingMode == "vertical-rl") {
this.setAttribute("rtl", "true");
}
}
--- a/toolkit/crashreporter/test/unit/test_crash_AsyncShutdown.js
+++ b/toolkit/crashreporter/test/unit/test_crash_AsyncShutdown.js
@@ -45,17 +45,17 @@ function setup_osfile_crash_noerror() {
Services.prefs.setIntPref("toolkit.asyncshutdown.crash_timeout", 1);
Services.prefs.setBoolPref("toolkit.osfile.native", false);
OS.File.profileBeforeChange.addBlocker("Adding a blocker that will never be resolved", () => Promise.defer().promise);
OS.File.getCurrentDirectory();
Services.obs.notifyObservers(null, "profile-before-change", null);
dump("Waiting for crash\n");
-};
+}
function after_osfile_crash_noerror(mdump, extra) {
do_print("after OS.File crash: " + extra.AsyncShutdownTimeout);
let info = JSON.parse(extra.AsyncShutdownTimeout);
let state = info.conditions[0].state;
do_print("Keys: " + Object.keys(state).join(", "));
do_check_eq(info.phase, "profile-before-change");
do_check_true(state.launched);
@@ -76,17 +76,17 @@ function setup_osfile_crash_exn() {
Services.prefs.setIntPref("toolkit.asyncshutdown.crash_timeout", 1);
Services.prefs.setBoolPref("toolkit.osfile.native", false);
OS.File.profileBeforeChange.addBlocker("Adding a blocker that will never be resolved", () => Promise.defer().promise);
OS.File.read("I do not exist");
Services.obs.notifyObservers(null, "profile-before-change", null);
dump("Waiting for crash\n");
-};
+}
function after_osfile_crash_exn(mdump, extra) {
do_print("after OS.File crash: " + extra.AsyncShutdownTimeout);
let info = JSON.parse(extra.AsyncShutdownTimeout);
let state = info.conditions[0].state;
do_print("Keys: " + Object.keys(state).join(", "));
do_check_eq(info.phase, "profile-before-change");
do_check_false(state.shutdown);
--- a/toolkit/crashreporter/test/unit/test_crash_terminator.js
+++ b/toolkit/crashreporter/test/unit/test_crash_terminator.js
@@ -22,17 +22,17 @@ function setup_crash() {
// Pick an arbitrary notification
terminator.observe(null, "xpcom-will-shutdown", null);
terminator.observe(null, "profile-before-change", null);
dump("Waiting (actively) for the crash\n");
while(true) {
Services.tm.currentThread.processNextEvent(true);
}
-};
+}
function after_crash(mdump, extra) {
do_print("Crash signature: " + JSON.stringify(extra, null, "\t"));
Assert.equal(extra.ShutdownProgress, "profile-before-change");
}
function run_test() {
--- a/toolkit/identity/Sandbox.jsm
+++ b/toolkit/identity/Sandbox.jsm
@@ -119,17 +119,17 @@ this.Sandbox.prototype = {
if (event.target != self._frame.contentDocument) {
return;
}
self._frame.removeEventListener(
"DOMWindowCreated", _makeSandboxContentLoaded, true
);
aCallback(self);
- };
+ }
this._frame.addEventListener("DOMWindowCreated",
_makeSandboxContentLoaded,
true);
// Load the iframe.
let webNav = this._frame.contentWindow
.QueryInterface(Ci.nsIInterfaceRequestor)
--- a/toolkit/identity/tests/unit/head_identity.js
+++ b/toolkit/identity/tests/unit/head_identity.js
@@ -160,17 +160,17 @@ function makeObserver(aObserveTopic, aOb
// when ready, invoke callback with the identity
function setup_test_identity(identity, cert, cb) {
// set up the store so that we're supposed to be logged in
let store = get_idstore();
function keyGenerated(err, kpo) {
store.addIdentity(identity, kpo, cert);
cb();
- };
+ }
jwcrypto.generateKeyPair("DS160", keyGenerated);
}
// takes a list of functions and returns a function that
// when called the first time, calls the first func,
// then the next time the second, etc.
function call_sequentially() {
--- a/toolkit/identity/tests/unit/test_jwcrypto.js
+++ b/toolkit/identity/tests/unit/test_jwcrypto.js
@@ -84,17 +84,17 @@ function test_rsa() {
let sig = kpo.sign("This is a message to sign");
do_check_neq(sig, null);
do_check_eq(typeof sig, "string");
do_check_true(sig.length > 1);
*/
do_test_finished();
run_next_test();
- };
+ }
jwcrypto.generateKeyPair("RS256", checkRSA);
}
function test_dsa() {
do_test_pending();
function checkDSA(err, kpo) {
do_check_neq(kpo, undefined);
@@ -115,17 +115,17 @@ function test_dsa() {
let sig = kpo.sign("This is a message to sign");
do_check_neq(sig, null);
do_check_eq(typeof sig, "string");
do_check_true(sig.length > 1);
*/
do_test_finished();
run_next_test();
- };
+ }
jwcrypto.generateKeyPair("DS160", checkDSA);
}
function test_get_assertion_with_offset() {
do_test_pending();
@@ -256,17 +256,17 @@ function extractComponents(signedObject)
do_check_true(!!payload[field]);
}
return {header: header,
payload: payload,
headerSegment: headerSegment,
payloadSegment: payloadSegment,
cryptoSegment: cryptoSegment};
-};
+}
var TESTS = [
test_sanity,
test_generate,
test_get_assertion,
test_get_assertion_with_offset,
test_assertion_lifetime,
test_audience_encoding_bug972582,
--- a/toolkit/modules/Finder.jsm
+++ b/toolkit/modules/Finder.jsm
@@ -376,17 +376,17 @@ Finder.prototype = {
range.endContainer == foundRange.endContainer &&
range.endOffset == foundRange.endOffset);
}
}
if (aStats.total == aMatchLimit) {
aStats.total = -1;
break;
}
- };
+ }
return aStats;
},
/**
* Basic wrapper around nsIFind that provides a generator yielding
* a range each time an occurence of `aWord` string is found.
*
--- a/toolkit/modules/Log.jsm
+++ b/toolkit/modules/Log.jsm
@@ -629,17 +629,17 @@ StructuredFormatter.prototype = {
}
/**
* Test an object to see if it is a Mozilla JS Error.
*/
function isError(aObj) {
return (aObj && typeof(aObj) == 'object' && "name" in aObj && "message" in aObj &&
"fileName" in aObj && "lineNumber" in aObj && "stack" in aObj);
-};
+}
/*
* Parameter Formatters
* These massage an object used as a parameter for a LogMessage into
* a string representation of the object.
*/
function ParameterFormatter() {
--- a/toolkit/modules/Sntp.jsm
+++ b/toolkit/modules/Sntp.jsm
@@ -164,17 +164,17 @@ Sntp.prototype = {
let data = new DataView(buffer);
data.setUint8(0, NTP_MODE_CLIENT | (NTP_VERSION << 3));
data.setUint32(TRANSMIT_TIME_OFFSET, s, false);
data.setUint32(TRANSMIT_TIME_OFFSET + 4, f, false);
return String.fromCharCode.apply(null, new Uint8Array(buffer));
}
- function SNTPListener() {};
+ function SNTPListener() {}
SNTPListener.prototype = {
onStartRequest: function onStartRequest(request, context) {
},
onStopRequest: function onStopRequest(request, context, status) {
if (!Components.isSuccessCode(status)) {
debug ("Connection failed");
this._requesting = false;
--- a/toolkit/modules/Task.jsm
+++ b/toolkit/modules/Task.jsm
@@ -119,17 +119,17 @@ var gMaintainStack = false;
* @return Iterator<string>
*/
function* linesOf(string) {
let reLine = /([^\r\n])+/g;
let match;
while ((match = reLine.exec(string))) {
yield [match[0], match.index];
}
-};
+}
/**
* Detect whether a value is a generator.
*
* @param aValue
* The value to identify.
* @return A boolean indicating whether the value is a generator.
*/
--- a/toolkit/modules/tests/browser/browser_Finder.js
+++ b/toolkit/modules/tests/browser/browser_Finder.js
@@ -17,17 +17,17 @@ add_task(function* () {
}
};
finder.addResultListener(listener);
function waitForFind() {
return new Promise(resolve => {
listener.onFindResult = resolve;
})
- };
+ }
let promiseFind = waitForFind();
finder.highlight(true, "content");
let findResult = yield promiseFind;
is(findResult.result, Ci.nsITypeAheadFind.FIND_FOUND, "should find string");
promiseFind = waitForFind();
finder.highlight(true, "Bla");
--- a/toolkit/mozapps/extensions/AddonManager.jsm
+++ b/toolkit/mozapps/extensions/AddonManager.jsm
@@ -976,17 +976,17 @@ var AddonManagerInternal = {
AddonManagerPrivate.recordException("AMI", "provider " + url, "no startup()");
}
logger.debug("Loaded provider scope for " + url + ": " + Object.keys(scope).toSource());
}
catch (e) {
AddonManagerPrivate.recordException("AMI", "provider " + url + " load failed", e);
logger.error("Exception loading default provider \"" + url + "\"", e);
}
- };
+ }
}
// Load any providers registered in the category manager
let catman = Cc["@mozilla.org/categorymanager;1"].
getService(Ci.nsICategoryManager);
let entries = catman.enumerateCategory(CATEGORY_PROVIDER_MODULE);
while (entries.hasMoreElements()) {
let entry = entries.getNext().QueryInterface(Ci.nsISupportsCString).data;
--- a/toolkit/mozapps/extensions/internal/AddonRepository_SQLiteMigrator.jsm
+++ b/toolkit/mozapps/extensions/internal/AddonRepository_SQLiteMigrator.jsm
@@ -392,17 +392,17 @@ this.AddonRepository_SQLiteMigrator = {
// This is intentionally not an AddonSearchResult object in order
// to allow AddonDatabase._parseAddon to parse it, same as if it
// was read from the JSON database.
let addon = { icons: {} };
for (let prop of PROP_SINGLE) {
addon[prop] = aRow.getResultByName(prop)
- };
+ }
return addon;
},
/**
* Make a developer from an asynchronous row
*
* @param aRow
--- a/toolkit/mozapps/extensions/internal/XPIProvider.jsm
+++ b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
@@ -4102,17 +4102,17 @@ this.XPIProvider = {
logger.debug("updateAddonRepositoryData got info for " + addon.id);
addon._repositoryAddon = aRepoAddon;
addon.compatibilityOverrides = aRepoAddon.compatibilityOverrides;
this.updateAddonDisabledState(addon);
}
notifyComplete();
});
- };
+ }
});
},
/**
* When the previously selected theme is removed this method will be called
* to enable the default theme.
*/
enableDefaultTheme: function() {
--- a/toolkit/mozapps/extensions/internal/XPIProviderUtils.js
+++ b/toolkit/mozapps/extensions/internal/XPIProviderUtils.js
@@ -348,17 +348,17 @@ function DBAddonInternal(aLoaded) {
for (let install of XPIProvider.installs) {
if (install.state == AddonManager.STATE_INSTALLED &&
!(install.addon.inDatabase) &&
install.addon.id == this.id &&
install.installLocation == this._installLocation) {
delete this.pendingUpgrade;
return this.pendingUpgrade = install.addon;
}
- };
+ }
return null;
});
}
DBAddonInternal.prototype = Object.create(AddonInternal.prototype);
Object.assign(DBAddonInternal.prototype, {
applyCompatibilityUpdate: function(aUpdate, aSyncCompatibility) {
let wasCompatible = this.isCompatible;
@@ -656,17 +656,17 @@ this.XPIDatabase = {
// the preference are updated.
}
// If we got here, we probably have good data
// Make AddonInternal instances from the loaded data and save them
let addonDB = new Map();
for (let loadedAddon of inputAddons.addons) {
let newAddon = new DBAddonInternal(loadedAddon);
addonDB.set(newAddon._key, newAddon);
- };
+ }
parseTimer.done();
this.addonDB = addonDB;
logger.debug("Successfully read XPI database");
this.initialized = true;
}
catch(e) {
// If we catch and log a SyntaxError from the JSON
// parser, the xpcshell test harness fails the test for us: bug 870828
--- a/toolkit/mozapps/extensions/test/browser/browser_searching.js
+++ b/toolkit/mozapps/extensions/test/browser/browser_searching.js
@@ -264,17 +264,17 @@ function get_expected_results(aSortBy, a
* Boolean representing if local results are being shown
*/
function check_results(aQuery, aSortBy, aReverseOrder, aShowLocal) {
var xpinstall_enabled = true;
try {
xpinstall_enabled = Services.prefs.getBoolPref(PREF_XPI_ENABLED);
}
- catch (e) {};
+ catch (e) {}
// When XPI Instalation is disabled, those buttons are hidden and unused
if (xpinstall_enabled) {
var localFilterSelected = gManagerWindow.document.getElementById("search-filter-local").selected;
var remoteFilterSelected = gManagerWindow.document.getElementById("search-filter-remote").selected;
is(localFilterSelected, aShowLocal, "Local filter should be selected if showing local items");
is(remoteFilterSelected, !aShowLocal, "Remote filter should be selected if showing remote items");
}
--- a/toolkit/mozapps/extensions/test/xpcshell/test_DeferredSave.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_DeferredSave.js
@@ -62,17 +62,17 @@ function DeferredSaveTester(aDataProvide
do_print("writeAtomic: " + aFile + " data: '" + aData + "', " + aOptions.toSource());
tester.writtenData = aData;
tester.waDeferred = Promise.defer();
tester.writeHandler(tester);
return tester.waDeferred.promise;
};
return tester;
-};
+}
/**
* Install a mock nsITimer factory that triggers on the next spin of
* the event loop after it is scheduled
*/
function setQuickMockTimer() {
let quickTimer = {
initWithCallback: function(aFunction, aDelay, aType) {
--- a/toolkit/mozapps/extensions/test/xpcshell/test_bug659772.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_bug659772.js
@@ -330,11 +330,11 @@ function run_test_2() {
a3.uninstall();
a4.uninstall();
restartManager();
shutdownManager();
do_test_finished();
}));
- };
+ }
});
}
--- a/toolkit/mozapps/extensions/test/xpcshell/test_gmpProvider.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_gmpProvider.js
@@ -225,17 +225,17 @@ add_task(function* test_autoUpdatePrefPe
function createMockPluginFilesIfNeeded(aFile, aPluginId) {
function createFile(aFileName) {
let f = aFile.clone();
f.append(aFileName);
if (!f.exists()) {
f.create(Ci.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
}
- };
+ }
let id = aPluginId.substring(4);
let libName = AppConstants.DLL_PREFIX + id + AppConstants.DLL_SUFFIX;
createFile(libName);
createFile(id + ".info");
if (aPluginId == "gmp-eme-adobe")
createFile(id + ".voucher");
--- a/toolkit/mozapps/extensions/test/xpcshell/test_no_addons.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_no_addons.js
@@ -67,17 +67,17 @@ function* trigger_db_load() {
let addonDefer = Promise.defer();
AddonManager.getAddonsByTypes(['extension'], addonDefer.resolve);
let addonList = yield addonDefer.promise;
do_check_eq(addonList.length, 0);
check_empty_state();
yield true;
-};
+}
add_task(trigger_db_load);
// Now restart the manager and check again
add_task(function* restart_and_recheck() {
restartManager();
check_empty_state();
yield true;
});
--- a/toolkit/mozapps/extensions/test/xpcshell/test_provider_markSafe.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_provider_markSafe.js
@@ -20,17 +20,17 @@ function mockAddonProvider(name) {
},
get name() {
return name;
},
};
return mockProvider;
-};
+}
function run_test() {
run_next_test();
}
add_task(function* testMarkSafe() {
do_print("Starting with provider normally");
let provider = mockAddonProvider("Mock1");
--- a/toolkit/mozapps/extensions/test/xpcshell/test_provider_shutdown.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_provider_shutdown.js
@@ -30,17 +30,17 @@ function mockAddonProvider(aName) {
mockProvider.donePromise = new Promise((resolve, reject) => {
mockProvider.doneResolve = resolve;
mockProvider.doneReject = reject;
});
mockProvider.shutdownPromise = new Promise((resolve, reject) => {
mockProvider.shutdownResolve = resolve;
});
return mockProvider;
-};
+}
function run_test() {
run_next_test();
}
// Helper to find a particular shutdown blocker's status in the JSON blob
function findInStatus(aStatus, aName) {
for (let {name, state} of aStatus.state) {
--- a/toolkit/mozapps/extensions/test/xpcshell/test_provider_unsafe_access_shutdown.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_provider_unsafe_access_shutdown.js
@@ -24,17 +24,17 @@ function mockAddonProvider(name) {
},
get name() {
return name;
},
};
return mockProvider;
-};
+}
function run_test() {
run_next_test();
}
add_task(function* unsafeProviderShutdown() {
let firstProvider = mockAddonProvider("Mock1");
AddonManagerPrivate.registerProvider(firstProvider);
--- a/toolkit/mozapps/extensions/test/xpcshell/test_provider_unsafe_access_startup.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_provider_unsafe_access_startup.js
@@ -23,17 +23,17 @@ function mockAddonProvider(name) {
},
get name() {
return name;
},
};
return mockProvider;
-};
+}
function run_test() {
run_next_test();
}
add_task(function* unsafeProviderStartup() {
let secondProvider = null;