| 161 | | var mimeInfoService = |
|---|
| 162 | | Components.classes["@mozilla.org/uriloader/external-helper-app-service;1"] |
|---|
| 163 | | .getService(Components.interfaces.nsIMIMEService); |
|---|
| 164 | | var mimeInfo = mimeInfoService.getFromTypeAndExtension( |
|---|
| 165 | | "application/x-userscript+javascript", "user.js" ); |
|---|
| 166 | | mimeInfo.preferredAction = mimeInfo.useHelperApp; |
|---|
| 167 | | mimeInfo.preferredApplicationHandler = appFile; |
|---|
| 168 | | mimeInfo.launchWithFile(docFile); |
|---|
| | 161 | var xulRuntime = Components.classes["@mozilla.org/xre/app-info;1"] |
|---|
| | 162 | .getService(Components.interfaces.nsIXULRuntime); |
|---|
| | 163 | if (xulRuntime.OS.toLowerCase().substring(0, 3) == "win") { |
|---|
| | 164 | var process = Components.classes["@mozilla.org/process/util;1"] |
|---|
| | 165 | .createInstance(Components.interfaces.nsIProcess); |
|---|
| | 166 | process.init(appFile); |
|---|
| | 167 | process.run(false, // blocking |
|---|
| | 168 | [docFile.path], // args |
|---|
| | 169 | 1); // number of args |
|---|
| | 170 | } else { |
|---|
| | 171 | var mimeInfoService = |
|---|
| | 172 | Components.classes["@mozilla.org/uriloader/external-helper-app-service;1"] |
|---|
| | 173 | .getService(Components.interfaces.nsIMIMEService); |
|---|
| | 174 | var mimeInfo = mimeInfoService.getFromTypeAndExtension( |
|---|
| | 175 | "application/x-userscript+javascript", "user.js" ); |
|---|
| | 176 | mimeInfo.preferredAction = mimeInfo.useHelperApp; |
|---|
| | 177 | mimeInfo.preferredApplicationHandler = appFile; |
|---|
| | 178 | mimeInfo.launchWithFile(docFile); |
|---|
| | 179 | } |
|---|