1// Copyright (c) 2010 The Chromium Authors. All rights reserved.
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 "chrome/browser/net/url_request_mock_link_doctor_job.h"
6
7#include "base/path_service.h"
8#include "chrome/browser/google/google_util.h"
9#include "chrome/common/chrome_paths.h"
10#include "googleurl/src/gurl.h"
11#include "net/url_request/url_request_filter.h"
12
13namespace {
14
15FilePath GetMockFilePath() {
16  FilePath test_dir;
17  bool success = PathService::Get(chrome::DIR_TEST_DATA, &test_dir);
18  DCHECK(success);
19  return test_dir.AppendASCII("mock-link-doctor.html");
20}
21
22}  // namespace
23
24// static
25net::URLRequestJob* URLRequestMockLinkDoctorJob::Factory(
26    net::URLRequest* request,
27    const std::string& scheme) {
28  return new URLRequestMockLinkDoctorJob(request);
29}
30
31// static
32void URLRequestMockLinkDoctorJob::AddUrlHandler() {
33  net::URLRequestFilter* filter = net::URLRequestFilter::GetInstance();
34  filter->AddHostnameHandler("http",
35                             GURL(google_util::kLinkDoctorBaseURL).host(),
36                             URLRequestMockLinkDoctorJob::Factory);
37}
38
39URLRequestMockLinkDoctorJob::URLRequestMockLinkDoctorJob(
40    net::URLRequest* request)
41    : URLRequestMockHTTPJob(request, GetMockFilePath()) {
42}
43