Index: extensions/renderer/v8_schema_registry.cc |
diff --git a/extensions/renderer/v8_schema_registry.cc b/extensions/renderer/v8_schema_registry.cc |
index 77a91f698514d1db4bc668b967b950c9547e3fb7..33163138cc335ac2a74e4ab1abb96aa592764241 100644 |
--- a/extensions/renderer/v8_schema_registry.cc |
+++ b/extensions/renderer/v8_schema_registry.cc |
@@ -105,13 +105,13 @@ v8::Handle<v8::Context> V8SchemaRegistry::GetOrCreateContext( |
v8::Isolate* isolate) { |
// It's ok to create local handles in this function, since this is only called |
// when we have a HandleScope. |
- if (context_.IsEmpty()) { |
- v8::Handle<v8::Context> context = v8::Context::New(isolate); |
- context_.reset(context); |
+ if (!context_holder_) { |
+ context_holder_.reset(new gin::ContextHolder(isolate)); |
+ context_holder_->SetContext(v8::Context::New(isolate)); |
schema_cache_.reset(new SchemaCache(isolate)); |
- return context; |
+ return context_holder_->context(); |
} |
- return context_.NewHandle(isolate); |
+ return context_holder_->context(); |
} |
} // namespace extensions |