Index: third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp |
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp b/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp |
index e6e7ce8ed3835089017642f63ae9bedf72b2b30e..c9d283bfd4b7c46c537f630b2971d5b0e4285dca 100644 |
--- a/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp |
+++ b/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp |
@@ -397,4 +397,15 @@ void V8PerIsolateData::addActiveScriptWrappable( |
m_activeScriptWrappables->add(wrappable); |
} |
+void V8PerIsolateData::TemporaryScriptWrappableVisitorScope:: |
+ swapWithV8PerIsolateDataVisitor( |
+ std::unique_ptr<ScriptWrappableVisitor>& visitor) { |
+ ScriptWrappableVisitor* current = currentVisitor(m_isolate); |
+ if (current) |
+ current->performCleanup(); |
+ |
+ V8PerIsolateData::from(m_isolate)->m_scriptWrappableVisitor.swap(visitor); |
+ m_isolate->SetEmbedderHeapTracer(visitor.get()); |
+} |
+ |
} // namespace blink |