Index: third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp |
diff --git a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp |
index 9e6672465511eb4ba8ab3d079ed680d821684127..d07bfd9d5c0aa63aecbedae4810e632fcc8be6d0 100644 |
--- a/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp |
+++ b/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp |
@@ -319,4 +319,16 @@ void DOMWrapperWorld::weakCallbackForDOMObjectHolder( |
holderBase->world()->unregisterDOMObjectHolder(holderBase); |
} |
+void DOMWrapperWorld::dissociateWrappersInAllWorlds( |
haraken
2017/02/09 12:46:40
dissociateWrappersInAllWorlds => disconnectDOMWind
|
+ ScriptWrappable* scriptWrappable) { |
+ DCHECK(scriptWrappable); |
+ DCHECK(isMainThread()); |
+ |
+ scriptWrappable->unsetWrapperIfAny(); |
+ |
+ for (auto& world : isolatedWorldMap().values()) { |
+ world->domDataStore().unsetWrapperIfAny(scriptWrappable); |
+ } |
+} |
+ |
} // namespace blink |