Index: webkit/plugins/ppapi/ppb_url_loader_impl.cc |
=================================================================== |
--- webkit/plugins/ppapi/ppb_url_loader_impl.cc (revision 198489) |
+++ webkit/plugins/ppapi/ppb_url_loader_impl.cc (working copy) |
@@ -86,12 +86,13 @@ |
} |
PPB_URLLoader_Impl::~PPB_URLLoader_Impl() { |
- // There is a path whereby the destructor for the loader_ member can |
- // invoke InstanceWasDeleted() upon this PPB_URLLoader_Impl, thereby |
- // re-entering the scoped_ptr destructor with the same scoped_ptr object |
- // via loader_.reset(). Be sure that loader_ is first NULL then destroy |
- // the scoped_ptr. See http://crbug.com/159429. |
- scoped_ptr<WebKit::WebURLLoader> for_destruction_only(loader_.release()); |
+ // Removes the resource from the ResourceTracker's tables. This normally |
+ // happens as part of Resource destruction, but if a subclass destructor |
+ // has a risk of re-entering destruction via the ResourceTracker, it can |
+ // call this explicitly to get rid of the table entry before continuing |
+ // with the destruction. If the resource is not in the ResourceTracker's |
+ // tables, silently does nothing. See http://crbug.com/159429. |
+ RemoveFromResourceTracker(); |
} |
PPB_URLLoader_API* PPB_URLLoader_Impl::AsPPB_URLLoader_API() { |