| OLD | NEW |
| 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 {TimeLine} = require("timeline"); | 14 let {TimeLine} = require("timeline"); |
| 15 | 15 |
| 16 TimeLine.enter("Adblock Plus startup"); | 16 TimeLine.enter("Adblock Plus startup"); |
| 17 let {Prefs} = require("prefs"); |
| 18 TimeLine.log("Done loading preferences"); |
| 17 registerPublicAPI(); | 19 registerPublicAPI(); |
| 18 TimeLine.log("Done registering public API"); | 20 TimeLine.log("Done registering public API"); |
| 19 require("filterListener"); | 21 require("filterListener"); |
| 20 TimeLine.log("Done loading filter listener"); | 22 TimeLine.log("Done loading filter listener"); |
| 21 require("contentPolicy"); | 23 require("contentPolicy"); |
| 22 TimeLine.log("Done loading content policy"); | 24 TimeLine.log("Done loading content policy"); |
| 23 require("synchronizer"); | 25 require("synchronizer"); |
| 24 TimeLine.log("Done loading subscription synchronizer"); | 26 TimeLine.log("Done loading subscription synchronizer"); |
| 25 require("sync"); | 27 require("sync"); |
| 26 TimeLine.log("Done loading sync support"); | 28 TimeLine.log("Done loading sync support"); |
| 27 require("ui"); | 29 require("ui"); |
| 28 TimeLine.log("Done loading UI integration code"); | 30 TimeLine.log("Done loading UI integration code"); |
| 31 if (!Prefs.correctTyposAsked || (Prefs.correctTyposAsked && Prefs.correctTypos)) |
| 32 { |
| 33 require("typoFixer"); |
| 34 TimeLine.log("Done loading typo correction"); |
| 35 } |
| 36 else |
| 37 { |
| 38 let onPrefChange = function(name) |
| 39 { |
| 40 if (name == "correctTypos") |
| 41 { |
| 42 require("typoFixer"); |
| 43 Prefs.removeListener(onPrefChange); |
| 44 } |
| 45 } |
| 46 |
| 47 Prefs.addListener(onPrefChange); |
| 48 } |
| 29 TimeLine.leave("Started up"); | 49 TimeLine.leave("Started up"); |
| 30 | 50 |
| 31 function registerPublicAPI() | 51 function registerPublicAPI() |
| 32 { | 52 { |
| 33 let {addonRoot} = require("info"); | 53 let {addonRoot} = require("info"); |
| 34 | 54 |
| 35 let uri = Services.io.newURI(addonRoot + "lib/Public.jsm", null, null); | 55 let uri = Services.io.newURI(addonRoot + "lib/Public.jsm", null, null); |
| 36 if (uri instanceof Ci.nsIMutable) | 56 if (uri instanceof Ci.nsIMutable) |
| 37 uri.mutable = false; | 57 uri.mutable = false; |
| 38 | 58 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 51 | 71 |
| 52 let registrar = Components.manager.QueryInterface(Ci.nsIComponentRegistrar); | 72 let registrar = Components.manager.QueryInterface(Ci.nsIComponentRegistrar); |
| 53 registrar.registerFactory(classID, "Adblock Plus public API URL", contractID,
factory); | 73 registrar.registerFactory(classID, "Adblock Plus public API URL", contractID,
factory); |
| 54 | 74 |
| 55 onShutdown.add(function() | 75 onShutdown.add(function() |
| 56 { | 76 { |
| 57 registrar.unregisterFactory(classID, factory); | 77 registrar.unregisterFactory(classID, factory); |
| 58 Cu.unload(uri.spec); | 78 Cu.unload(uri.spec); |
| 59 }); | 79 }); |
| 60 } | 80 } |
| OLD | NEW |