LEFT | RIGHT |
1 /* | 1 /* |
2 * This Source Code is subject to the terms of the Mozilla Public License | 2 * This Source Code is subject to the terms of the Mozilla Public License |
3 * version 2.0 (the "License"). You can obtain a copy of the License at | 3 * version 2.0 (the "License"). You can obtain a copy of the License at |
4 * http://mozilla.org/MPL/2.0/. | 4 * http://mozilla.org/MPL/2.0/. |
5 */ | 5 */ |
6 | 6 |
7 /** | 7 /** |
8 * @fileOverview Starts up Adblock Plus | 8 * @fileOverview Starts up Adblock Plus |
9 */ | 9 */ |
10 | 10 |
11 Cu.import("resource://gre/modules/XPCOMUtils.jsm"); | 11 Cu.import("resource://gre/modules/XPCOMUtils.jsm"); |
12 Cu.import("resource://gre/modules/Services.jsm"); | 12 Cu.import("resource://gre/modules/Services.jsm"); |
13 | 13 |
14 let {Prefs} = require("prefs"); | |
15 let {TimeLine} = require("timeline"); | 14 let {TimeLine} = require("timeline"); |
16 | 15 |
17 TimeLine.enter("Adblock Plus startup"); | 16 TimeLine.enter("Adblock Plus startup"); |
| 17 let {Prefs} = require("prefs"); |
| 18 TimeLine.log("Done loading preferences"); |
18 registerPublicAPI(); | 19 registerPublicAPI(); |
19 TimeLine.log("Done registering public API"); | 20 TimeLine.log("Done registering public API"); |
20 require("filterListener"); | 21 require("filterListener"); |
21 TimeLine.log("Done loading filter listener"); | 22 TimeLine.log("Done loading filter listener"); |
22 require("contentPolicy"); | 23 require("contentPolicy"); |
23 TimeLine.log("Done loading content policy"); | 24 TimeLine.log("Done loading content policy"); |
24 require("synchronizer"); | 25 require("synchronizer"); |
25 TimeLine.log("Done loading subscription synchronizer"); | 26 TimeLine.log("Done loading subscription synchronizer"); |
26 require("sync"); | 27 require("sync"); |
27 TimeLine.log("Done loading sync support"); | 28 TimeLine.log("Done loading sync support"); |
28 require("ui"); | 29 require("ui"); |
29 TimeLine.log("Done loading UI integration code"); | 30 TimeLine.log("Done loading UI integration code"); |
30 if (!Prefs.correctTyposAsked || (Prefs.correctTyposAsked && Prefs.correctTypos)) | 31 if (!Prefs.correctTyposAsked || (Prefs.correctTyposAsked && Prefs.correctTypos)) |
31 { | 32 { |
32 // Do not ask to opt-in if user found setting | |
33 if (!Prefs.correctTyposAsked) | |
34 { | |
35 let onPrefChange = function(name) | |
36 { | |
37 if (name == "correctTypos") | |
38 { | |
39 Prefs.correctTyposAsked = true; | |
40 Prefs.removeListener(onPrefChange); | |
41 } | |
42 } | |
43 | |
44 Prefs.addListener(onPrefChange); | |
45 } | |
46 | |
47 require("typoFixer"); | 33 require("typoFixer"); |
48 TimeLine.log("Done loading typo correction"); | 34 TimeLine.log("Done loading typo correction"); |
49 } | 35 } |
50 else | 36 else |
51 { | 37 { |
52 let onPrefChange = function(name) | 38 let onPrefChange = function(name) |
53 { | 39 { |
54 if (name == "correctTypos") | 40 if (name == "correctTypos") |
55 { | 41 { |
56 require("typoFixer"); | 42 require("typoFixer"); |
(...skipping 28 matching lines...) Expand all Loading... |
85 | 71 |
86 let registrar = Components.manager.QueryInterface(Ci.nsIComponentRegistrar); | 72 let registrar = Components.manager.QueryInterface(Ci.nsIComponentRegistrar); |
87 registrar.registerFactory(classID, "Adblock Plus public API URL", contractID,
factory); | 73 registrar.registerFactory(classID, "Adblock Plus public API URL", contractID,
factory); |
88 | 74 |
89 onShutdown.add(function() | 75 onShutdown.add(function() |
90 { | 76 { |
91 registrar.unregisterFactory(classID, factory); | 77 registrar.unregisterFactory(classID, factory); |
92 Cu.unload(uri.spec); | 78 Cu.unload(uri.spec); |
93 }); | 79 }); |
94 } | 80 } |
LEFT | RIGHT |