Index: extensions/renderer/guest_view/extensions_guest_view_container.cc |
diff --git a/extensions/renderer/guest_view/extensions_guest_view_container.cc b/extensions/renderer/guest_view/extensions_guest_view_container.cc |
index 1bd857543ca82bc60eeef524e771bd4620b027b9..b9b2a10e9c63613f2217e2d5e01bc83b7366b16c 100644 |
--- a/extensions/renderer/guest_view/extensions_guest_view_container.cc |
+++ b/extensions/renderer/guest_view/extensions_guest_view_container.cc |
@@ -19,6 +19,10 @@ ExtensionsGuestViewContainer::ExtensionsGuestViewContainer( |
} |
ExtensionsGuestViewContainer::~ExtensionsGuestViewContainer() { |
+ OnDestroy(); |
Fady Samuel
2015/06/05 15:10:41
Calling virtual methods from a destructor is bad,
lazyboy
2015/06/05 16:56:55
Thanks for catching this.
I've added Destroy() to
|
+} |
+ |
+void ExtensionsGuestViewContainer::OnDestroy() { |
// Call the destruction callback, if one is registered. |
if (!destruction_callback_.IsEmpty()) { |
v8::HandleScope handle_scope(destruction_isolate_); |
@@ -32,6 +36,8 @@ ExtensionsGuestViewContainer::~ExtensionsGuestViewContainer() { |
blink::WebScopedMicrotaskSuppression suppression; |
callback->Call(context->Global(), 0 /* argc */, nullptr); |
+ |
+ destruction_callback_.Reset(); |
} |
} |