www

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

commit 7022379a87ecf22bd9978e7ab33df9c837f6990f
parent 52f4bd8f6753e5f42269cc936b48d49243a6b4d7
Author: Simon Kornblith <simon@simonster.com>
Date:   Mon, 29 Oct 2012 19:31:10 -0400

Fix RDF for Firefox 17

Diffstat:
Mchrome/content/zotero/xpcom/translation/translate.js | 27++++++++++++++++++++-------
1 file changed, 20 insertions(+), 7 deletions(-)

diff --git a/chrome/content/zotero/xpcom/translation/translate.js b/chrome/content/zotero/xpcom/translation/translate.js @@ -2465,7 +2465,7 @@ Zotero.Translate.IO._RDFSandbox.prototype = { } } - return containerElements; + return this._expose(containerElements); }, /** @@ -2498,7 +2498,7 @@ Zotero.Translate.IO._RDFSandbox.prototype = { for(var i in this._dataStore.subjectIndex) { returnArray.push(this._dataStore.subjectIndex[i][0].subject); } - return returnArray; + return this._expose(returnArray); }, /** @@ -2514,7 +2514,7 @@ Zotero.Translate.IO._RDFSandbox.prototype = { for(var i=0; i<statements.length; i++) { returnArray.push(statements[i].predicate.uri); } - return returnArray; + return this._expose(returnArray); }, /** @@ -2530,7 +2530,7 @@ Zotero.Translate.IO._RDFSandbox.prototype = { for(var i=0; i<statements.length; i++) { returnArray.push(statements[i].predicate.uri); } - return returnArray; + return this._expose(returnArray); }, /** @@ -2548,7 +2548,7 @@ Zotero.Translate.IO._RDFSandbox.prototype = { for(var i=0; i<statements.length; i++) { returnArray.push(statements[i].subject); } - return returnArray; + return this._expose(returnArray); }, /** @@ -2566,7 +2566,7 @@ Zotero.Translate.IO._RDFSandbox.prototype = { for(var i=0; i<statements.length; i++) { returnArray.push(statements[i].object.termType == "literal" ? statements[i].object.toString() : statements[i].object); } - return returnArray; + return this._expose(returnArray); }, /** @@ -2593,6 +2593,19 @@ Zotero.Translate.IO._RDFSandbox.prototype = { for(var i=0; i<statements.length; i++) { returnArray.push([statements[i].subject, statements[i].predicate, (statements[i].object.termType == "literal" ? statements[i].object.toString() : statements[i].object)]); } - return returnArray; + return this._expose(returnArray); + }, + + /** + * Set output so that it can be exposed to content in Firefox + */ + "_expose":function(arr) { + if(!Zotero.isFx || !arr instanceof Array) return arr; + var ep = {}; + for(var i=0; i<arr.length; i++) { + ep[i] = "rw"; + } + Object.defineProperty(arr, "__exposedProps__", {"value":ep}); + return arr; } }; \ No newline at end of file