diff options
| -rw-r--r-- | background_scripts/main.coffee | 3 | ||||
| -rw-r--r-- | pages/vomnibar.coffee | 12 |
2 files changed, 8 insertions, 7 deletions
diff --git a/background_scripts/main.coffee b/background_scripts/main.coffee index c1be9f8f..a3ddb48c 100644 --- a/background_scripts/main.coffee +++ b/background_scripts/main.coffee @@ -62,8 +62,7 @@ completers = completionHandlers = filter: (completer, args, port) -> - queryTerms = args.query.split(/\s+/).filter (s) -> 0 < s.length - completer.filter queryTerms, (results) -> port.postMessage id: args.id, results: results + completer.filter args.queryTerms, (results) -> port.postMessage id: args.id, results: results refresh: (completer) -> completer.refresh() cancel: (completer) -> completer.cancel() diff --git a/pages/vomnibar.coffee b/pages/vomnibar.coffee index 62c37443..503ae1f5 100644 --- a/pages/vomnibar.coffee +++ b/pages/vomnibar.coffee @@ -161,7 +161,7 @@ class VomnibarUI true updateCompletions: (callback = null) -> - @completer.filter @input.value.trim(), (@completions) => + @completer.filter @input.value, (@completions) => @populateUiWithCompletions @completions callback?() @@ -229,7 +229,7 @@ class BackgroundCompleter if msg.id == @messageId # The result objects coming from the background page will be of the form: # { html: "", type: "", url: "" } - # type will be one of [tab, bookmark, history, domain]. + # Type will be one of [tab, bookmark, history, domain, search], or a custom search engine description. results = msg.results.map (result) => functionToCall = if result.type == "tab" @completionActions.switchToTab.curry result.tabId @@ -240,12 +240,14 @@ class BackgroundCompleter @mostRecentCallback results filter: (query, @mostRecentCallback) -> - # Ignore identical consecutive queries. This can happen, for example, if the user adds a <SPACE> to the - # query. + # Ignore identical consecutive queries. This can happen, for example, if the user adds whitespace to the + # query. We normalize the query first to ensure that differences only in whitespace are ignored. + queryTerms = query.trim().split(/\s+/).filter (term) -> 0 < term.length + query = queryTerms.join " " unless @mostRecentQuery? and query == @mostRecentQuery @mostRecentQuery = query @messageId = Utils.createUniqueId() - @port.postMessage name: @name, handler: "filter", id: @messageId, query: query + @port.postMessage name: @name, handler: "filter", id: @messageId, queryTerms: queryTerms refresh: -> @port.postMessage name: @name, handler: "refresh" |
