1 // Copyright 2012 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "net/url_request/url_request_error_job.h" 6 7 #include "base/compiler_specific.h" 8 #include "base/functional/bind.h" 9 #include "base/location.h" 10 #include "base/task/single_thread_task_runner.h" 11 #include "net/base/net_errors.h" 12 13 namespace net { 14 URLRequestErrorJob(URLRequest * request,int error)15URLRequestErrorJob::URLRequestErrorJob(URLRequest* request, int error) 16 : URLRequestJob(request), error_(error) {} 17 18 URLRequestErrorJob::~URLRequestErrorJob() = default; 19 Start()20void URLRequestErrorJob::Start() { 21 base::SingleThreadTaskRunner::GetCurrentDefault()->PostTask( 22 FROM_HERE, base::BindOnce(&URLRequestErrorJob::StartAsync, 23 weak_factory_.GetWeakPtr())); 24 } 25 Kill()26void URLRequestErrorJob::Kill() { 27 weak_factory_.InvalidateWeakPtrs(); 28 URLRequestJob::Kill(); 29 } 30 StartAsync()31void URLRequestErrorJob::StartAsync() { 32 NotifyStartError(error_); 33 } 34 35 } // namespace net 36