michael@0: /* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: const enablePrivilege = netscape.security.PrivilegeManager.enablePrivilege; michael@0: const IOSERVICE_CTRID = "@mozilla.org/network/io-service;1"; michael@0: const nsIIOService = Components.interfaces.nsIIOService; michael@0: const SIS_CTRID = "@mozilla.org/scriptableinputstream;1"; michael@0: const nsISIS = Components.interfaces.nsIScriptableInputStream; michael@0: const nsIFilePicker = Components.interfaces.nsIFilePicker; michael@0: const STDURL_CTRID = "@mozilla.org/network/standard-url;1"; michael@0: const nsIURI = Components.interfaces.nsIURI; michael@0: michael@0: var gStop = false; michael@0: michael@0: function loadFile(aUriSpec) michael@0: { michael@0: enablePrivilege('UniversalXPConnect'); michael@0: var serv = Components.classes[IOSERVICE_CTRID]. michael@0: getService(nsIIOService); michael@0: if (!serv) { michael@0: throw Components.results.ERR_FAILURE; michael@0: } michael@0: var chan = serv.newChannel(aUriSpec, null, null); michael@0: var instream = michael@0: Components.classes[SIS_CTRID].createInstance(nsISIS); michael@0: instream.init(chan.open()); michael@0: michael@0: return instream.read(instream.available()); michael@0: } michael@0: michael@0: function dump20(aVal) michael@0: { michael@0: const pads = ' '; michael@0: if (typeof(aVal)=='string') michael@0: out = aVal; michael@0: else if (typeof(aVal)=='number') michael@0: out = Number(aVal).toFixed(2); michael@0: else michael@0: out = new String(aVal); michael@0: dump(pads.substring(0, 20 - out.length)); michael@0: dump(out); michael@0: }