diff --git a/toolkit/content/about.js b/toolkit/content/about.js
index ae467d07ad04..b64f90439840 100644
--- a/toolkit/content/about.js
+++ b/toolkit/content/about.js
@@ -2,26 +2,25 @@
* 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/. */
+var Cu = Components.utils;
+Cu.import("resource://gre/modules/Services.jsm");
+
// get release notes and vendor URL from prefs
-var formatter = Components.classes["@mozilla.org/toolkit/URLFormatterService;1"]
- .getService(Components.interfaces.nsIURLFormatter);
-var releaseNotesURL = formatter.formatURLPref("app.releaseNotesURL");
+var releaseNotesURL = Services.urlFormatter.formatURLPref("app.releaseNotesURL");
if (releaseNotesURL != "about:blank") {
var relnotes = document.getElementById("releaseNotesURL");
relnotes.setAttribute("href", releaseNotesURL);
relnotes.parentNode.removeAttribute("hidden");
}
-var vendorURL = formatter.formatURLPref("app.vendorURL");
+var vendorURL = Services.urlFormatter.formatURLPref("app.vendorURL");
if (vendorURL != "about:blank") {
var vendor = document.getElementById("vendorURL");
vendor.setAttribute("href", vendorURL);
}
// insert the version of the XUL application (!= XULRunner platform version)
-var versionNum = Components.classes["@mozilla.org/xre/app-info;1"]
- .getService(Components.interfaces.nsIXULAppInfo)
- .version;
+var versionNum = Services.appinfo.version;
var version = document.getElementById("version");
version.textContent += " " + versionNum;
diff --git a/toolkit/content/aboutAbout.js b/toolkit/content/aboutAbout.js
index 7c33e7011784..97f063f5e145 100644
--- a/toolkit/content/aboutAbout.js
+++ b/toolkit/content/aboutAbout.js
@@ -4,6 +4,9 @@
var Cc = Components.classes;
var Ci = Components.interfaces;
+var Cu = Components.utils;
+Cu.import("resource://gre/modules/Services.jsm");
+
var gProtocols = [];
var gContainer;
window.onload = function() {
@@ -12,7 +15,6 @@ window.onload = function() {
};
function findAbouts() {
- var ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
for (var cid in Cc) {
var result = cid.match(/@mozilla.org\/network\/protocol\/about;1\?what\=(.*)$/);
if (result) {
@@ -20,7 +22,7 @@ function findAbouts() {
var contract = "@mozilla.org/network/protocol/about;1?what=" + aboutType;
try {
var am = Cc[contract].getService(Ci.nsIAboutModule);
- var uri = ios.newURI("about:" + aboutType);
+ var uri = Services.io.newURI("about:" + aboutType);
var flags = am.getURIFlags(uri);
if (!(flags & Ci.nsIAboutModule.HIDE_FROM_ABOUTABOUT)) {
gProtocols.push(aboutType);
diff --git a/toolkit/content/aboutProfiles.js b/toolkit/content/aboutProfiles.js
index dd6f7ae0ccf2..5f6404912bf4 100644
--- a/toolkit/content/aboutProfiles.js
+++ b/toolkit/content/aboutProfiles.js
@@ -27,9 +27,7 @@ const bundle = Services.strings.createBundle(
function findCurrentProfile() {
let cpd;
try {
- cpd = Cc["@mozilla.org/file/directory_service;1"]
- .getService(Ci.nsIProperties)
- .get("ProfD", Ci.nsIFile);
+ cpd = Services.dirsvc.get("ProfD", Ci.nsIFile);
} catch (e) {}
if (cpd) {
diff --git a/toolkit/content/aboutSupport.js b/toolkit/content/aboutSupport.js
index d2877fe4de72..c63982a79cc6 100644
--- a/toolkit/content/aboutSupport.js
+++ b/toolkit/content/aboutSupport.js
@@ -901,9 +901,7 @@ function copyRawDataToClipboard(button) {
transferable.init(getLoadContext());
transferable.addDataFlavor("text/unicode");
transferable.setTransferData("text/unicode", str, str.data.length * 2);
- Cc["@mozilla.org/widget/clipboard;1"].
- getService(Ci.nsIClipboard).
- setData(transferable, null, Ci.nsIClipboard.kGlobalClipboard);
+ Services.clipboard.setData(transferable, null, Ci.nsIClipboard.kGlobalClipboard);
if (AppConstants.platform == "android") {
// Present a toast notification.
let message = {
@@ -953,9 +951,7 @@ function copyContentsToClipboard() {
transferable.setTransferData("text/unicode", ssText, dataText.length * 2);
// Store the data into the clipboard.
- let clipboard = Cc["@mozilla.org/widget/clipboard;1"]
- .getService(Ci.nsIClipboard);
- clipboard.setData(transferable, null, clipboard.kGlobalClipboard);
+ Services.clipboard.setData(transferable, null, Services.clipboard.kGlobalClipboard);
if (AppConstants.platform == "android") {
// Present a toast notification.
diff --git a/toolkit/content/globalOverlay.js b/toolkit/content/globalOverlay.js
index ae50c33d8b58..9384f2b9e71a 100644
--- a/toolkit/content/globalOverlay.js
+++ b/toolkit/content/globalOverlay.js
@@ -8,9 +8,7 @@ function closeWindow(aClose, aPromptFunction) {
// Closing the last window doesn't quit the application on OS X.
if (AppConstants.platform != "macosx") {
var windowCount = 0;
- var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
- .getService(Components.interfaces.nsIWindowMediator);
- var e = wm.getEnumerator(null);
+ var e = Services.wm.getEnumerator(null);
while (e.hasMoreElements()) {
var w = e.getNext();
@@ -39,14 +37,10 @@ function closeWindow(aClose, aPromptFunction) {
}
function canQuitApplication(aData) {
- var os = Components.classes["@mozilla.org/observer-service;1"]
- .getService(Components.interfaces.nsIObserverService);
- if (!os) return true;
-
try {
var cancelQuit = Components.classes["@mozilla.org/supports-PRBool;1"]
.createInstance(Components.interfaces.nsISupportsPRBool);
- os.notifyObservers(cancelQuit, "quit-application-requested", aData || null);
+ Services.obs.notifyObservers(cancelQuit, "quit-application-requested", aData || null);
// Something aborted the quit process.
if (cancelQuit.data)
@@ -59,10 +53,7 @@ function goQuitApplication() {
if (!canQuitApplication())
return false;
- var appStartup = Components.classes["@mozilla.org/toolkit/app-startup;1"].
- getService(Components.interfaces.nsIAppStartup);
-
- appStartup.quit(Components.interfaces.nsIAppStartup.eAttemptQuit);
+ Services.startup.quit(Components.interfaces.nsIAppStartup.eAttemptQuit);
return true;
}
diff --git a/toolkit/content/plugins.html b/toolkit/content/plugins.html
index 484199e80a92..42dedc1d70e1 100644
--- a/toolkit/content/plugins.html
+++ b/toolkit/content/plugins.html
@@ -11,9 +11,7 @@
Components.utils.import("resource://gre/modules/Services.jsm");
- var Ci = Components.interfaces;
- var strBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"].getService(Ci.nsIStringBundleService);
- var pluginsbundle = strBundleService.createBundle("chrome://global/locale/plugins.properties");
+ var pluginsbundle = Services.strings.createBundle("chrome://global/locale/plugins.properties");
// eslint-disable-next-line no-unsanitized/method
document.writeln("
" + pluginsbundle.GetStringFromName("title_label") + "<\/title>");
diff --git a/toolkit/content/tests/browser/browser_save_resend_postdata.js b/toolkit/content/tests/browser/browser_save_resend_postdata.js
index 8177004fbb39..3eb503361ba8 100644
--- a/toolkit/content/tests/browser/browser_save_resend_postdata.js
+++ b/toolkit/content/tests/browser/browser_save_resend_postdata.js
@@ -98,15 +98,11 @@ function test() {
}
/* import-globals-from common/mockTransfer.js */
-Cc["@mozilla.org/moz/jssubscript-loader;1"]
- .getService(Ci.mozIJSSubScriptLoader)
- .loadSubScript("chrome://mochitests/content/browser/toolkit/content/tests/browser/common/mockTransfer.js",
+Services.scriptloader.loadSubScript("chrome://mochitests/content/browser/toolkit/content/tests/browser/common/mockTransfer.js",
this);
function createTemporarySaveDirectory() {
- var saveDir = Cc["@mozilla.org/file/directory_service;1"]
- .getService(Ci.nsIProperties)
- .get("TmpD", Ci.nsIFile);
+ var saveDir = Services.dirsvc.get("TmpD", Ci.nsIFile);
saveDir.append("testsavedir");
if (!saveDir.exists())
saveDir.create(Ci.nsIFile.DIRECTORY_TYPE, 0o755);
diff --git a/toolkit/content/tests/browser/common/mockTransfer.js b/toolkit/content/tests/browser/common/mockTransfer.js
index 08577efbfe48..89cd81b77798 100644
--- a/toolkit/content/tests/browser/common/mockTransfer.js
+++ b/toolkit/content/tests/browser/common/mockTransfer.js
@@ -2,9 +2,7 @@
* 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/. */
-Cc["@mozilla.org/moz/jssubscript-loader;1"]
- .getService(Ci.mozIJSSubScriptLoader)
- .loadSubScript("chrome://mochikit/content/tests/SimpleTest/MockObjects.js", this);
+Services.scriptloader.loadSubScript("chrome://mochikit/content/tests/SimpleTest/MockObjects.js", this);
var mockTransferCallback;
diff --git a/toolkit/content/tests/chrome/RegisterUnregisterChrome.js b/toolkit/content/tests/chrome/RegisterUnregisterChrome.js
index b597794799c2..847312caab58 100644
--- a/toolkit/content/tests/chrome/RegisterUnregisterChrome.js
+++ b/toolkit/content/tests/chrome/RegisterUnregisterChrome.js
@@ -6,18 +6,17 @@ const XUL_CACHE_PREF = "nglayout.debug.disable_xul_cache";
var Cc = Components.classes;
var Ci = Components.interfaces;
var Cr = Components.results;
+var Cu = Components.utils;
+
+Cu.import("resource://gre/modules/Services.jsm");
-var gDirSvc = Cc["@mozilla.org/file/directory_service;1"].
- getService(Ci.nsIDirectoryService).QueryInterface(Ci.nsIProperties);
var gChromeReg = Cc["@mozilla.org/chrome/chrome-registry;1"].
getService(Ci.nsIXULChromeRegistry);
-var gPrefs = Cc["@mozilla.org/preferences-service;1"].
- getService(Ci.nsIPrefBranch);
// Create the temporary file in the profile, instead of in TmpD, because
// we know the mochitest harness kills off the profile when it's done.
function copyToTemporaryFile(f) {
- let tmpd = gDirSvc.get("ProfD", Ci.nsIFile);
+ let tmpd = Services.dirsvc.get("ProfD", Ci.nsIFile);
let tmpf = tmpd.clone();
tmpf.append("temp.manifest");
tmpf.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600);
@@ -27,9 +26,7 @@ function copyToTemporaryFile(f) {
}
function* dirIter(directory) {
- var ioSvc = Cc["@mozilla.org/network/io-service;1"].
- getService(Ci.nsIIOService);
- var testsDir = ioSvc.newURI(directory)
+ var testsDir = Services.io.newURI(directory)
.QueryInterface(Ci.nsIFileURL).file;
let en = testsDir.directoryEntries;
@@ -57,7 +54,7 @@ function copyDirToTempProfile(path, subdirname) {
subdirname = "mochikit-tmp";
}
- let tmpdir = gDirSvc.get("ProfD", Ci.nsIFile);
+ let tmpdir = Services.dirsvc.get("ProfD", Ci.nsIFile);
tmpdir.append(subdirname);
tmpdir.createUnique(Components.interfaces.nsIFile.DIRECTORY_TYPE, 0o777);
@@ -76,8 +73,7 @@ function copyDirToTempProfile(path, subdirname) {
}
function convertChromeURI(chromeURI) {
- let uri = Cc["@mozilla.org/network/io-service;1"].
- getService(Ci.nsIIOService).newURI(chromeURI);
+ let uri = Services.io.newURI(chromeURI);
return gChromeReg.convertChromeURL(uri);
}
@@ -99,7 +95,7 @@ function chromeURIToFile(chromeURI) {
// Register a chrome manifest temporarily and return a function which un-does
// the registrarion when no longer needed.
function createManifestTemporarily(tempDir, manifestText) {
- gPrefs.setBoolPref(XUL_CACHE_PREF, true);
+ Services.prefs.setBoolPref(XUL_CACHE_PREF, true);
tempDir.append("temp.manifest");
@@ -120,14 +116,14 @@ function createManifestTemporarily(tempDir, manifestText) {
tempfile.fileSize = 0; // truncate the manifest
gChromeReg.checkForNewChrome();
gChromeReg.refreshSkins();
- gPrefs.clearUserPref(XUL_CACHE_PREF);
+ Services.prefs.clearUserPref(XUL_CACHE_PREF);
};
}
// Register a chrome manifest temporarily and return a function which un-does
// the registrarion when no longer needed.
function registerManifestTemporarily(manifestURI) {
- gPrefs.setBoolPref(XUL_CACHE_PREF, true);
+ Services.prefs.setBoolPref(XUL_CACHE_PREF, true);
let file = chromeURIToFile(manifestURI);
@@ -141,7 +137,7 @@ function registerManifestTemporarily(manifestURI) {
tempfile.fileSize = 0; // truncate the manifest
gChromeReg.checkForNewChrome();
gChromeReg.refreshSkins();
- gPrefs.clearUserPref(XUL_CACHE_PREF);
+ Services.prefs.clearUserPref(XUL_CACHE_PREF);
};
}
diff --git a/toolkit/content/tests/unit/test_contentAreaUtils.js b/toolkit/content/tests/unit/test_contentAreaUtils.js
index 99a4b995f8b4..6a6a7bb8349c 100644
--- a/toolkit/content/tests/unit/test_contentAreaUtils.js
+++ b/toolkit/content/tests/unit/test_contentAreaUtils.js
@@ -6,12 +6,13 @@
var Ci = Components.interfaces;
var Cc = Components.classes;
var Cr = Components.results;
+var Cu = Components.utils;
+
+Cu.import("resource://gre/modules/Services.jsm");
function loadUtilsScript() {
- var loader = Cc["@mozilla.org/moz/jssubscript-loader;1"].
- getService(Ci.mozIJSSubScriptLoader);
/* import-globals-from ../../contentAreaUtils.js */
- loader.loadSubScript("chrome://global/content/contentAreaUtils.js");
+ Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js");
}
function test_urlSecurityCheck() {
diff --git a/toolkit/content/viewZoomOverlay.js b/toolkit/content/viewZoomOverlay.js
index 66e054437c34..ff19114c1f61 100644
--- a/toolkit/content/viewZoomOverlay.js
+++ b/toolkit/content/viewZoomOverlay.js
@@ -10,29 +10,27 @@
* that accept a browser to be modified.
**/
-var ZoomManager = {
- get _prefBranch() {
- delete this._prefBranch;
- return this._prefBranch = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch);
- },
+var Cu = Components.utils;
+Cu.import("resource://gre/modules/Services.jsm");
+
+var ZoomManager = {
get MIN() {
delete this.MIN;
- return this.MIN = this._prefBranch.getIntPref("zoom.minPercent") / 100;
+ return this.MIN = Services.prefs.getIntPref("zoom.minPercent") / 100;
},
get MAX() {
delete this.MAX;
- return this.MAX = this._prefBranch.getIntPref("zoom.maxPercent") / 100;
+ return this.MAX = Services.prefs.getIntPref("zoom.maxPercent") / 100;
},
get useFullZoom() {
- return this._prefBranch.getBoolPref("browser.zoom.full");
+ return Services.prefs.getBoolPref("browser.zoom.full");
},
set useFullZoom(aVal) {
- this._prefBranch.setBoolPref("browser.zoom.full", aVal);
+ Services.prefs.setBoolPref("browser.zoom.full", aVal);
return aVal;
},
@@ -66,8 +64,8 @@ var ZoomManager = {
},
get zoomValues() {
- var zoomValues = this._prefBranch.getCharPref("toolkit.zoomManager.zoomValues")
- .split(",").map(parseFloat);
+ var zoomValues = Services.prefs.getCharPref("toolkit.zoomManager.zoomValues")
+ .split(",").map(parseFloat);
zoomValues.sort((a, b) => a - b);
while (zoomValues[0] < this.MIN)
diff --git a/toolkit/crashreporter/CrashSubmit.jsm b/toolkit/crashreporter/CrashSubmit.jsm
index 91401bde911f..881510bcd58e 100644
--- a/toolkit/crashreporter/CrashSubmit.jsm
+++ b/toolkit/crashreporter/CrashSubmit.jsm
@@ -44,9 +44,7 @@ function parseINIStrings(path) {
// Since we're basically re-implementing (with async) part of the crashreporter
// client here, we'll just steal the strings we need from crashreporter.ini
async function getL10nStrings() {
- let dirSvc = Cc["@mozilla.org/file/directory_service;1"].
- getService(Ci.nsIProperties);
- let path = OS.Path.join(dirSvc.get("GreD", Ci.nsIFile).path,
+ let path = OS.Path.join(Services.dirsvc.get("GreD", Ci.nsIFile).path,
"crashreporter.ini");
let pathExists = await OS.File.exists(path);
@@ -75,7 +73,7 @@ async function getL10nStrings() {
"reporturl": crstrings.CrashDetailsURL
};
- path = OS.Path.join(dirSvc.get("XCurProcD", Ci.nsIFile).path,
+ path = OS.Path.join(Services.dirsvc.get("XCurProcD", Ci.nsIFile).path,
"crashreporter-override.ini");
pathExists = await OS.File.exists(path);
@@ -95,9 +93,7 @@ async function getL10nStrings() {
}
function getDir(name) {
- let dirSvc = Cc["@mozilla.org/file/directory_service;1"].
- getService(Ci.nsIProperties);
- let uAppDataPath = dirSvc.get("UAppData", Ci.nsIFile).path;
+ let uAppDataPath = Services.dirsvc.get("UAppData", Ci.nsIFile).path;
return OS.Path.join(uAppDataPath, "Crash Reports", name);
}
diff --git a/toolkit/crashreporter/content/crashes.js b/toolkit/crashreporter/content/crashes.js
index c0eceedadab7..150cb8fe125a 100644
--- a/toolkit/crashreporter/content/crashes.js
+++ b/toolkit/crashreporter/content/crashes.js
@@ -49,12 +49,8 @@ function submitPendingReport(event) {
}
function populateReportList() {
-
- var prefService = Cc["@mozilla.org/preferences-service;1"].
- getService(Ci.nsIPrefBranch);
-
try {
- reportURL = prefService.getCharPref("breakpad.reportURL");
+ reportURL = Services.prefs.getCharPref("breakpad.reportURL");
// Ignore any non http/https urls
if (!/^https?:/i.test(reportURL))
reportURL = null;
@@ -93,11 +89,9 @@ function populateReportList() {
}
};
}
- var ios = Cc["@mozilla.org/network/io-service;1"].
- getService(Ci.nsIIOService);
- var reportURI = ios.newURI(reportURL);
+ var reportURI = Services.io.newURI(reportURL);
// resolving this URI relative to /report/index
- var aboutThrottling = ios.newURI("../../about/throttling", null, reportURI);
+ var aboutThrottling = Services.io.newURI("../../about/throttling", null, reportURI);
for (var i = 0; i < reports.length; i++) {
var row = document.createElement("tr");
diff --git a/toolkit/crashreporter/test/browser/browser_aboutCrashes.js b/toolkit/crashreporter/test/browser/browser_aboutCrashes.js
index e9ac8f368c74..b6a0461fb726 100644
--- a/toolkit/crashreporter/test/browser/browser_aboutCrashes.js
+++ b/toolkit/crashreporter/test/browser/browser_aboutCrashes.js
@@ -4,9 +4,7 @@ add_task(async function test() {
crD.append("Crash Reports");
let crashes = add_fake_crashes(crD, 5);
// sanity check
- let dirSvc = Components.classes["@mozilla.org/file/directory_service;1"]
- .getService(Components.interfaces.nsIProperties);
- let appDtest = dirSvc.get("UAppData", Components.interfaces.nsIFile);
+ let appDtest = Services.dirsvc.get("UAppData", Components.interfaces.nsIFile);
ok(appD.equals(appDtest), "directory service provider registered ok");
await BrowserTestUtils.withNewTab({ gBrowser, url: "about:crashes" }, function(browser) {
diff --git a/toolkit/crashreporter/test/browser/head.js b/toolkit/crashreporter/test/browser/head.js
index 6ef2b9db2d65..37de5647988a 100644
--- a/toolkit/crashreporter/test/browser/head.js
+++ b/toolkit/crashreporter/test/browser/head.js
@@ -1,3 +1,5 @@
+Cu.import("resource://gre/modules/Services.jsm");
+
function create_subdir(dir, subdirname) {
let subdir = dir.clone();
subdir.append(subdirname);
@@ -15,9 +17,7 @@ function make_fake_appdir() {
// Create a directory inside the profile and register it as UAppData, so
// we can stick fake crash reports inside there. We put it inside the profile
// just because we know that will get cleaned up after the mochitest run.
- let dirSvc = Cc["@mozilla.org/file/directory_service;1"]
- .getService(Ci.nsIProperties);
- let profD = dirSvc.get("ProfD", Ci.nsIFile);
+ let profD = Services.dirsvc.get("ProfD", Ci.nsIFile);
// create a subdir just to keep our files out of the way
let appD = create_subdir(profD, "UAppData");
@@ -48,23 +48,21 @@ function make_fake_appdir() {
}
};
// register our new provider
- dirSvc.QueryInterface(Ci.nsIDirectoryService)
- .registerProvider(_provider);
+ Services.dirsvc.QueryInterface(Ci.nsIDirectoryService)
+ .registerProvider(_provider);
// and undefine the old value
try {
- dirSvc.undefine("UAppData");
+ Services.dirsvc.undefine("UAppData");
} catch (ex) {} // it's ok if this fails, the value might not be cached yet
return appD.clone();
}
function cleanup_fake_appdir() {
- let dirSvc = Cc["@mozilla.org/file/directory_service;1"]
- .getService(Ci.nsIProperties);
- dirSvc.QueryInterface(Ci.nsIDirectoryService)
- .unregisterProvider(_provider);
+ Services.dirsvc.QueryInterface(Ci.nsIDirectoryService)
+ .unregisterProvider(_provider);
// undefine our value so future calls get the real value
try {
- dirSvc.undefine("UAppData");
+ Services.dirsvc.undefine("UAppData");
} catch (ex) {
dump("cleanup_fake_appdir: dirSvc.undefine failed: " + ex.message + "\n");
}
diff --git a/toolkit/crashreporter/test/unit/crasher_subprocess_head.js b/toolkit/crashreporter/test/unit/crasher_subprocess_head.js
index a127ac6f5f0e..cbe0618a1b11 100644
--- a/toolkit/crashreporter/test/unit/crasher_subprocess_head.js
+++ b/toolkit/crashreporter/test/unit/crasher_subprocess_head.js
@@ -1,7 +1,7 @@
+Components.utils.import("resource://gre/modules/Services.jsm");
+
// enable crash reporting first
-var cwd = Components.classes["@mozilla.org/file/directory_service;1"]
- .getService(Components.interfaces.nsIProperties)
- .get("CurWorkD", Components.interfaces.nsIFile);
+var cwd = Services.dirsvc.get("CurWorkD", Components.interfaces.nsIFile);
// get the temp dir
var env = Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment);
@@ -16,17 +16,14 @@ var crashReporter =
crashReporter.UpdateCrashEventsDir();
// Setting the minidump path is not allowed in content processes
-var processType = Components.classes["@mozilla.org/xre/runtime;1"].
- getService(Components.interfaces.nsIXULRuntime).processType;
+var processType = Services.appinfo.processType;
if (processType == Components.interfaces.nsIXULRuntime.PROCESS_TYPE_DEFAULT) {
crashReporter.minidumpPath = _tmpd;
}
-var ios = Components.classes["@mozilla.org/network/io-service;1"]
- .getService(Components.interfaces.nsIIOService);
-var protocolHandler = ios.getProtocolHandler("resource")
- .QueryInterface(Components.interfaces.nsIResProtocolHandler);
-var curDirURI = ios.newFileURI(cwd);
+var protocolHandler = Services.io.getProtocolHandler("resource")
+ .QueryInterface(Components.interfaces.nsIResProtocolHandler);
+var curDirURI = Services.io.newFileURI(cwd);
protocolHandler.setSubstitution("test", curDirURI);
Components.utils.import("resource://test/CrashTestUtils.jsm");
var crashType = CrashTestUtils.CRASH_INVALID_POINTER_DEREF;
diff --git a/toolkit/crashreporter/test/unit/crasher_subprocess_tail.js b/toolkit/crashreporter/test/unit/crasher_subprocess_tail.js
index ac78030fc50c..8afc07e11e3e 100644
--- a/toolkit/crashreporter/test/unit/crasher_subprocess_tail.js
+++ b/toolkit/crashreporter/test/unit/crasher_subprocess_tail.js
@@ -3,12 +3,10 @@
// Let the event loop process a bit before crashing.
if (shouldDelay) {
let shouldCrashNow = false;
- let tm = Components.classes["@mozilla.org/thread-manager;1"]
- .getService(Components.interfaces.nsIThreadManager);
- tm.dispatchToMainThread({ run: () => { shouldCrashNow = true; } });
+ Services.tm.dispatchToMainThread({ run: () => { shouldCrashNow = true; } });
- tm.spinEventLoopUntil(() => shouldCrashNow);
+ Services.tm.spinEventLoopUntil(() => shouldCrashNow);
}
// now actually crash
diff --git a/toolkit/crashreporter/test/unit/head_crashreporter.js b/toolkit/crashreporter/test/unit/head_crashreporter.js
index 026d8bb4f224..998c729df819 100644
--- a/toolkit/crashreporter/test/unit/head_crashreporter.js
+++ b/toolkit/crashreporter/test/unit/head_crashreporter.js
@@ -39,15 +39,13 @@ function getEventDir() {
*/
function do_crash(setup, callback, canReturnZero) {
// get current process filename (xpcshell)
- let ds = Components.classes["@mozilla.org/file/directory_service;1"]
- .getService(Components.interfaces.nsIProperties);
- let bin = ds.get("XREExeF", Components.interfaces.nsIFile);
+ let bin = Services.dirsvc.get("XREExeF", Components.interfaces.nsIFile);
if (!bin.exists()) {
// weird, can't find xpcshell binary?
do_throw("Can't find xpcshell binary!");
}
// get Gre dir (GreD)
- let greD = ds.get("GreD", Components.interfaces.nsIFile);
+ let greD = Services.dirsvc.get("GreD", Components.interfaces.nsIFile);
let headfile = do_get_file("crasher_subprocess_head.js");
let tailfile = do_get_file("crasher_subprocess_tail.js");
// run xpcshell -g GreD -f head -e "some setup code" -f tail
@@ -109,9 +107,7 @@ function runMinidumpAnalyzer(dumpFile, additionalArgs) {
}
// find minidump-analyzer executable.
- let ds = Cc["@mozilla.org/file/directory_service;1"]
- .getService(Ci.nsIProperties);
- let bin = ds.get("XREExeF", Ci.nsIFile);
+ let bin = Services.dirsvc.get("XREExeF", Ci.nsIFile);
ok(bin && bin.exists());
bin = bin.parent;
ok(bin && bin.exists());
diff --git a/toolkit/crashreporter/test/unit/test_crash_after_js_large_allocation_failure_reporting.js b/toolkit/crashreporter/test/unit/test_crash_after_js_large_allocation_failure_reporting.js
index 12264a974e62..0c7be825588a 100644
--- a/toolkit/crashreporter/test/unit/test_crash_after_js_large_allocation_failure_reporting.js
+++ b/toolkit/crashreporter/test/unit/test_crash_after_js_large_allocation_failure_reporting.js
@@ -13,9 +13,7 @@ function run_test() {
CrashTestUtils.crash(crashType);
}
- var observerService = Components.classes["@mozilla.org/observer-service;1"]
- .getService(Components.interfaces.nsIObserverService);
- observerService.addObserver(crashWhileReporting, "memory-pressure");
+ Services.obs.addObserver(crashWhileReporting, "memory-pressure");
Components.utils.getJSTestingFunctions().reportLargeAllocationFailure();
},
function(mdump, extra) {
diff --git a/toolkit/crashreporter/test/unit/test_crash_with_memory_report.js b/toolkit/crashreporter/test/unit/test_crash_with_memory_report.js
index 20270f63e5df..97ef677d56f2 100644
--- a/toolkit/crashreporter/test/unit/test_crash_with_memory_report.js
+++ b/toolkit/crashreporter/test/unit/test_crash_with_memory_report.js
@@ -23,8 +23,6 @@ function run_test() {
.createInstance(Ci.nsIFile);
file.initWithPath(profd);
- let dirSvc = Cc["@mozilla.org/file/directory_service;1"]
- .getService(Ci.nsIProperties);
let provider = {
getFile(prop, persistent) {
persistent.value = true;
@@ -42,8 +40,8 @@ function run_test() {
throw Components.results.NS_ERROR_NO_INTERFACE;
}
};
- dirSvc.QueryInterface(Ci.nsIDirectoryService)
- .registerProvider(provider);
+ Services.dirsvc.QueryInterface(Ci.nsIDirectoryService)
+ .registerProvider(provider);
crashReporter.saveMemoryReport();
},
diff --git a/toolkit/crashreporter/test/unit/test_crashreporter.js b/toolkit/crashreporter/test/unit/test_crashreporter.js
index 9e59ba7eb10b..c2cb78f0d115 100644
--- a/toolkit/crashreporter/test/unit/test_crashreporter.js
+++ b/toolkit/crashreporter/test/unit/test_crashreporter.js
@@ -14,20 +14,18 @@ function run_test() {
}
// check setting/getting serverURL
- var ios = Components.classes["@mozilla.org/network/io-service;1"]
- .getService(Components.interfaces.nsIIOService);
// try it with two different URLs, just for kicks
var testspecs = ["http://example.com/submit",
"https://example.org/anothersubmit"];
for (var i = 0; i < testspecs.length; ++i) {
- cr.serverURL = ios.newURI(testspecs[i]);
+ cr.serverURL = Services.io.newURI(testspecs[i]);
do_check_eq(cr.serverURL.spec, testspecs[i]);
}
// should not allow setting non-http/https URLs
try {
- cr.serverURL = ios.newURI("ftp://example.com/submit");
+ cr.serverURL = Services.io.newURI("ftp://example.com/submit");
do_throw("Setting serverURL to a non-http(s) URL should have thrown!");
} catch (ex) {
do_check_eq(ex.result, Components.results.NS_ERROR_INVALID_ARG);
diff --git a/toolkit/crashreporter/test/unit/test_crashreporter_crash.js b/toolkit/crashreporter/test/unit/test_crashreporter_crash.js
index 1f26da0429bf..2b3de87214d1 100644
--- a/toolkit/crashreporter/test/unit/test_crashreporter_crash.js
+++ b/toolkit/crashreporter/test/unit/test_crashreporter_crash.js
@@ -61,12 +61,10 @@ function run_test() {
do_crash(function() {
// Enable the FHR, official policy bypass (since we're in a test) and
// specify a telemetry server & client ID.
- let prefs = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch);
- prefs.setBoolPref("datareporting.policy.dataSubmissionPolicyBypassNotification", true);
- prefs.setBoolPref("datareporting.healthreport.uploadEnabled", true);
- prefs.setCharPref("toolkit.telemetry.server", "http://a.telemetry.server");
- prefs.setCharPref("toolkit.telemetry.cachedClientID",
+ Services.prefs.setBoolPref("datareporting.policy.dataSubmissionPolicyBypassNotification", true);
+ Services.prefs.setBoolPref("datareporting.healthreport.uploadEnabled", true);
+ Services.prefs.setCharPref("toolkit.telemetry.server", "http://a.telemetry.server");
+ Services.prefs.setCharPref("toolkit.telemetry.cachedClientID",
"f3582dee-22b9-4d73-96d1-79ef5bf2fc24");
// TelemetrySession setup will trigger the session annotation
@@ -89,10 +87,8 @@ function run_test() {
do_crash(function() {
// Disable the FHR upload, no telemetry annotations should be present.
- let prefs = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch);
- prefs.setBoolPref("datareporting.policy.dataSubmissionPolicyBypassNotification", true);
- prefs.setBoolPref("datareporting.healthreport.uploadEnabled", false);
+ Services.prefs.setBoolPref("datareporting.policy.dataSubmissionPolicyBypassNotification", true);
+ Services.prefs.setBoolPref("datareporting.healthreport.uploadEnabled", false);
// TelemetrySession setup will trigger the session annotation
let scope = {};
@@ -110,10 +106,8 @@ function run_test() {
do_crash(function() {
// No telemetry annotations should be present if the user has not been
// notified yet
- let prefs = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch);
- prefs.setBoolPref("datareporting.policy.dataSubmissionPolicyBypassNotification", false);
- prefs.setBoolPref("datareporting.healthreport.uploadEnabled", true);
+ Services.prefs.setBoolPref("datareporting.policy.dataSubmissionPolicyBypassNotification", false);
+ Services.prefs.setBoolPref("datareporting.healthreport.uploadEnabled", true);
// TelemetrySession setup will trigger the session annotation
let scope = {};
diff --git a/toolkit/forgetaboutsite/ForgetAboutSite.jsm b/toolkit/forgetaboutsite/ForgetAboutSite.jsm
index ebf37451ae18..bfddfa876aa1 100644
--- a/toolkit/forgetaboutsite/ForgetAboutSite.jsm
+++ b/toolkit/forgetaboutsite/ForgetAboutSite.jsm
@@ -49,11 +49,9 @@ this.ForgetAboutSite = {
let promises = [];
// Cache
promises.push((async function() {
- let cs = Cc["@mozilla.org/netwerk/cache-storage-service;1"].
- getService(Ci.nsICacheStorageService);
// NOTE: there is no way to clear just that domain, so we clear out
// everything)
- cs.clear();
+ Services.cache2.clear();
})().catch(ex => {
throw new Error("Exception thrown while clearing the cache: " + ex);
}));
@@ -70,12 +68,10 @@ this.ForgetAboutSite = {
// Cookies
// Need to maximize the number of cookies cleaned here
promises.push((async function() {
- let cm = Cc["@mozilla.org/cookiemanager;1"].
- getService(Ci.nsICookieManager);
- let enumerator = cm.getCookiesWithOriginAttributes(JSON.stringify({}), aDomain);
+ let enumerator = Services.cookies.getCookiesWithOriginAttributes(JSON.stringify({}), aDomain);
while (enumerator.hasMoreElements()) {
let cookie = enumerator.getNext().QueryInterface(Ci.nsICookie);
- cm.remove(cookie.host, cookie.name, cookie.path, false, cookie.originAttributes);
+ Services.cookies.remove(cookie.host, cookie.name, cookie.path, false, cookie.originAttributes);
}
})().catch(ex => {
throw new Error("Exception thrown while clearning cookies: " + ex);
@@ -119,13 +115,11 @@ this.ForgetAboutSite = {
// Passwords
promises.push((async function() {
- let lm = Cc["@mozilla.org/login-manager;1"].
- getService(Ci.nsILoginManager);
// Clear all passwords for domain
- let logins = lm.getAllLogins();
+ let logins = Services.logins.getAllLogins();
for (let i = 0; i < logins.length; i++)
if (hasRootDomain(logins[i].hostname, aDomain))
- lm.removeLogin(logins[i]);
+ Services.logins.removeLogin(logins[i]);
})().catch(ex => {
// XXXehsan: is there a better way to do this rather than this
// hacky comparison?
@@ -135,16 +129,14 @@ this.ForgetAboutSite = {
}));
// Permissions
- let pm = Cc["@mozilla.org/permissionmanager;1"].
- getService(Ci.nsIPermissionManager);
// Enumerate all of the permissions, and if one matches, remove it
- let enumerator = pm.enumerator;
+ let enumerator = Services.perms.enumerator;
while (enumerator.hasMoreElements()) {
let perm = enumerator.getNext().QueryInterface(Ci.nsIPermission);
promises.push(new Promise((resolve, reject) => {
try {
if (hasRootDomain(perm.principal.URI.host, aDomain)) {
- pm.removePermission(perm);
+ Services.perms.removePermission(perm);
}
} catch (ex) {
// Ignore entry
@@ -156,8 +148,6 @@ this.ForgetAboutSite = {
// Offline Storages
promises.push((async function() {
- let qms = Cc["@mozilla.org/dom/quota-manager-service;1"].
- getService(Ci.nsIQuotaManagerService);
// delete data from both HTTP and HTTPS sites
let httpURI = NetUtil.newURI("http://" + aDomain);
let httpsURI = NetUtil.newURI("https://" + aDomain);
@@ -168,8 +158,8 @@ this.ForgetAboutSite = {
.createCodebasePrincipal(httpURI, {});
let httpsPrincipal = Services.scriptSecurityManager
.createCodebasePrincipal(httpsURI, {});
- qms.clearStoragesForPrincipal(httpPrincipal, null, true);
- qms.clearStoragesForPrincipal(httpsPrincipal, null, true);
+ Services.qms.clearStoragesForPrincipal(httpPrincipal, null, true);
+ Services.qms.clearStoragesForPrincipal(httpsPrincipal, null, true);
})().catch(ex => {
throw new Error("Exception occured while clearing offline storages: " + ex);
}));
diff --git a/toolkit/forgetaboutsite/test/unit/head_forgetaboutsite.js b/toolkit/forgetaboutsite/test/unit/head_forgetaboutsite.js
index e42f515640d6..e342f3c6c8bf 100644
--- a/toolkit/forgetaboutsite/test/unit/head_forgetaboutsite.js
+++ b/toolkit/forgetaboutsite/test/unit/head_forgetaboutsite.js
@@ -8,7 +8,8 @@ var Cc = Components.classes;
var Ci = Components.interfaces;
var Cu = Components.utils;
-var dirSvc = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties);
+Cu.import("resource://gre/modules/Services.jsm");
+
var profileDir = do_get_profile();
/**
@@ -23,7 +24,7 @@ function cleanUp() {
];
for (let i = 0; i < files.length; i++) {
- let file = dirSvc.get("ProfD", Ci.nsIFile);
+ let file = Services.dirsvc.get("ProfD", Ci.nsIFile);
file.append(files[i]);
if (file.exists())
file.remove(false);
diff --git a/toolkit/forgetaboutsite/test/unit/test_removeDataFromDomain.js b/toolkit/forgetaboutsite/test/unit/test_removeDataFromDomain.js
index 90855095e4f6..69acfea17ffe 100644
--- a/toolkit/forgetaboutsite/test/unit/test_removeDataFromDomain.js
+++ b/toolkit/forgetaboutsite/test/unit/test_removeDataFromDomain.js
@@ -35,19 +35,6 @@ const PREFERENCE_NAME = "test-pref";
// Utility Functions
-/**
- * Creates an nsIURI object for the given string representation of a URI.
- *
- * @param aURIString
- * The spec of the URI to create.
- * @returns an nsIURI representing aURIString.
- */
-function uri(aURIString) {
- return Cc["@mozilla.org/network/io-service;1"].
- getService(Ci.nsIIOService).
- newURI(aURIString);
-}
-
/**
* Asynchronously check a url is visited.
*
@@ -74,9 +61,8 @@ function promiseIsURIVisited(aURI) {
*/
function add_cookie(aDomain) {
check_cookie_exists(aDomain, false);
- let cm = Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager);
- cm.add(aDomain, COOKIE_PATH, COOKIE_NAME, "", false, false, false,
- COOKIE_EXPIRY, {});
+ Services.cookies.add(aDomain, COOKIE_PATH, COOKIE_NAME, "", false, false, false,
+ COOKIE_EXPIRY, {});
check_cookie_exists(aDomain, true);
}
@@ -89,14 +75,13 @@ function add_cookie(aDomain) {
* True if the cookie should exist, false otherwise.
*/
function check_cookie_exists(aDomain, aExists) {
- let cm = Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager);
let cookie = {
host: aDomain,
name: COOKIE_NAME,
path: COOKIE_PATH
};
let checker = aExists ? do_check_true : do_check_false;
- checker(cm.cookieExists(cookie));
+ checker(Services.cookies.cookieExists(cookie));
}
/**
@@ -107,9 +92,7 @@ function check_cookie_exists(aDomain, aExists) {
*/
function add_disabled_host(aHost) {
check_disabled_host(aHost, false);
- let lm = Cc["@mozilla.org/login-manager;1"].
- getService(Ci.nsILoginManager);
- lm.setLoginSavingEnabled(aHost, false);
+ Services.logins.setLoginSavingEnabled(aHost, false);
check_disabled_host(aHost, true);
}
@@ -122,10 +105,8 @@ function add_disabled_host(aHost) {
* True if the host should be disabled, false otherwise.
*/
function check_disabled_host(aHost, aIsDisabled) {
- let lm = Cc["@mozilla.org/login-manager;1"].
- getService(Ci.nsILoginManager);
let checker = aIsDisabled ? do_check_false : do_check_true;
- checker(lm.getLoginSavingEnabled(aHost));
+ checker(Services.logins.getLoginSavingEnabled(aHost));
}
/**
@@ -140,9 +121,7 @@ function add_login(aHost) {
createInstance(Ci.nsILoginInfo);
login.init(aHost, "", null, LOGIN_USERNAME, LOGIN_PASSWORD,
LOGIN_USERNAME_FIELD, LOGIN_PASSWORD_FIELD);
- let lm = Cc["@mozilla.org/login-manager;1"].
- getService(Ci.nsILoginManager);
- lm.addLogin(login);
+ Services.logins.addLogin(login);
check_login_exists(aHost, true);
}
@@ -155,10 +134,8 @@ function add_login(aHost) {
* True if the login should exist, false otherwise.
*/
function check_login_exists(aHost, aExists) {
- let lm = Cc["@mozilla.org/login-manager;1"].
- getService(Ci.nsILoginManager);
let count = { value: 0 };
- lm.findLogins(count, aHost, "", null);
+ Services.logins.findLogins(count, aHost, "", null);
do_check_eq(count.value, aExists ? 1 : 0);
}
@@ -170,13 +147,9 @@ function check_login_exists(aHost, aExists) {
*/
function add_permission(aURI) {
check_permission_exists(aURI, false);
- let pm = Cc["@mozilla.org/permissionmanager;1"].
- getService(Ci.nsIPermissionManager);
- let ssm = Cc["@mozilla.org/scriptsecuritymanager;1"]
- .getService(Ci.nsIScriptSecurityManager);
- let principal = ssm.createCodebasePrincipal(aURI, {});
+ let principal = Services.scriptSecurityManager.createCodebasePrincipal(aURI, {});
- pm.addFromPrincipal(principal, PERMISSION_TYPE, PERMISSION_VALUE);
+ Services.perms.addFromPrincipal(principal, PERMISSION_TYPE, PERMISSION_VALUE);
check_permission_exists(aURI, true);
}
@@ -189,13 +162,9 @@ function add_permission(aURI) {
* True if the permission should exist, false otherwise.
*/
function check_permission_exists(aURI, aExists) {
- let pm = Cc["@mozilla.org/permissionmanager;1"].
- getService(Ci.nsIPermissionManager);
- let ssm = Cc["@mozilla.org/scriptsecuritymanager;1"]
- .getService(Ci.nsIScriptSecurityManager);
- let principal = ssm.createCodebasePrincipal(aURI, {});
+ let principal = Services.scriptSecurityManager.createCodebasePrincipal(aURI, {});
- let perm = pm.testExactPermissionFromPrincipal(principal, PERMISSION_TYPE);
+ let perm = Services.perms.testExactPermissionFromPrincipal(principal, PERMISSION_TYPE);
let checker = aExists ? do_check_eq : do_check_neq;
checker(perm, PERMISSION_VALUE);
}
@@ -238,7 +207,7 @@ function preference_exists(aURI) {
// History
async function test_history_cleared_with_direct_match() {
- const TEST_URI = uri("http://mozilla.org/foo");
+ const TEST_URI = Services.io.newURI("http://mozilla.org/foo");
do_check_false(await promiseIsURIVisited(TEST_URI));
await PlacesTestUtils.addVisits(TEST_URI);
do_check_true(await promiseIsURIVisited(TEST_URI));
@@ -247,7 +216,7 @@ async function test_history_cleared_with_direct_match() {
}
async function test_history_cleared_with_subdomain() {
- const TEST_URI = uri("http://www.mozilla.org/foo");
+ const TEST_URI = Services.io.newURI("http://www.mozilla.org/foo");
do_check_false(await promiseIsURIVisited(TEST_URI));
await PlacesTestUtils.addVisits(TEST_URI);
do_check_true(await promiseIsURIVisited(TEST_URI));
@@ -256,7 +225,7 @@ async function test_history_cleared_with_subdomain() {
}
async function test_history_not_cleared_with_uri_contains_domain() {
- const TEST_URI = uri("http://ilovemozilla.org/foo");
+ const TEST_URI = Services.io.newURI("http://ilovemozilla.org/foo");
do_check_false(await promiseIsURIVisited(TEST_URI));
await PlacesTestUtils.addVisits(TEST_URI);
do_check_true(await promiseIsURIVisited(TEST_URI));
@@ -311,9 +280,7 @@ async function test_login_manager_disabled_hosts_not_cleared_with_uri_contains_d
check_disabled_host(TEST_HOST, true);
// Reset state
- let lm = Cc["@mozilla.org/login-manager;1"].
- getService(Ci.nsILoginManager);
- lm.setLoginSavingEnabled(TEST_HOST, true);
+ Services.logins.setLoginSavingEnabled(TEST_HOST, true);
check_disabled_host(TEST_HOST, false);
}
@@ -337,37 +304,33 @@ async function test_login_manager_logins_not_cleared_with_uri_contains_domain()
await ForgetAboutSite.removeDataFromDomain("mozilla.org");
check_login_exists(TEST_HOST, true);
- let lm = Cc["@mozilla.org/login-manager;1"].
- getService(Ci.nsILoginManager);
- lm.removeAllLogins();
+ Services.logins.removeAllLogins();
check_login_exists(TEST_HOST, false);
}
// Permission Manager
async function test_permission_manager_cleared_with_direct_match() {
- const TEST_URI = uri("http://mozilla.org");
+ const TEST_URI = Services.io.newURI("http://mozilla.org");
add_permission(TEST_URI);
await ForgetAboutSite.removeDataFromDomain("mozilla.org");
check_permission_exists(TEST_URI, false);
}
async function test_permission_manager_cleared_with_subdomain() {
- const TEST_URI = uri("http://www.mozilla.org");
+ const TEST_URI = Services.io.newURI("http://www.mozilla.org");
add_permission(TEST_URI);
await ForgetAboutSite.removeDataFromDomain("mozilla.org");
check_permission_exists(TEST_URI, false);
}
async function test_permission_manager_not_cleared_with_uri_contains_domain() {
- const TEST_URI = uri("http://ilovemozilla.org");
+ const TEST_URI = Services.io.newURI("http://ilovemozilla.org");
add_permission(TEST_URI);
await ForgetAboutSite.removeDataFromDomain("mozilla.org");
check_permission_exists(TEST_URI, true);
// Reset state
- let pm = Cc["@mozilla.org/permissionmanager;1"].
- getService(Ci.nsIPermissionManager);
- pm.removeAll();
+ Services.perms.removeAll();
check_permission_exists(TEST_URI, false);
}
@@ -392,7 +355,7 @@ function waitForPurgeNotification() {
// Content Preferences
async function test_content_preferences_cleared_with_direct_match() {
- const TEST_URI = uri("http://mozilla.org");
+ const TEST_URI = Services.io.newURI("http://mozilla.org");
do_check_false(await preference_exists(TEST_URI));
await add_preference(TEST_URI);
do_check_true(await preference_exists(TEST_URI));
@@ -402,7 +365,7 @@ async function test_content_preferences_cleared_with_direct_match() {
}
async function test_content_preferences_cleared_with_subdomain() {
- const TEST_URI = uri("http://www.mozilla.org");
+ const TEST_URI = Services.io.newURI("http://www.mozilla.org");
do_check_false(await preference_exists(TEST_URI));
await add_preference(TEST_URI);
do_check_true(await preference_exists(TEST_URI));
@@ -412,7 +375,7 @@ async function test_content_preferences_cleared_with_subdomain() {
}
async function test_content_preferences_not_cleared_with_uri_contains_domain() {
- const TEST_URI = uri("http://ilovemozilla.org");
+ const TEST_URI = Services.io.newURI("http://ilovemozilla.org");
do_check_false(await preference_exists(TEST_URI));
await add_preference(TEST_URI);
do_check_true(await preference_exists(TEST_URI));
@@ -428,9 +391,7 @@ async function test_content_preferences_not_cleared_with_uri_contains_domain() {
function push_registration_exists(aURL, ps) {
return new Promise(resolve => {
- let ssm = Cc["@mozilla.org/scriptsecuritymanager;1"]
- .getService(Ci.nsIScriptSecurityManager);
- let principal = ssm.createCodebasePrincipalFromOrigin(aURL);
+ let principal = Services.scriptSecurityManager.createCodebasePrincipalFromOrigin(aURL);
return ps.getSubscription(aURL, principal, (status, record) => {
if (!Components.isSuccessCode(status)) {
resolve(false);
@@ -509,36 +470,30 @@ async function test_cache_cleared() {
// the API is well tested, and that when we get the observer
// notification, we have actually cleared the cache.
// This seems to happen asynchronously...
- let os = Cc["@mozilla.org/observer-service;1"].
- getService(Ci.nsIObserverService);
let observer = {
observe(aSubject, aTopic, aData) {
- os.removeObserver(observer, "cacheservice:empty-cache");
+ Services.obs.removeObserver(observer, "cacheservice:empty-cache");
// Shutdown the download manager.
Services.obs.notifyObservers(null, "quit-application");
do_test_finished();
}
};
- os.addObserver(observer, "cacheservice:empty-cache");
+ Services.obs.addObserver(observer, "cacheservice:empty-cache");
await ForgetAboutSite.removeDataFromDomain("mozilla.org");
do_test_pending();
}
async function test_storage_cleared() {
function getStorageForURI(aURI) {
- let ssm = Cc["@mozilla.org/scriptsecuritymanager;1"]
- .getService(Ci.nsIScriptSecurityManager);
- let principal = ssm.createCodebasePrincipal(aURI, {});
+ let principal = Services.scriptSecurityManager.createCodebasePrincipal(aURI, {});
- let dsm = Cc["@mozilla.org/dom/localStorage-manager;1"].
- getService(Ci.nsIDOMStorageManager);
- return dsm.createStorage(null, principal, "");
+ return Services.domStorageManager.createStorage(null, principal, "");
}
let s = [
- getStorageForURI(uri("http://mozilla.org")),
- getStorageForURI(uri("http://my.mozilla.org")),
- getStorageForURI(uri("http://ilovemozilla.org")),
+ getStorageForURI(Services.io.newURI("http://mozilla.org")),
+ getStorageForURI(Services.io.newURI("http://my.mozilla.org")),
+ getStorageForURI(Services.io.newURI("http://ilovemozilla.org")),
];
for (let i = 0; i < s.length; ++i) {
diff --git a/toolkit/modules/BrowserUtils.jsm b/toolkit/modules/BrowserUtils.jsm
index a522e6d3ae99..eb173e356872 100644
--- a/toolkit/modules/BrowserUtils.jsm
+++ b/toolkit/modules/BrowserUtils.jsm
@@ -74,8 +74,6 @@ this.BrowserUtils = {
* safe mode if it is already in safe mode.
*/
restartApplication() {
- let appStartup = Cc["@mozilla.org/toolkit/app-startup;1"]
- .getService(Ci.nsIAppStartup);
let cancelQuit = Cc["@mozilla.org/supports-PRBool;1"]
.createInstance(Ci.nsISupportsPRBool);
Services.obs.notifyObservers(cancelQuit, "quit-application-requested", "restart");
@@ -84,10 +82,10 @@ this.BrowserUtils = {
}
// if already in safe mode restart in safe mode
if (Services.appinfo.inSafeMode) {
- appStartup.restartInSafeMode(Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart);
+ Services.startup.restartInSafeMode(Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart);
return undefined;
}
- appStartup.quit(Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart);
+ Services.startup.quit(Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart);
return undefined;
},
@@ -550,10 +548,8 @@ this.BrowserUtils = {
}
if (delimitedAtStart && delimitedAtEnd) {
- let uriFixup = Cc["@mozilla.org/docshell/urifixup;1"]
- .getService(Ci.nsIURIFixup);
try {
- url = uriFixup.createFixupURI(linkText, uriFixup.FIXUP_FLAG_NONE);
+ url = Services.uriFixup.createFixupURI(linkText, Services.uriFixup.FIXUP_FLAG_NONE);
} catch (ex) {}
}
}
diff --git a/toolkit/modules/Finder.jsm b/toolkit/modules/Finder.jsm
index 0546a321e362..6816de38f4f0 100644
--- a/toolkit/modules/Finder.jsm
+++ b/toolkit/modules/Finder.jsm
@@ -312,15 +312,14 @@ Finder.prototype = {
}
let fastFind = this._fastFind;
- const fm = Cc["@mozilla.org/focus-manager;1"].getService(Ci.nsIFocusManager);
try {
// Try to find the best possible match that should receive focus and
// block scrolling on focus since find already scrolls. Further
// scrolling is due to user action, so don't override this.
if (fastFind.foundLink) {
- fm.setFocus(fastFind.foundLink, fm.FLAG_NOSCROLL);
+ Services.focus.setFocus(fastFind.foundLink, Services.focus.FLAG_NOSCROLL);
} else if (fastFind.foundEditable) {
- fm.setFocus(fastFind.foundEditable, fm.FLAG_NOSCROLL);
+ Services.focus.setFocus(fastFind.foundEditable, Services.focus.FLAG_NOSCROLL);
fastFind.collapseSelection();
} else {
this._getWindow().focus();
diff --git a/toolkit/modules/InlineSpellChecker.jsm b/toolkit/modules/InlineSpellChecker.jsm
index 0b21373b09b8..fea46ea85ad3 100644
--- a/toolkit/modules/InlineSpellChecker.jsm
+++ b/toolkit/modules/InlineSpellChecker.jsm
@@ -12,6 +12,8 @@ const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
+Cu.import("resource://gre/modules/Services.jsm");
+
this.InlineSpellChecker = function InlineSpellChecker(aEditor) {
this.init(aEditor);
this.mAddedWordStack = []; // We init this here to preserve it between init/uninit calls
@@ -258,11 +260,9 @@ InlineSpellChecker.prototype = {
if (!gLanguageBundle) {
// Create the bundles for language and region names.
- var bundleService = Components.classes["@mozilla.org/intl/stringbundle;1"]
- .getService(Components.interfaces.nsIStringBundleService);
- gLanguageBundle = bundleService.createBundle(
+ gLanguageBundle = Services.strings.createBundle(
"chrome://global/locale/languageNames.properties");
- gRegionBundle = bundleService.createBundle(
+ gRegionBundle = Services.strings.createBundle(
"chrome://global/locale/regionNames.properties");
}
diff --git a/toolkit/modules/Log.jsm b/toolkit/modules/Log.jsm
index 40f134d75972..2223cbcc548e 100644
--- a/toolkit/modules/Log.jsm
+++ b/toolkit/modules/Log.jsm
@@ -20,6 +20,8 @@ XPCOMUtils.defineLazyModuleGetter(this, "OS",
"resource://gre/modules/osfile.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "Task",
"resource://gre/modules/Task.jsm");
+XPCOMUtils.defineLazyModuleGetter(this, "Services",
+ "resource://gre/modules/Services.jsm");
const INTERNAL_FIELDS = new Set(["_level", "_message", "_time", "_namespace"]);
@@ -757,8 +759,7 @@ ConsoleAppender.prototype = {
},
doAppend: function CApp_doAppend(formatted) {
- Cc["@mozilla.org/consoleservice;1"].
- getService(Ci.nsIConsoleService).logStringMessage(formatted);
+ Services.console.logStringMessage(formatted);
}
};
diff --git a/toolkit/modules/PopupNotifications.jsm b/toolkit/modules/PopupNotifications.jsm
index ae41c76a47fd..826c22d607d3 100644
--- a/toolkit/modules/PopupNotifications.jsm
+++ b/toolkit/modules/PopupNotifications.jsm
@@ -481,8 +481,7 @@ PopupNotifications.prototype = {
notifications.push(notification);
let isActiveBrowser = this._isActiveBrowser(browser);
- let fm = Cc["@mozilla.org/focus-manager;1"].getService(Ci.nsIFocusManager);
- let isActiveWindow = fm.activeWindow == this.window;
+ let isActiveWindow = Services.focus.activeWindow == this.window;
if (isActiveBrowser) {
if (isActiveWindow) {
diff --git a/toolkit/modules/RemoteWebProgress.jsm b/toolkit/modules/RemoteWebProgress.jsm
index f6c7e91f2cf6..2e7765827c77 100644
--- a/toolkit/modules/RemoteWebProgress.jsm
+++ b/toolkit/modules/RemoteWebProgress.jsm
@@ -10,17 +10,13 @@ const Cc = Components.classes;
const Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-
-function newURI(spec) {
- return Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService)
- .newURI(spec);
-}
+Cu.import("resource://gre/modules/Services.jsm");
function RemoteWebProgressRequest(spec, originalSpec, requestCPOW) {
this.wrappedJSObject = this;
- this._uri = newURI(spec);
- this._originalURI = newURI(originalSpec);
+ this._uri = Services.io.newURI(spec);
+ this._originalURI = Services.io.newURI(originalSpec);
this._requestCPOW = requestCPOW;
}
@@ -239,7 +235,7 @@ RemoteWebProgressManager.prototype = {
switch (aMessage.name) {
case "Content:StateChange":
if (isTopLevel) {
- this._browser._documentURI = newURI(json.documentURI);
+ this._browser._documentURI = Services.io.newURI(json.documentURI);
}
this._callProgressListeners(
Ci.nsIWebProgress.NOTIFY_STATE_ALL, "onStateChange", webProgress,
@@ -248,7 +244,7 @@ RemoteWebProgressManager.prototype = {
break;
case "Content:LocationChange":
- let location = newURI(json.location);
+ let location = Services.io.newURI(json.location);
let flags = json.flags;
let remoteWebNav = this._browser._remoteWebNavigationImpl;
@@ -258,7 +254,7 @@ RemoteWebProgressManager.prototype = {
if (isTopLevel) {
remoteWebNav._currentURI = location;
- this._browser._documentURI = newURI(json.documentURI);
+ this._browser._documentURI = Services.io.newURI(json.documentURI);
this._browser._contentTitle = json.title;
this._browser._imageDocument = null;
this._browser._contentPrincipal = json.principal;
diff --git a/toolkit/modules/ResetProfile.jsm b/toolkit/modules/ResetProfile.jsm
index 5be46bfed4d2..a699e0c7d974 100644
--- a/toolkit/modules/ResetProfile.jsm
+++ b/toolkit/modules/ResetProfile.jsm
@@ -59,7 +59,6 @@ this.ResetProfile = {
.getService(Ci.nsIEnvironment);
env.set("MOZ_RESET_PROFILE_RESTART", "1");
- let appStartup = Cc["@mozilla.org/toolkit/app-startup;1"].getService(Ci.nsIAppStartup);
- appStartup.quit(Ci.nsIAppStartup.eForceQuit | Ci.nsIAppStartup.eRestart);
+ Services.startup.quit(Ci.nsIAppStartup.eForceQuit | Ci.nsIAppStartup.eRestart);
},
};
diff --git a/toolkit/modules/Troubleshoot.jsm b/toolkit/modules/Troubleshoot.jsm
index 75687363bc44..03bcbd43c17d 100644
--- a/toolkit/modules/Troubleshoot.jsm
+++ b/toolkit/modules/Troubleshoot.jsm
@@ -170,13 +170,9 @@ this.Troubleshoot = {
var dataProviders = {
application: function application(done) {
-
- let sysInfo = Cc["@mozilla.org/system-info;1"].
- getService(Ci.nsIPropertyBag2);
-
let data = {
name: Services.appinfo.name,
- osVersion: sysInfo.getProperty("name") + " " + sysInfo.getProperty("version"),
+ osVersion: Services.sysinfo.getProperty("name") + " " + Services.sysinfo.getProperty("version"),
version: AppConstants.MOZ_APP_VERSION_DISPLAY,
buildID: Services.appinfo.appBuildID,
userAgent: Cc["@mozilla.org/network/protocol;1?name=http"].
@@ -192,10 +188,8 @@ var dataProviders = {
try {
data.vendor = Services.prefs.getCharPref("app.support.vendor");
} catch (e) {}
- let urlFormatter = Cc["@mozilla.org/toolkit/URLFormatterService;1"].
- getService(Ci.nsIURLFormatter);
try {
- data.supportURL = urlFormatter.formatURLPref("app.support.baseURL");
+ data.supportURL = Services.urlFormatter.formatURLPref("app.support.baseURL");
} catch (e) {}
data.numTotalWindows = 0;
@@ -692,11 +686,9 @@ if (AppConstants.MOZ_SANDBOX) {
"hasPrivilegedUserNamespaces", "hasUserNamespaces",
"canSandboxContent", "canSandboxMedia"];
- let sysInfo = Cc["@mozilla.org/system-info;1"].
- getService(Ci.nsIPropertyBag2);
for (let key of keys) {
- if (sysInfo.hasKey(key)) {
- data[key] = sysInfo.getPropertyAsBool(key);
+ if (Services.sysinfo.hasKey(key)) {
+ data[key] = Services.sysinfo.getPropertyAsBool(key);
}
}
diff --git a/toolkit/modules/debug.js b/toolkit/modules/debug.js
index d1af75f52f1d..1f7c4cb43ba1 100644
--- a/toolkit/modules/debug.js
+++ b/toolkit/modules/debug.js
@@ -10,6 +10,12 @@
this.EXPORTED_SYMBOLS = ["NS_ASSERT"];
+var Cu = Components.utils;
+
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+XPCOMUtils.defineLazyModuleGetter(this, "Services",
+ "resource://gre/modules/Services.jsm");
+
var gTraceOnAssert = false;
/**
@@ -34,9 +40,7 @@ this.NS_ASSERT = function NS_ASSERT(condition, message) {
return;
var releaseBuild = true;
- var defB = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefService)
- .getDefaultBranch(null);
+ var defB = Services.prefs.getDefaultBranch(null);
try {
switch (defB.getCharPref("app.update.channel")) {
case "nightly":
diff --git a/toolkit/modules/tests/xpcshell/test_Preferences.js b/toolkit/modules/tests/xpcshell/test_Preferences.js
index 65ecb102b8ad..63c5353c4442 100644
--- a/toolkit/modules/tests/xpcshell/test_Preferences.js
+++ b/toolkit/modules/tests/xpcshell/test_Preferences.js
@@ -114,10 +114,7 @@ add_test(function test_set_unsupported_pref() {
// Make sure that we can get a string pref that we didn't set ourselves.
add_test(function test_get_string_pref() {
- let svc = Cc["@mozilla.org/preferences-service;1"].
- getService(Ci.nsIPrefService).
- getBranch("");
- svc.setCharPref("test_get_string_pref", "a normal string");
+ Services.prefs.setCharPref("test_get_string_pref", "a normal string");
do_check_eq(Preferences.get("test_get_string_pref"), "a normal string");
// Clean up.
@@ -127,14 +124,11 @@ add_test(function test_get_string_pref() {
});
add_test(function test_get_localized_string_pref() {
- let svc = Cc["@mozilla.org/preferences-service;1"].
- getService(Ci.nsIPrefService).
- getBranch("");
let prefName = "test_get_localized_string_pref";
let localizedString = Cc["@mozilla.org/pref-localizedstring;1"]
.createInstance(Ci.nsIPrefLocalizedString);
localizedString.data = "a localized string";
- svc.setComplexValue(prefName, Ci.nsIPrefLocalizedString, localizedString);
+ Services.prefs.setComplexValue(prefName, Ci.nsIPrefLocalizedString, localizedString);
do_check_eq(Preferences.get(prefName, null, Ci.nsIPrefLocalizedString),
"a localized string");
diff --git a/toolkit/profile/content/createProfileWizard.js b/toolkit/profile/content/createProfileWizard.js
index 7fe0341f6591..c8b4ca4dfddf 100644
--- a/toolkit/profile/content/createProfileWizard.js
+++ b/toolkit/profile/content/createProfileWizard.js
@@ -6,6 +6,7 @@ const C = Components.classes;
const I = Components.interfaces;
Components.utils.import("resource://gre/modules/AppConstants.jsm");
+Components.utils.import("resource://gre/modules/Services.jsm");
const ToolkitProfileService = "@mozilla.org/toolkit/profile-service;1";
@@ -26,8 +27,7 @@ function initWizard() {
gProfileService = C[ToolkitProfileService].getService(I.nsIToolkitProfileService);
gProfileManagerBundle = document.getElementById("bundle_profileManager");
- var dirService = C["@mozilla.org/file/directory_service;1"].getService(I.nsIProperties);
- gDefaultProfileParent = dirService.get("DefProfRt", I.nsIFile);
+ gDefaultProfileParent = Services.dirsvc.get("DefProfRt", I.nsIFile);
// Initialize the profile location display.
gProfileDisplay = document.getElementById("profileDisplay").firstChild;
@@ -183,10 +183,8 @@ function onFinish() {
gProfileManagerBundle.getString("profileCreationFailed");
var profileCreationFailedTitle =
gProfileManagerBundle.getString("profileCreationFailedTitle");
- var promptService = C["@mozilla.org/embedcomp/prompt-service;1"].
- getService(I.nsIPromptService);
- promptService.alert(window, profileCreationFailedTitle,
- profileCreationFailed + "\n" + e);
+ Services.prompt.alert(window, profileCreationFailedTitle,
+ profileCreationFailed + "\n" + e);
return false;
}
diff --git a/toolkit/xre/test/browser_checkdllblockliststate.js b/toolkit/xre/test/browser_checkdllblockliststate.js
index e7ce691323b3..19d17f67a893 100644
--- a/toolkit/xre/test/browser_checkdllblockliststate.js
+++ b/toolkit/xre/test/browser_checkdllblockliststate.js
@@ -4,13 +4,9 @@
// Tests that the dll blocklist initializes correctly during test runs.
add_task(async function test() {
await BrowserTestUtils.withNewTab({gBrowser, url: "about:blank" }, function(browser) {
- ok(Components.classes["@mozilla.org/xre/app-info;1"]
- .getService(Ci.nsIXULRuntime)
- .windowsDLLBlocklistStatus,
+ ok(Services.appinfo.windowsDLLBlocklistStatus,
"Windows dll blocklist status should be true, indicating it is " +
"running properly. A failure in this test is considered a " +
"release blocker.");
});
});
-
-