|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file, |
|
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 "use strict"; |
|
6 |
|
7 const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; |
|
8 Cu.import("resource://gre/modules/XPCOMUtils.jsm"); |
|
9 Cu.import("resource://gre/modules/Services.jsm"); |
|
10 |
|
11 this.IDService = function IDService() { |
|
12 this.wrappedJSObject = this; |
|
13 }; |
|
14 |
|
15 this.IDService.prototype = { |
|
16 classID: Components.ID("{4e0a0e98-b1d3-4745-a1eb-f815199dd06b}"), |
|
17 |
|
18 QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver, |
|
19 Ci.nsISupportsWeakReference]), |
|
20 |
|
21 observe: function observe(subject, topic, data) { |
|
22 switch (topic) { |
|
23 case "app-startup": |
|
24 Services.obs.addObserver(this, "final-ui-startup", true); |
|
25 break; |
|
26 case "final-ui-startup": |
|
27 // Startup DOMIdentity.jsm |
|
28 Cu.import("resource://gre/modules/DOMIdentity.jsm"); |
|
29 DOMIdentity._init(); |
|
30 break; |
|
31 } |
|
32 } |
|
33 }; |
|
34 |
|
35 this.NSGetFactory = XPCOMUtils.generateNSGetFactory([IDService]); |