From 6cef4caf7a21fdf7e8b52a6d8145d024c3ca6d19 Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Sun, 18 Feb 2018 11:31:57 +0000 Subject: allow javascript: URLs for custom search engines. For example, search the current site: cd: javascript:location='http://www.google.com/search?num=100&q=site:'+escape(location.hostname)+'+%s' Apparently an example like this has been on the Wiki for four years, but it has not been supported. However, the change is so trivial that it's worth doing anyway. Fixes #2956. --- background_scripts/bg_utils.coffee | 3 ++- pages/vomnibar.coffee | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/background_scripts/bg_utils.coffee b/background_scripts/bg_utils.coffee index 698f5352..3fee6685 100644 --- a/background_scripts/bg_utils.coffee +++ b/background_scripts/bg_utils.coffee @@ -102,7 +102,8 @@ SearchEngines = keyword = tokens[0].split(":")[0] searchUrl = tokens[1] description = tokens[2..].join(" ") || "search (#{keyword})" - engines[keyword] = {keyword, searchUrl, description} if Utils.hasFullUrlPrefix searchUrl + if Utils.hasFullUrlPrefix(searchUrl) or Utils.hasJavascriptPrefix searchUrl + engines[keyword] = {keyword, searchUrl, description} callback engines diff --git a/pages/vomnibar.coffee b/pages/vomnibar.coffee index c53e7170..01533b5f 100644 --- a/pages/vomnibar.coffee +++ b/pages/vomnibar.coffee @@ -167,6 +167,7 @@ class VomnibarUI # avoid a race condition, we construct the query from the actual contents of the input (query). query = Utils.createSearchUrl query, @lastReponse.engine.searchUrl if isCustomSearchPrimarySuggestion @hide -> + openInNewTab &&= not Utils.hasJavascriptPrefix query chrome.runtime.sendMessage handler: if openInNewTab then "openUrlInNewTab" else "openUrlInCurrentTab" url: query -- cgit v1.2.3