aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Blott2015-05-01 05:49:28 +0100
committerStephen Blott2015-05-01 05:49:28 +0100
commit02ca5eafb6aca5a9a09b3b592be76d3b834ccde6 (patch)
tree58ed0898592f667f1cec0eb9380b1379e342cd31
parent53d59e7b4e8b714fe7763ea1f1d941a640cb1fe0 (diff)
downloadvimium-02ca5eafb6aca5a9a09b3b592be76d3b834ccde6.tar.bz2
Avoid race comditions in background completer, change id handling.
-rw-r--r--pages/vomnibar.coffee5
1 files changed, 2 insertions, 3 deletions
diff --git a/pages/vomnibar.coffee b/pages/vomnibar.coffee
index 260b163f..f8ed0c78 100644
--- a/pages/vomnibar.coffee
+++ b/pages/vomnibar.coffee
@@ -219,10 +219,9 @@ class BackgroundCompleter
chrome.runtime.sendMessage({ handler: "refreshCompleter", name: @name })
filter: (query, callback) ->
- id = BackgroundCompleter.messageId += 1
@filterPort.onMessage.addListener (msg) =>
@filterPort.onMessage.removeListener(arguments.callee)
- if id == BackgroundCompleter.messageId
+ if msg.id == BackgroundCompleter.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].
@@ -235,7 +234,7 @@ class BackgroundCompleter
result
callback(results)
- @filterPort.postMessage({ id: id, name: @name, query: query })
+ @filterPort.postMessage({ id: ++BackgroundCompleter.messageId, name: @name, query: query })
extend BackgroundCompleter,
#