Index: Source/bindings/core/v8/custom/V8InjectedScriptManager.cpp |
diff --git a/Source/bindings/core/v8/custom/V8InjectedScriptManager.cpp b/Source/bindings/core/v8/custom/V8InjectedScriptManager.cpp |
index a313513891ecdf8ba2dee9c66efbf0a1d07f978b..12577dc41c98754c67f10ab118e6293d94f21a1c 100644 |
--- a/Source/bindings/core/v8/custom/V8InjectedScriptManager.cpp |
+++ b/Source/bindings/core/v8/custom/V8InjectedScriptManager.cpp |
@@ -48,7 +48,7 @@ namespace blink { |
struct InjectedScriptManager::CallbackData { |
ScopedPersistent<v8::Object> handle; |
- RefPtr<InjectedScriptHost> host; |
+ RefPtrWillBePersistent<InjectedScriptHost> host; |
}; |
static v8::Local<v8::Object> createInjectedScriptHostV8Wrapper(InjectedScriptHost* host, v8::Isolate* isolate) |
@@ -63,7 +63,11 @@ static v8::Local<v8::Object> createInjectedScriptHostV8Wrapper(InjectedScriptHos |
// Avoid setting the wrapper if allocation failed. |
return v8::Local<v8::Object>(); |
} |
+#if ENABLE(OILPAN) |
+ V8DOMWrapper::setNativeInfoWithPersistentHandle(instanceTemplate, &V8InjectedScriptHost::wrapperTypeInfo, host, new Persistent<InjectedScriptHost>(host)); |
+#else |
V8DOMWrapper::setNativeInfo(instanceTemplate, &V8InjectedScriptHost::wrapperTypeInfo, host); |
+#endif |
// Create a weak reference to the v8 wrapper of InspectorBackend to deref |
// InspectorBackend when the wrapper is garbage collected. |
InjectedScriptManager::CallbackData* data = new InjectedScriptManager::CallbackData; |