diff --git a/chrome/content/zotero/xpcom/connector/translator.js b/chrome/content/zotero/xpcom/connector/translator.js index 16615dad7..ec4548e65 100644 --- a/chrome/content/zotero/xpcom/connector/translator.js +++ b/chrome/content/zotero/xpcom/connector/translator.js @@ -366,8 +366,7 @@ Zotero.Translators.CodeGetter.prototype.getCodeFor = function(i) { const TRANSLATOR_REQUIRED_PROPERTIES = ["translatorID", "translatorType", "label", "creator", "target", "priority", "lastUpdated"]; -var TRANSLATOR_PASSING_PROPERTIES = TRANSLATOR_REQUIRED_PROPERTIES.concat(["displayOptions", "configOptions", - "hiddenPrefs", "browserSupport", "code", "runMode"]); +var TRANSLATOR_PASSING_PROPERTIES = TRANSLATOR_REQUIRED_PROPERTIES.concat(["browserSupport", "code", "runMode"]); var TRANSLATOR_SAVE_PROPERTIES = TRANSLATOR_REQUIRED_PROPERTIES.concat(["browserSupport"]); /** * @class Represents an individual translator @@ -386,7 +385,7 @@ var TRANSLATOR_SAVE_PROPERTIES = TRANSLATOR_REQUIRED_PROPERTIES.concat(["browser * s = Safari (WebKit & Nitro/Squirrelfish Extreme) * i = Internet Explorer * b = Bookmarklet - * v = Server (requires server translation when using a bookmarklet) + * v = Server * @property {Object} configOptions Configuration options for import/export * @property {Object} displayOptions Display options for export * @property {Object} hiddenPrefs Hidden preferences configurable through about:config @@ -422,10 +421,6 @@ Zotero.Translator.prototype.init = function(info) { this.runMode = Zotero.Translator.RUN_MODE_ZOTERO_STANDALONE; } - this._configOptions = info["configOptions"] ? info["configOptions"] : {}; - this._displayOptions = info["displayOptions"] ? info["displayOptions"] : {}; - this._hiddenPrefs = info["hiddenPrefs"] ? info["hiddenPrefs"] : {}; - if(this.translatorType & TRANSLATOR_TYPES["import"]) { // compile import regexp to match only file extension this.importRegexp = this.target ? new RegExp("\\."+this.target+"$", "i") : null; @@ -466,16 +461,6 @@ Zotero.Translator.prototype.getCode = function(callback) { ); } -Zotero.Translator.prototype.__defineGetter__("displayOptions", function() { - return Zotero.Utilities.deepCopy(this._displayOptions); -}); -Zotero.Translator.prototype.__defineGetter__("configOptions", function() { - return Zotero.Utilities.deepCopy(this._configOptions); -}); -Zotero.Translator.prototype.__defineGetter__("hiddenPrefs", function() { - return Zotero.Utilities.deepCopy(this._hiddenPrefs); -}); - /** * Log a translator-related error * @param {String} message The error message diff --git a/chrome/content/zotero/xpcom/server_connector.js b/chrome/content/zotero/xpcom/server_connector.js index cc77d31b7..1754eafd7 100755 --- a/chrome/content/zotero/xpcom/server_connector.js +++ b/chrome/content/zotero/xpcom/server_connector.js @@ -66,8 +66,7 @@ Zotero.Server.Connector.GetTranslators.prototype = { for each(var translator in translators) { let serializableTranslator = {}; for each(var key in ["translatorID", "translatorType", "label", "creator", "target", - "minVersion", "maxVersion", "configOptions", "displayOptions", "hiddenPrefs", "priority", - "browserSupport", "inRepository", "lastUpdated"]) { + "minVersion", "maxVersion", "priority", "browserSupport", "inRepository", "lastUpdated"]) { serializableTranslator[key] = translator[key]; } responseData.push(serializableTranslator); diff --git a/chrome/content/zotero/xpcom/translation/translate.js b/chrome/content/zotero/xpcom/translation/translate.js index f26e3a1eb..12c883c37 100644 --- a/chrome/content/zotero/xpcom/translation/translate.js +++ b/chrome/content/zotero/xpcom/translation/translate.js @@ -181,7 +181,7 @@ Zotero.Translate.Sandbox = { throw(new Error("getPref: preference must be a string")); } - var hp = translate._hiddenPrefs || {}; //_hiddenPrefs should already be {} if undefined + var hp = translate._translatorInfo.hiddenPrefs || {}; var value; try { @@ -757,6 +757,7 @@ Zotero.Translate.Base.prototype = { "init":function() { this._handlers = []; this._currentState = null; + this._translatorInfo = null; this.document = null; this.location = null; }, @@ -786,7 +787,6 @@ Zotero.Translate.Base.prototype = { } this.translator = null; - this._setDisplayOptions = null; if(typeof(translator) == "object") { // passed an object and not an ID if(translator.translatorID) { @@ -1352,7 +1352,6 @@ Zotero.Translate.Base.prototype = { this._runningAsyncProcesses = 0; this._returnValue = undefined; this._aborted = false; - this._hiddenPrefs = translator.hiddenPrefs; this.saveQueue = []; Zotero.debug("Translate: Parsing code for "+translator.label, 4); @@ -1366,6 +1365,7 @@ Zotero.Translate.Base.prototype = { this.complete(false, e); return; } + this._translatorInfo = this._sandboxManager.sandbox.ZOTERO_TRANSLATOR_INFO; if(callback) callback(); }, @@ -1848,7 +1848,7 @@ Zotero.Translate.Import.prototype._loadTranslator = function(translator, callbac * Prepare translator IO */ Zotero.Translate.Import.prototype._loadTranslatorPrepareIO = function(translator, callback) { - var configOptions = this._sandboxManager.sandbox.ZOTERO_TRANSLATOR_INFO.configOptions; + var configOptions = this._translatorInfo.configOptions; var dataMode = configOptions ? configOptions["dataMode"] : ""; var me = this; diff --git a/chrome/content/zotero/xpcom/translation/translator.js b/chrome/content/zotero/xpcom/translation/translator.js index cd7dc8f32..ea3415200 100644 --- a/chrome/content/zotero/xpcom/translation/translator.js +++ b/chrome/content/zotero/xpcom/translation/translator.js @@ -426,7 +426,7 @@ Zotero.Translators = new function() { * s = Safari (WebKit & Nitro/Squirrelfish Extreme) * i = Internet Explorer * b = Bookmarklet - * v = Server (requires server translation when using a bookmarklet) + * v = Server * @property {Object} configOptions Configuration options for import/export * @property {Object} displayOptions Display options for export * @property {Object} hiddenPrefs Hidden preferences configurable through about:config diff --git a/translators b/translators index 2c33d5d46..a14697a41 160000 --- a/translators +++ b/translators @@ -1 +1 @@ -Subproject commit 2c33d5d461cab0749702529e26686738e7a0b411 +Subproject commit a14697a41dcb6d51dc93cdafcdafe8a1cd1a2213