aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Blott2015-05-01 05:49:28 +0100
committerStephen Blott2015-05-02 14:15:23 +0100
commit43d1e486ab44385fd18a408a148aeb0c6452fd1f (patch)
treedbffce778c2aee2d0a3cc2cd191ef169b2749dc8
parentc84a0ff26a32d0a7d8966699cef72b5220e42ae5 (diff)
downloadvimium-43d1e486ab44385fd18a408a148aeb0c6452fd1f.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,
#