The Services.jsm JavaScript code module offers a wide assortment of lazy getters that simplify the process of obtaining references to commonly used services.
To use it, you first need to import the code module into your JavaScript scope:
Components.utils.import("resource://gre/modules/Services.jsm");
Then you can obtain references to services by simply accessing them from the Services object exported by the code module. For example, to obtain a reference to the preferences service:
var prefsService = Services.prefs;
Provided service getters
| Service accessor | Service interface | Service name |
androidBridge |
nsIAndroidBridge |
1 |
appinfo |
nsIXULAppInfonsIXULRuntime |
Application information service |
appShell |
nsIAppShellService |
Application shell service |
blocklist |
nsIBlocklistService |
Blocklist service |
cache |
nsICacheService |
Cache service |
cache2 |
nsICacheStorageService |
Cache storage service |
clipboard |
nsIClipboard |
Clipboard |
console |
nsIConsoleService |
Error console service |
contentPrefs |
nsIContentPrefService |
Content Preferences service |
cookies |
nsICookieManager2 |
Cookie Manager 2 service |
| cpmm | nsIMessageSender |
Child process message manager4 |
crashmanager |
CrashManager.jsm | |
dirsvc |
nsIDirectoryServicensIProperties |
Directory service |
domStorageManager |
nsIDOMStorageManager |
DOM Storage Manager |
DOMRequest |
nsIDOMRequestService |
DOMRequest service |
downloads |
nsIDownloadManager |
Download manager |
droppedLinkHandler |
nsIDroppedLinkHandler |
Dropped link handler service |
els |
nsIEventListenerService |
Event listener service |
eTLD |
nsIEffectiveTLDService |
EffectiveTLD service |
focus |
nsIFocusManager |
Focus manager |
io |
nsIIOServicensIIOService2 |
I/O Service |
locale |
nsILocaleService |
Locale service |
logins |
nsILoginManager |
Password Manager service |
metro |
nsIWinMetroUtils |
2 |
| mm | nsIMessageBroadcasternsIFrameScriptLoader |
Global frame message manager3 |
obs |
nsIObserverService |
Observer service |
perms |
nsIPermissionManager |
Permission manager service |
| ppmm | nsIMessageBroadcasternsIProcessScriptLoader |
Global parent process message manager3 |
prefs |
nsIPrefBranchnsIPrefBranch2nsIPrefService |
Preferences service |
prompt |
nsIPromptService |
Prompt service |
scriptloader |
mozIJSSubScriptLoader |
JavaScript subscript loader service |
scriptSecurityManager |
nsIScriptSecurityManager |
Script security manager |
search |
nsIBrowserSearchService |
Browser search service |
startup |
nsIAppStartup |
Application startup service |
storage |
mozIStorageService |
Storage API service |
strings |
nsIStringBundleService |
String bundle service |
sysinfo |
nsIPropertyBag2 |
System info service |
telemetry |
nsITelemetry |
Telemetry service |
tm |
nsIThreadManager |
Thread Manager service |
uriFixup |
nsIURIFixup |
URI Fixup service |
urlFormatter |
nsIURLFormatter |
URL Formatter service |
vc |
nsIVersionComparator |
Version comparator service |
wm |
nsIWindowMediator |
Window mediator service |
ww |
nsIWindowWatcher |
Window watcher service |
1 Mobile only
2 Windows only
3 Main process only
4 Child process only