Index: content/renderer/browser_plugin/browser_plugin.cc |
diff --git a/content/renderer/browser_plugin/browser_plugin.cc b/content/renderer/browser_plugin/browser_plugin.cc |
index 59dd401f0a35291ac49ba5256ff6e37ff394a896..2370ec58060554fddcb7abe515639a62087d844a 100644 |
--- a/content/renderer/browser_plugin/browser_plugin.cc |
+++ b/content/renderer/browser_plugin/browser_plugin.cc |
@@ -817,9 +817,9 @@ void BrowserPlugin::EnableCompositing(bool enable) { |
return; |
if (enable && !compositing_helper_) { |
- compositing_helper_.reset(new BrowserPluginCompositingHelper( |
+ compositing_helper_ = new BrowserPluginCompositingHelper( |
container_, |
- render_view_routing_id_)); |
+ render_view_routing_id_); |
} |
compositing_helper_->EnableCompositing(enable); |
@@ -830,7 +830,8 @@ void BrowserPlugin::destroy() { |
// The BrowserPlugin's WebPluginContainer is deleted immediately after this |
// call returns, so let's not keep a reference to it around. |
container_ = NULL; |
- compositing_helper_.reset(); |
+ if (compositing_helper_) |
+ compositing_helper_->OnContainerDestroy(); |
MessageLoop::current()->DeleteSoon(FROM_HERE, this); |
} |