ExtensionAPI.js currently invokes callback before removing it from the map of pending callbacks. Under certain circumstances this may lead to callback being invoked multiple times.
Created attachment 79407 [details] patch
Manually committed r76109: http://trac.webkit.org/changeset/76109