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:
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() {