| Index: webkit/plugins/ppapi/ppb_url_loader_impl.cc
|
| diff --git a/webkit/plugins/ppapi/ppb_url_loader_impl.cc b/webkit/plugins/ppapi/ppb_url_loader_impl.cc
|
| index 28a39152c4be94702b09d07f215b9e6383d1de2c..f91d28e787a5ae7214c062214ab60183f8bd5e1d 100644
|
| --- a/webkit/plugins/ppapi/ppb_url_loader_impl.cc
|
| +++ b/webkit/plugins/ppapi/ppb_url_loader_impl.cc
|
| @@ -85,12 +85,13 @@ PPB_URLLoader_Impl::PPB_URLLoader_Impl(PP_Instance instance,
|
| }
|
|
|
| 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() {
|
|
|