summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net/url_request_failed_dns_job.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/net/url_request_failed_dns_job.cc')
-rw-r--r--chrome/browser/net/url_request_failed_dns_job.cc37
1 files changed, 37 insertions, 0 deletions
diff --git a/chrome/browser/net/url_request_failed_dns_job.cc b/chrome/browser/net/url_request_failed_dns_job.cc
new file mode 100644
index 0000000..e436204
--- /dev/null
+++ b/chrome/browser/net/url_request_failed_dns_job.cc
@@ -0,0 +1,37 @@
+// Copyright (c) 2006-2008 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.
+
+#include "chrome/browser/net/url_request_failed_dns_job.h"
+
+#include "base/message_loop.h"
+#include "googleurl/src/gurl.h"
+#include "net/base/net_errors.h"
+#include "net/url_request/url_request.h"
+#include "net/url_request/url_request_filter.h"
+
+const char URLRequestFailedDnsJob::kTestUrl[] =
+ "http://url.handled.by.fake.dns/";
+
+void URLRequestFailedDnsJob::Start() {
+ MessageLoop::current()->PostTask(FROM_HERE, NewRunnableMethod(
+ this, &URLRequestFailedDnsJob::StartAsync));
+}
+
+/* static */
+void URLRequestFailedDnsJob::AddUrlHandler() {
+ URLRequestFilter* filter = URLRequestFilter::GetInstance();
+ filter->AddUrlHandler(GURL(kTestUrl),
+ &URLRequestFailedDnsJob::Factory);
+}
+
+/*static */
+URLRequestJob* URLRequestFailedDnsJob::Factory(URLRequest* request,
+ const std::string& scheme) {
+ return new URLRequestFailedDnsJob(request);
+}
+
+void URLRequestFailedDnsJob::StartAsync() {
+ NotifyStartError(URLRequestStatus(URLRequestStatus::FAILED,
+ net::ERR_NAME_NOT_RESOLVED));
+}