diff options
-rw-r--r-- | webkit/glue/webframeloaderclient_impl.cc | 5 | ||||
-rw-r--r-- | webkit/glue/webview_delegate.h | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/webkit/glue/webframeloaderclient_impl.cc b/webkit/glue/webframeloaderclient_impl.cc index b2cdae9..c5b341c 100644 --- a/webkit/glue/webframeloaderclient_impl.cc +++ b/webkit/glue/webframeloaderclient_impl.cc @@ -90,6 +90,11 @@ WebFrameLoaderClient::~WebFrameLoaderClient() { } void WebFrameLoaderClient::frameLoaderDestroyed() { + WebViewImpl* webview = webframe_->webview_impl(); + WebViewDelegate* d = webview->delegate(); + if (d) + d->WillDestroyFrame(webframe_); + // When the WebFrame was created, it had an extra reference given to it on // behalf of the Frame. Since the WebFrame owns us, this extra ref also // serves to keep us alive until the FrameLoader is done with us. The diff --git a/webkit/glue/webview_delegate.h b/webkit/glue/webview_delegate.h index 27036db..c6e164c 100644 --- a/webkit/glue/webview_delegate.h +++ b/webkit/glue/webview_delegate.h @@ -188,6 +188,10 @@ class WebViewDelegate : virtual public WebWidgetDelegate { virtual void DocumentElementAvailable(WebFrame* webframe) { } + // Notifies the delegate that the webframe is about to be destroyed. + virtual void WillDestroyFrame(WebFrame* webframe) { + } + // PolicyDelegate ---------------------------------------------------------- // This method is called to notify the delegate, and let it modify a |