From d3ca13930d762d2a0842cae5f118eebea2c274a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adomas=20Ven=C4=8Dkauskas?= Date: Thu, 29 Sep 2016 16:21:37 +0300 Subject: [PATCH 1/2] Update http server endpoint --- chrome/content/zotero/xpcom/server_connector.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/server_connector.js b/chrome/content/zotero/xpcom/server_connector.js index a7f0ac050..030d2dd1b 100644 --- a/chrome/content/zotero/xpcom/server_connector.js +++ b/chrome/content/zotero/xpcom/server_connector.js @@ -89,7 +89,7 @@ Zotero.Server.Connector.GetTranslators.prototype = { // Translator data var me = this; if(data.url) { - Zotero.Translators.getWebTranslatorsForLocation(data.url).then(function(data) { + Zotero.Translators.getWebTranslatorsForLocation(data.url, data.rootUrl).then(function(data) { sendResponseCallback(200, "application/json", JSON.stringify(me._serializeTranslators(data[0]))); }); From a76256c7f726a0841319ac434b7836e54b51ec13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adomas=20Ven=C4=8Dkauskas?= Date: Mon, 3 Oct 2016 15:16:20 +0300 Subject: [PATCH 2/2] Connector translator targetAll support changes Addresses #1021 --- .../zotero/xpcom/connector/translator.js | 135 +++++++++++------- .../content/zotero/xpcom/server_connector.js | 11 +- .../zotero/xpcom/translation/translators.js | 18 ++- 3 files changed, 95 insertions(+), 69 deletions(-) diff --git a/chrome/content/zotero/xpcom/connector/translator.js b/chrome/content/zotero/xpcom/connector/translator.js index 56acb305f..7c90db0d9 100644 --- a/chrome/content/zotero/xpcom/connector/translator.js +++ b/chrome/content/zotero/xpcom/connector/translator.js @@ -141,66 +141,47 @@ Zotero.Translators = new function() { * @return {Promise} - A promise for a 2-item array containing an array of translators and * an array of functions for converting URLs from proper to proxied forms */ - this.getWebTranslatorsForLocation = Zotero.Promise.method(function (uri) { + this.getWebTranslatorsForLocation = Zotero.Promise.method(function (URI, rootURI) { + var isFrame = URI !== rootURI; if(!_initialized) Zotero.Translators.init(); var allTranslators = _cache["web"]; var potentialTranslators = []; - var searchURIs = [uri]; - - Zotero.debug("Translators: Looking for translators for "+uri); - - // if there is a subdomain that is also a TLD, also test against URI with the domain - // dropped after the TLD - // (i.e., www.nature.com.mutex.gmu.edu => www.nature.com) - var m = /^(https?:\/\/)([^\/]+)/i.exec(uri); - var properHosts = []; - var proxyHosts = []; - if(m) { - // First, drop the 0- if it exists (this is an III invention) - var host = m[2]; - if(host.substr(0, 2) === "0-") host = host.substr(2); - var hostnames = host.split("."); - for(var i=1; i www.nature.com) + var m = /^(https?:\/\/)([^\/]+)/i.exec(URI); + if (m) { + // First, drop the 0- if it exists (this is an III invention) + var host = m[2]; + if(host.substr(0, 2) === "0-") host = host.substr(2); + var hostnames = host.split("."); + for (var i=1; i