aboutsummaryrefslogtreecommitdiff
path: root/chrome/content/redirector.js
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/content/redirector.js')
-rw-r--r--chrome/content/redirector.js32
1 files changed, 7 insertions, 25 deletions
diff --git a/chrome/content/redirector.js b/chrome/content/redirector.js
index 62966d6..98d1c4b 100644
--- a/chrome/content/redirector.js
+++ b/chrome/content/redirector.js
@@ -67,11 +67,11 @@ var Redirector = {
//we need the original page to verify that it exists.
//Slow redirect will be done automatically.
if (redirectUrl) {
- if (!redirect.onlyIfLinkExists && !redirect.redirectUrl.startsWith('xpath:')) {
- RedirLib.debug('%1 matches %2, and it\'s not only if link exists and not an xpath expression. Can do instant redirect.'._(redirect.pattern, url));
+ if (redirect.redirectUrl.startsWith('xpath:')) {
+ RedirLib.msgBox(this.strings.getString('extensionName'), this.strings.getString('xpathDeprecated'));
+ } else if (!redirect.onlyIfLinkExists) {
+ RedirLib.debug('%1 matches %2, and it\'s not only if link exists. Can do instant redirect.'._(redirect.pattern, url));
return { 'url' : redirectUrl, 'pattern' : redirect.pattern};
- } else if (redirect.redirectUrl.startsWith('xpath:')) {
- RedirLib.debug('%1 matches %2, but the redirect is a xpath expression and so has to be a slow redirect'._(redirect.pattern, url));
} else {
RedirLib.debug('%1 matches %2, but it\'s "only if link exists" and so has to be a slow redirect'._(redirect.pattern, url));
}
@@ -148,29 +148,11 @@ var Redirector = {
goto : function(redirectUrl, pattern, url, doc) {
-
- if (redirectUrl.startsWith('xpath:')) {
-
- var xpath = redirectUrl.substr('xpath:'.length);
- RedirLib.debug('Evaluating xpath: ' + xpath);
- xpathResult = doc.evaluate(redirectUrl.substr('xpath:'.length), doc, null, XPathResult.STRING_TYPE,null);
- if (!xpathResult) {
- //fail silently
- RedirLib.debug('%1 returned nothing on url %2'._(xpath, url));
- return;
- } else {
- RedirLib.debug('%1 evaluated to %2'._(redirectUrl, xpathResult.stringValue));
- redirectUrl = xpathResult.stringValue;
- if (redirectUrl == '') {
- RedirLib.debug('XPath failed, no redirection will be made');
- return;
- }
- }
- }
-
redirectUrl = this.makeAbsoluteUrl(url, redirectUrl);
- if (redirectUrl == url) {
+ if (redirectUrl.startsWith('xpath:')) {
+ //Do nothing, the instant redirect will have popped up a message
+ } else if (redirectUrl == url) {
RedirLib.msgBox(this.strings.getString('extensionName'), this.strings.getFormattedString('recursiveError', [pattern, redirectUrl]));
} else {
doc.location.href = redirectUrl;