diff options
| author | Stephen Blott | 2015-05-06 05:18:59 +0100 |
|---|---|---|
| committer | Stephen Blott | 2015-05-06 05:46:20 +0100 |
| commit | 1f97221aef5cfe28200df81a68a139a3f2b07784 (patch) | |
| tree | 62b6031f5d384d69d353976b6eb5e3a246c4fd81 /background_scripts | |
| parent | 7d11b1699454366bf99e8e5033ba39b127687fcb (diff) | |
| download | vimium-1f97221aef5cfe28200df81a68a139a3f2b07784.tar.bz2 | |
Search completion; move all filter messages to a single port.
Diffstat (limited to 'background_scripts')
| -rw-r--r-- | background_scripts/completion.coffee | 2 | ||||
| -rw-r--r-- | background_scripts/main.coffee | 26 |
2 files changed, 13 insertions, 15 deletions
diff --git a/background_scripts/completion.coffee b/background_scripts/completion.coffee index c91825b5..8a69b645 100644 --- a/background_scripts/completion.coffee +++ b/background_scripts/completion.coffee @@ -331,7 +331,7 @@ class SearchEngineCompleter searchEngines: {} userIsTyping: -> - SearchEngines.userIsTyping() + CompletionEngines.userIsTyping() filter: (queryTerms, onComplete) -> { keyword: keyword, url: url, description: description } = @getSearchEngineMatches queryTerms diff --git a/background_scripts/main.coffee b/background_scripts/main.coffee index 09a6b89f..066e4cb6 100644 --- a/background_scripts/main.coffee +++ b/background_scripts/main.coffee @@ -60,6 +60,17 @@ completers = bookmarks: new MultiCompleter([completionSources.bookmarks]) tabs: new MultiCompleter([completionSources.tabs]) +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 + + refreshCompleter: (completer) -> completer.refresh() + userIsTyping: (completer) -> completer.userIsTyping() + +handleCompletions = (args, port) -> + completionHandlers[args.handler] completers[args.name], args, port + chrome.runtime.onConnect.addListener (port, name) -> senderTabId = if port.sender.tab then port.sender.tab.id else null # If this is a tab we've been waiting to open, execute any "tab loaded" handlers, e.g. to restore @@ -217,18 +228,6 @@ handleSettings = (request, port) -> values[key] = Settings.get key for own key of values port.postMessage { values } -refreshCompleter = (request) -> completers[request.name].refresh() - -whitespaceRegexp = /\s+/ -filterCompleter = (args, port) -> - if args.name? and args.userIsTyping - completers[args.name].userIsTyping?() - - if args.id? and args.name? and args.query? - queryTerms = if (args.query == "") then [] else args.query.split(whitespaceRegexp) - completers[args.name].filter queryTerms, (results) -> - port.postMessage id: args.id, results: results - chrome.tabs.onSelectionChanged.addListener (tabId, selectionInfo) -> if (selectionChangedHandlers.length > 0) selectionChangedHandlers.pop().call() @@ -643,7 +642,7 @@ bgLog = (request, sender) -> portHandlers = keyDown: handleKeyDown, settings: handleSettings, - filterCompleter: filterCompleter + completions: handleCompletions sendRequestHandlers = getCompletionKeys: getCompletionKeysRequest @@ -661,7 +660,6 @@ sendRequestHandlers = pasteFromClipboard: pasteFromClipboard isEnabledForUrl: isEnabledForUrl selectSpecificTab: selectSpecificTab - refreshCompleter: refreshCompleter createMark: Marks.create.bind(Marks) gotoMark: Marks.goto.bind(Marks) setIcon: setIcon |
