www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit 156f2be26955cfa29979cf3bca40d85cb42ecc1f
parent 3b78e8ff39a1f8f7407b1d258476ac474f935acc
Author: Simon Kornblith <simon@simonster.com>
Date:   Tue,  1 Feb 2011 07:23:01 +0000

closes #1771, citeproc-js breaks initial Quick Copy drag after Firefox startup

caused by an XHR, which inexplicably breaks dragging behavior


Diffstat:
Mchrome/content/zotero/xpcom/cite.js | 21++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/chrome/content/zotero/xpcom/cite.js b/chrome/content/zotero/xpcom/cite.js @@ -196,15 +196,18 @@ Zotero.Cite.System.retrieveItem = function(item){ }; Zotero.Cite.System.retrieveLocale = function(lang) { - var xhr = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(); - xhr.open("GET", "chrome://zotero/content/locale/csl/locales-"+lang+".xml", false); - xhr.overrideMimeType("application/octet-stream"); - try { - xhr.send(); - return xhr.responseText; - } catch(e) { - return false; - } + let protHandler = Components.classes["@mozilla.org/network/protocol;1?name=chrome"] + .createInstance(Components.interfaces.nsIProtocolHandler); + let channel = protHandler.newChannel(protHandler.newURI("chrome://zotero/content/locale/csl/locales-"+lang+".xml", "UTF-8", null)); + let rawStream = channel.open(); + let converterStream = Components.classes["@mozilla.org/intl/converter-input-stream;1"] + .createInstance(Components.interfaces.nsIConverterInputStream); + converterStream.init(rawStream, "UTF-8", 65535, + Components.interfaces.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER); + let str = {}; + converterStream.readString(channel.contentLength, str); + converterStream.close(); + return str.value; }; Zotero.Cite.System.getAbbreviations = function() {