aboutsummaryrefslogtreecommitdiffstats
path: root/background_scripts/completion_engines.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'background_scripts/completion_engines.coffee')
-rw-r--r--background_scripts/completion_engines.coffee48
1 files changed, 36 insertions, 12 deletions
diff --git a/background_scripts/completion_engines.coffee b/background_scripts/completion_engines.coffee
index 5ec24ed6..a6ff6dc3 100644
--- a/background_scripts/completion_engines.coffee
+++ b/background_scripts/completion_engines.coffee
@@ -47,18 +47,18 @@ class GoogleXMLBaseEngine extends BaseEngine
class Google extends GoogleXMLBaseEngine
constructor: () ->
super
- engineUrl: "http://suggestqueries.google.com/complete/search?ss_protocol=legace&client=toolbar&q=%s"
- regexps: "^https?://[a-z]+\\.google\\.(com|ie|co\\.uk|ca|com\\.au)/"
+ engineUrl: "https://suggestqueries.google.com/complete/search?ss_protocol=legace&client=toolbar&q=%s"
+ regexps: "^https?://[a-z]+\\.google\\.(com|ie|co\\.(uk|jp)|ca|com\\.au)/"
example:
- searchUrl: "http://www.google.com/search?q=%s"
+ searchUrl: "https://www.google.com/search?q=%s"
keyword: "g"
class GoogleMaps extends GoogleXMLBaseEngine
prefix: "map of "
constructor: () ->
super
- engineUrl: "http://suggestqueries.google.com/complete/search?ss_protocol=legace&client=toolbar&q=#{@prefix.split(' ').join '+'}%s"
- regexps: "^https?://[a-z]+\\.google\\.(com|ie|co\\.uk|ca|com\\.au)/maps"
+ engineUrl: "https://suggestqueries.google.com/complete/search?ss_protocol=legace&client=toolbar&q=#{@prefix.split(' ').join '+'}%s"
+ regexps: "^https?://[a-z]+\\.google\\.(com|ie|co\\.(uk|jp)|ca|com\\.au)/maps"
example:
searchUrl: "https://www.google.com/maps?q=%s"
keyword: "m"
@@ -77,10 +77,10 @@ class GoogleMaps extends GoogleXMLBaseEngine
class Youtube extends GoogleXMLBaseEngine
constructor: ->
super
- engineUrl: "http://suggestqueries.google.com/complete/search?client=youtube&ds=yt&xml=t&q=%s"
+ engineUrl: "https://suggestqueries.google.com/complete/search?client=youtube&ds=yt&xml=t&q=%s"
regexps: "^https?://[a-z]+\\.youtube\\.com/results"
example:
- searchUrl: "http://www.youtube.com/results?search_query=%s"
+ searchUrl: "https://www.youtube.com/results?search_query=%s"
keyword: "y"
class Wikipedia extends BaseEngine
@@ -89,7 +89,7 @@ class Wikipedia extends BaseEngine
engineUrl: "https://en.wikipedia.org/w/api.php?action=opensearch&format=json&search=%s"
regexps: "^https?://[a-z]+\\.wikipedia\\.org/"
example:
- searchUrl: "http://www.wikipedia.org/w/index.php?title=Special:Search&search=%s"
+ searchUrl: "https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s"
keyword: "w"
parse: (xhr) -> JSON.parse(xhr.responseText)[1]
@@ -97,7 +97,7 @@ class Wikipedia extends BaseEngine
class Bing extends BaseEngine
constructor: ->
super
- engineUrl: "http://api.bing.com/osjson.aspx?query=%s"
+ engineUrl: "https://api.bing.com/osjson.aspx?query=%s"
regexps: "^https?://www\\.bing\\.com/search"
example:
searchUrl: "https://www.bing.com/search?q=%s"
@@ -111,11 +111,22 @@ class Amazon extends BaseEngine
engineUrl: "https://completion.amazon.com/search/complete?method=completion&search-alias=aps&client=amazon-search-ui&mkt=1&q=%s"
regexps: "^https?://www\\.amazon\\.(com|co\\.uk|ca|de|com\\.au)/s/"
example:
- searchUrl: "http://www.amazon.com/s/?field-keywords=%s"
+ searchUrl: "https://www.amazon.com/s/?field-keywords=%s"
keyword: "a"
parse: (xhr) -> JSON.parse(xhr.responseText)[1]
+class AmazonJapan extends BaseEngine
+ constructor: ->
+ super
+ engineUrl: "https://completion.amazon.co.jp/search/complete?method=completion&search-alias=aps&client=amazon-search-ui&mkt=6&q=%s"
+ regexps: "^https?://www\\.amazon\\.co\\.jp/(s/|gp/search)"
+ example:
+ searchUrl: "https://www.amazon.co.jp/s/?field-keywords=%s"
+ keyword: "aj"
+
+ parse: (xhr) -> JSON.parse(xhr.responseText)[1]
+
class DuckDuckGo extends BaseEngine
constructor: ->
super
@@ -131,10 +142,10 @@ class DuckDuckGo extends BaseEngine
class Webster extends BaseEngine
constructor: ->
super
- engineUrl: "http://www.merriam-webster.com/autocomplete?query=%s"
+ engineUrl: "https://www.merriam-webster.com/autocomplete?query=%s"
regexps: "^https?://www.merriam-webster.com/dictionary/"
example:
- searchUrl: "http://www.merriam-webster.com/dictionary/%s"
+ searchUrl: "https://www.merriam-webster.com/dictionary/%s"
keyword: "dw"
description: "Dictionary"
@@ -152,6 +163,17 @@ class Qwant extends BaseEngine
parse: (xhr) ->
suggestion.value for suggestion in JSON.parse(xhr.responseText).data.items
+class UpToDate extends BaseEngine
+ constructor: ->
+ super
+ engineUrl: "https://www.uptodate.com/services/app/contents/search/autocomplete/json?term=%s&limit=10"
+ regexps: "^https?://www\\.uptodate\\.com/"
+ example:
+ searchUrl: "https://www.uptodate.com/contents/search?search=%s&searchType=PLAIN_TEXT&source=USER_INPUT&searchControl=TOP_PULLDOWN&autoComplete=false"
+ keyword: "upto"
+
+ parse: (xhr) -> JSON.parse(xhr.responseText).data.searchTerms
+
# A dummy search engine which is guaranteed to match any search URL, but never produces completions. This
# allows the rest of the logic to be written knowing that there will always be a completion engine match.
class DummyCompletionEngine extends BaseEngine
@@ -169,8 +191,10 @@ CompletionEngines = [
Wikipedia
Bing
Amazon
+ AmazonJapan
Webster
Qwant
+ UpToDate
DummyCompletionEngine
]