| 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())
|
|
|