|
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 |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 /* |
|
6 * -setDefaultBrowser commandline handler |
|
7 * Makes the current executable the "default browser". |
|
8 */ |
|
9 |
|
10 const Cc = Components.classes; |
|
11 const Ci = Components.interfaces; |
|
12 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); |
|
13 |
|
14 function nsSetDefaultBrowser() {} |
|
15 |
|
16 nsSetDefaultBrowser.prototype = { |
|
17 handle: function nsSetDefault_handle(aCmdline) { |
|
18 if (aCmdline.handleFlag("setDefaultBrowser", false)) { |
|
19 var shell = Cc["@mozilla.org/browser/shell-service;1"]. |
|
20 getService(Ci.nsIShellService); |
|
21 shell.setDefaultBrowser(true, true); |
|
22 } |
|
23 }, |
|
24 |
|
25 helpInfo: " -setDefaultBrowser Set this app as the default browser.\n", |
|
26 |
|
27 classID: Components.ID("{F57899D0-4E2C-4ac6-9E29-50C736103B0C}"), |
|
28 QueryInterface: XPCOMUtils.generateQI([Ci.nsICommandLineHandler]), |
|
29 }; |
|
30 |
|
31 this.NSGetFactory = XPCOMUtils.generateNSGetFactory([nsSetDefaultBrowser]); |