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 c160830df185cfb4819f9bbdbb43cbde84a7cd5f..7cb08e493e8eb20ac70df217713336c1f3d7abea 100644 |
--- a/Source/bindings/core/v8/custom/V8InjectedScriptManager.cpp |
+++ b/Source/bindings/core/v8/custom/V8InjectedScriptManager.cpp |
@@ -72,12 +72,16 @@ static v8::Local<v8::Object> createInjectedScriptHostV8Wrapper(PassRefPtrWillBeR |
// Create a weak reference to the v8 wrapper of InspectorBackend to deref |
// InspectorBackend when the wrapper is garbage collected. |
InjectedScriptManager::CallbackData* callbackData = injectedScriptManager->createCallbackData(injectedScriptManager); |
+#if ENABLE(OILPAN) |
+ callbackData->hostPtr = WrapperPersistent<InjectedScriptHost>::create(host.get()); |
+#else |
callbackData->host = host.get(); |
+#endif |
callbackData->handle.set(isolate, wrapper); |
callbackData->handle.setWeak(callbackData, &InjectedScriptManager::setWeakCallback); |
#if ENABLE(OILPAN) |
- V8DOMWrapper::setNativeInfoWithPersistentHandle(wrapper, &V8InjectedScriptHost::wrapperTypeInfo, host->toScriptWrappableBase(), &callbackData->host); |
+ V8DOMWrapper::setNativeInfoWithPersistentHandle(wrapper, &V8InjectedScriptHost::wrapperTypeInfo, host->toScriptWrappableBase(), callbackData->hostPtr); |
#else |
V8DOMWrapper::setNativeInfo(wrapper, &V8InjectedScriptHost::wrapperTypeInfo, host->toScriptWrappableBase()); |
#endif |