From c08d03e36e3c6a08fe9eaa493fb2a3262f77b74b Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Thu, 6 Nov 2014 06:30:48 +0000 Subject: Don't suggest domains which aren't. --- lib/utils.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/utils.coffee b/lib/utils.coffee index bbcee1a0..e2ed8d98 100644 --- a/lib/utils.coffee +++ b/lib/utils.coffee @@ -26,7 +26,7 @@ Utils = -> id += 1 hasChromePrefix: do -> - chromePrefixes = [ "about:", "view-source:", "chrome-extension:", "data:" ] + chromePrefixes = [ "about:", "view-source:", "extension:", "chrome-extension:", "data:" ] (url) -> if 0 < url.indexOf ":" for prefix in chromePrefixes @@ -98,7 +98,7 @@ Utils = convertToUrl: (string) -> string = string.trim() - # Special-case about:[url] and view-source:[url] + # Special-case about:[url], view-source:[url] and the like if Utils.hasChromePrefix string string else if Utils.isUrl string -- cgit v1.2.3 From 46ee1444e08815cd3ec4d1f008d62d13b35ad777 Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Thu, 6 Nov 2014 08:50:59 +0000 Subject: Include scheme for domain suggestions; tighter test for valid domain. --- lib/utils.coffee | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/utils.coffee b/lib/utils.coffee index e2ed8d98..62749496 100644 --- a/lib/utils.coffee +++ b/lib/utils.coffee @@ -33,17 +33,18 @@ Utils = return true if url.startsWith prefix false + hasFullUrlPrefix: do -> + urlPrefix = new RegExp "^[a-z]{3,}://." + (url) -> urlPrefix.test url + # Completes a partial URL (without scheme) createFullUrl: (partialUrl) -> - unless /^[a-z]{3,}:\/\//.test partialUrl - "http://" + partialUrl - else - partialUrl + if @hasFullUrlPrefix(partialUrl) then partialUrl else ("http://" + partialUrl) # Tries to detect if :str is a valid URL. isUrl: (str) -> # Starts with a scheme: URL - return true if /^[a-z]{3,}:\/\//.test str + return true if @hasFullUrlPrefix str # Must not contain spaces return false if ' ' in str -- cgit v1.2.3 From bbea4b123fe9da0511b1698f07868c27299ae24f Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Thu, 6 Nov 2014 09:01:22 +0000 Subject: Add (initial, basic) isUrl tests (more needed). --- lib/utils.coffee | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/utils.coffee b/lib/utils.coffee index 62749496..b7f8731a 100644 --- a/lib/utils.coffee +++ b/lib/utils.coffee @@ -43,12 +43,12 @@ Utils = # Tries to detect if :str is a valid URL. isUrl: (str) -> - # Starts with a scheme: URL - return true if @hasFullUrlPrefix str - # Must not contain spaces return false if ' ' in str + # Starts with a scheme: URL + return true if @hasFullUrlPrefix str + # More or less RFC compliant URL host part parsing. This should be sufficient for our needs urlRegex = new RegExp( '^(?:([^:]+)(?::([^:]+))?@)?' + # user:password (optional) => \1, \2 -- cgit v1.2.3