| Index: content/browser/loader/resource_loader.cc
|
| diff --git a/content/browser/loader/resource_loader.cc b/content/browser/loader/resource_loader.cc
|
| index 586f22247aeb33c99972112a74ff720050f10930..3bf5d204ee4b333c3cdfc0e84195218e2c9cf3e5 100644
|
| --- a/content/browser/loader/resource_loader.cc
|
| +++ b/content/browser/loader/resource_loader.cc
|
| @@ -482,10 +482,14 @@ void ResourceLoader::StartRequestInternal() {
|
| return;
|
| }
|
|
|
| + base::WeakPtr<ResourceLoader> weak_self = weak_ptr_factory_.GetWeakPtr();
|
| started_request_ = true;
|
| request_->Start();
|
|
|
| - delegate_->DidStartRequest(this);
|
| + // Starting the request may have lead to the deletion of this ResourceLoader
|
| + // if an error occured when calling NetworkDelegate::NotifyBeforeURLRequest.
|
| + if (weak_self.get())
|
| + delegate_->DidStartRequest(this);
|
| }
|
|
|
| void ResourceLoader::CancelRequestInternal(int error, bool from_renderer) {
|
|
|