Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2631)

Unified Diff: Source/web/WebLocalFrameImpl.cpp

Issue 335573004: Oilpan: Notify supplements of Page and LocalFrame destruction. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase and null check Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/platform/Supplementable.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/web/WebLocalFrameImpl.cpp
diff --git a/Source/web/WebLocalFrameImpl.cpp b/Source/web/WebLocalFrameImpl.cpp
index 9da6d1bc717b6c2687451c6a1db43f858cdc1764..b35675a0292e010474f727d486e909df5019dcde 100644
--- a/Source/web/WebLocalFrameImpl.cpp
+++ b/Source/web/WebLocalFrameImpl.cpp
@@ -509,6 +509,15 @@ WebRemoteFrame* WebLocalFrameImpl::toWebRemoteFrame()
void WebLocalFrameImpl::close()
{
m_client = 0;
+
+ // FIXME: Oilpan: Signal to LocalFrame and its supplements that the frame is
+ // being torn down so it can do prompt clean-up. For example, this will
+ // clear the raw back pointer to m_geolocationClientProxy. Once
+ // GeolocationClientProxy is on-heap it looks like we can completely remove
+ // |willBeDestroyed| from supplements since tracing will ensure safety.
+ if (m_frame)
+ m_frame->willBeDestroyed();
+
deref(); // Balances ref() acquired in WebFrame::create
}
« no previous file with comments | « Source/platform/Supplementable.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698