From d8783a93a0c4f9880020723a79d3667173f60aec Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Sun, 1 Jul 2012 15:54:37 -0400 Subject: [PATCH] Update for new wrapping code and complain on attempts to activate E4X, part 2 --- .../xpcom/translation/translate_firefox.js | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/chrome/content/zotero/xpcom/translation/translate_firefox.js b/chrome/content/zotero/xpcom/translation/translate_firefox.js index f0e709c884..9492d6b0f5 100644 --- a/chrome/content/zotero/xpcom/translation/translate_firefox.js +++ b/chrome/content/zotero/xpcom/translation/translate_firefox.js @@ -731,17 +731,14 @@ Zotero.Translate.IO.Read.prototype = { }, "_getXML":function() { - if(this._mode == "xml/dom") { - try { - var xml = Zotero.Translate.IO.parseDOMXML(this._rawStream, this._charset, this.file.fileSize); - } catch(e) { - this._xmlInvalid = true; - throw e; - } - return (Zotero.isFx5 ? Zotero.Translate.SandboxManager.Fx5DOMWrapper(xml) : xml); - } else { - return this._readToString().replace(/<\?xml[^>]+\?>/, ""); + if(this.bytesRead !== 0) this._seekToStart(this._charset); + try { + var xml = Zotero.Translate.IO.parseDOMXML(this._rawStream, this._charset, this.file.fileSize); + } catch(e) { + this._xmlInvalid = true; + throw e; } + return (Zotero.isFx ? Zotero.Translate.DOMWrapper.wrap(xml) : xml); }, "init":function(newMode, callback) { @@ -751,7 +748,9 @@ Zotero.Translate.IO.Read.prototype = { this._seekToStart(this._charset); this._mode = newMode; - if(Zotero.Translate.IO.rdfDataModes.indexOf(this._mode) !== -1 && !this.RDF) { + if(newMode === "xml/e4x") { + throw "E4X is not supported"; + } else if(Zotero.Translate.IO.rdfDataModes.indexOf(this._mode) !== -1 && !this.RDF) { this._initRDF(); }