Chromium Code Reviews| Index: Source/bindings/v8/custom/V8InjectedScriptManager.cpp |
| diff --git a/Source/bindings/v8/custom/V8InjectedScriptManager.cpp b/Source/bindings/v8/custom/V8InjectedScriptManager.cpp |
| index 0aa3d02f51e9e681748b5f31c79e6e8442a60963..1f64654ce61bd6fc98a0fab78c26a3c058cef3b7 100644 |
| --- a/Source/bindings/v8/custom/V8InjectedScriptManager.cpp |
| +++ b/Source/bindings/v8/custom/V8InjectedScriptManager.cpp |
| @@ -48,7 +48,7 @@ namespace WebCore { |
| 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,7 @@ static v8::Local<v8::Object> createInjectedScriptHostV8Wrapper(InjectedScriptHos |
| // Avoid setting the wrapper if allocation failed. |
| return v8::Local<v8::Object>(); |
| } |
| - V8DOMWrapper::setNativeInfo(instanceTemplate, &V8InjectedScriptHost::wrapperTypeInfo, host); |
| + V8DOMWrapper::setNativeInfoWithPersistentHandle(instanceTemplate, &V8InjectedScriptHost::wrapperTypeInfo, host, new Persistent<InjectedScriptHost>(host)); |
|
haraken
2014/06/17 14:06:17
I think this will leak memory in non-oilpan builds
keishi
2014/06/18 12:31:06
Done.
|
| // 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; |