Index: third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp |
diff --git a/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp b/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp |
index 74c90d25edaa45687aa49aa7c31fab60ad3dac3c..1c9060063465d69bc2487af7bad01b1020314442 100644 |
--- a/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp |
+++ b/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp |
@@ -66,6 +66,12 @@ void RemoteWindowProxy::DisposeContext(Lifecycle next_status) { |
#endif |
} |
+ if (next_status == Lifecycle::kFrameIsDetached) { |
+ // The context's frame is detached from the DOM, so there shouldn't be a |
+ // strong reference to the context. |
+ global_proxy_.SetPhantom(); |
+ } |
+ |
DCHECK_EQ(lifecycle_, Lifecycle::kContextIsInitialized); |
lifecycle_ = next_status; |
} |