Index: content/browser/browser_plugin/browser_plugin_guest.cc |
diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc |
index 9408e7606da75126f4b247f428b1633552e1360b..29a28fc22f0fa2c7e6e8e84fda1a5e9d6ecea69d 100644 |
--- a/content/browser/browser_plugin/browser_plugin_guest.cc |
+++ b/content/browser/browser_plugin/browser_plugin_guest.cc |
@@ -319,8 +319,7 @@ class BrowserPluginGuest::EmbedderRenderViewHostObserver |
// RenderViewHostObserver: |
virtual void RenderViewHostDestroyed( |
RenderViewHost* render_view_host) OVERRIDE { |
- browser_plugin_guest_->embedder_web_contents_ = NULL; |
- browser_plugin_guest_->Destroy(); |
+ browser_plugin_guest_->EmbedderDestroyed(); |
} |
private: |
@@ -424,6 +423,13 @@ int BrowserPluginGuest::RequestPermission( |
return request_id; |
} |
+void BrowserPluginGuest::EmbedderDestroyed() { |
+ embedder_web_contents_ = NULL; |
+ if (delegate_) |
+ delegate_->EmbedderDestroyed(); |
+ Destroy(); |
+} |
+ |
void BrowserPluginGuest::Destroy() { |
is_in_destruction_ = true; |
if (!attached() && opener()) |