// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // This class simulates what wininet does when a dns lookup fails. #ifndef CHROME_BROWSER_NET_URL_REQUEST_FAILED_DNS_JOB_H_ #define CHROME_BROWSER_NET_URL_REQUEST_FAILED_DNS_JOB_H_ #pragma once #include "base/task.h" #include "net/url_request/url_request_job.h" class URLRequestFailedDnsJob : public net::URLRequestJob { public: explicit URLRequestFailedDnsJob(net::URLRequest* request); virtual void Start(); static net::URLRequestJob* Factory(net::URLRequest* request, const std::string& scheme); // A test URL that can be used in UI tests. static const char kTestUrl[]; // Adds the testing URLs to the net::URLRequestFilter. static void AddUrlHandler(); private: ~URLRequestFailedDnsJob(); // Simulate a DNS failure. void StartAsync(); ScopedRunnableMethodFactory<URLRequestFailedDnsJob> method_factory_; }; #endif // CHROME_BROWSER_NET_URL_REQUEST_FAILED_DNS_JOB_H_