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 36bdec1839d60e3e065a7e0f18e12c74babca12a..cb16358744644028c53a5bb817c9aa02f77c92a0 100644 |
--- a/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp |
+++ b/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp |
@@ -406,4 +406,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 |