Index: chrome/renderer/extensions/messaging_bindings.cc |
diff --git a/chrome/renderer/extensions/messaging_bindings.cc b/chrome/renderer/extensions/messaging_bindings.cc |
index c7660dd3aadf6a6b5e5c07cb5822b33169e3c7fb..153593cef71f34e99fba55ebca36d0e6180e4745 100644 |
--- a/chrome/renderer/extensions/messaging_bindings.cc |
+++ b/chrome/renderer/extensions/messaging_bindings.cc |
@@ -192,12 +192,13 @@ class ExtensionImpl : public extensions::ChromeV8Extension { |
void RunCallback() { |
v8::HandleScope handle_scope(isolate_); |
- v8::Handle<v8::Context> context = callback_->CreationContext(); |
+ v8::Handle<v8::Function> callback = callback_.NewHandle(isolate_); |
+ v8::Handle<v8::Context> context = callback->CreationContext(); |
if (context.IsEmpty()) |
return; |
v8::Context::Scope context_scope(context); |
WebKit::WebScopedMicrotaskSuppression suppression; |
- callback_->Call(context->Global(), 0, NULL); |
+ callback->Call(context->Global(), 0, NULL); |
} |
extensions::ScopedPersistent<v8::Object> object_; |