Chromium Code Reviews| Index: third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp |
| diff --git a/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp b/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp |
| index f2c049db85f3b606f91f425b876d1cb1ad19f2a5..8a380407d74a01772d273d9f53e5c328b145247a 100644 |
| --- a/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp |
| +++ b/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp |
| @@ -290,8 +290,9 @@ static void initializeV8Common(v8::Isolate* isolate) |
| isolate->AddGCPrologueCallback(V8GCController::gcPrologue); |
| isolate->AddGCEpilogueCallback(V8GCController::gcEpilogue); |
| if (RuntimeEnabledFeatures::traceWrappablesEnabled()) { |
| - ScriptWrappableVisitor* visitor = new ScriptWrappableVisitor(isolate); |
| - isolate->SetEmbedderHeapTracer(visitor); |
| + std::unique_ptr<ScriptWrappableVisitor> visitor = std::unique_ptr<ScriptWrappableVisitor>(new ScriptWrappableVisitor(isolate)); |
|
haraken
2016/06/03 14:22:45
std::unique_ptr<> visitor(new ...);
|
| + isolate->SetEmbedderHeapTracer(visitor.get()); |
| + V8PerIsolateData::from(isolate)->setScriptWrappableVisitor(std::move(visitor)); |
| } |
| v8::Debug::SetLiveEditEnabled(isolate, false); |
| @@ -371,6 +372,7 @@ void V8Initializer::shutdownMainThread() |
| { |
| ASSERT(isMainThread()); |
| v8::Isolate* isolate = V8PerIsolateData::mainThreadIsolate(); |
| + isolate->SetEmbedderHeapTracer(nullptr); |
| V8PerIsolateData::willBeDestroyed(isolate); |
| V8PerIsolateData::destroy(isolate); |
| } |