| 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 {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"); | 
|  29 require("typoFixer"); |  31 if (!Prefs.correctTyposAsked || (Prefs.correctTyposAsked && Prefs.correctTypos)) | 
|  30 TimeLine.log("Done loading typo correction"); |  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 } | 
|  31 TimeLine.leave("Started up"); |  49 TimeLine.leave("Started up"); | 
|  32  |  50  | 
|  33 function registerPublicAPI() |  51 function registerPublicAPI() | 
|  34 { |  52 { | 
|  35   let {addonRoot} = require("info"); |  53   let {addonRoot} = require("info"); | 
|  36  |  54  | 
|  37   let uri = Services.io.newURI(addonRoot + "lib/Public.jsm", null, null); |  55   let uri = Services.io.newURI(addonRoot + "lib/Public.jsm", null, null); | 
|  38   if (uri instanceof Ci.nsIMutable) |  56   if (uri instanceof Ci.nsIMutable) | 
|  39     uri.mutable = false; |  57     uri.mutable = false; | 
|  40  |  58  | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
|  53  |  71  | 
|  54   let registrar = Components.manager.QueryInterface(Ci.nsIComponentRegistrar); |  72   let registrar = Components.manager.QueryInterface(Ci.nsIComponentRegistrar); | 
|  55   registrar.registerFactory(classID, "Adblock Plus public API URL", contractID, 
    factory); |  73   registrar.registerFactory(classID, "Adblock Plus public API URL", contractID, 
    factory); | 
|  56  |  74  | 
|  57   onShutdown.add(function() |  75   onShutdown.add(function() | 
|  58   { |  76   { | 
|  59     registrar.unregisterFactory(classID, factory); |  77     registrar.unregisterFactory(classID, factory); | 
|  60     Cu.unload(uri.spec); |  78     Cu.unload(uri.spec); | 
|  61   }); |  79   }); | 
|  62 } |  80 } | 
| LEFT | RIGHT |