Chromium Code Reviews| Index: content/browser/net/url_request_mock_http_job.cc |
| diff --git a/content/browser/net/url_request_mock_http_job.cc b/content/browser/net/url_request_mock_http_job.cc |
| index 2691e2fa353b1b5ec6e3497ed1a39778357c60bc..18d4de4b55672d9d14676a1577e376c84db2af7e 100644 |
| --- a/content/browser/net/url_request_mock_http_job.cc |
| +++ b/content/browser/net/url_request_mock_http_job.cc |
| @@ -15,21 +15,30 @@ |
| #include "net/url_request/url_request_filter.h" |
| static const char kMockHostname[] = "mock.http"; |
| +static const char kMockHostnameOfTempDir[] = "mock.temp.http"; |
| static const FilePath::CharType kMockHeaderFileSuffix[] = |
| FILE_PATH_LITERAL(".mock-http-headers"); |
| -FilePath URLRequestMockHTTPJob::base_path_; |
| +FilePath URLRequestMockHTTPJob::test_dir_; |
| +FilePath URLRequestMockHTTPJob::temp_dir_; |
| // static |
| net::URLRequestJob* URLRequestMockHTTPJob::Factory(net::URLRequest* request, |
| const std::string& scheme) { |
| return new URLRequestMockHTTPJob(request, |
| - GetOnDiskPath(base_path_, request, scheme)); |
| + GetOnDiskPath(test_dir_, request, scheme)); |
| } |
| // static |
| -void URLRequestMockHTTPJob::AddUrlHandler(const FilePath& base_path) { |
| - base_path_ = base_path; |
| +net::URLRequestJob* URLRequestMockHTTPJob::FactoryForMockUrlOfTempDir( |
| + net::URLRequest* request, const std::string& scheme) { |
| + return new URLRequestMockHTTPJob(request, |
| + GetOnDiskPath(temp_dir_, request, scheme)); |
| +} |
| + |
| +// static |
| +void URLRequestMockHTTPJob::AddUrlHandler(const FilePath& test_dir) { |
| + test_dir_ = test_dir; |
| // Add kMockHostname to net::URLRequestFilter. |
| net::URLRequestFilter* filter = net::URLRequestFilter::GetInstance(); |
| @@ -37,6 +46,16 @@ void URLRequestMockHTTPJob::AddUrlHandler(const FilePath& base_path) { |
| URLRequestMockHTTPJob::Factory); |
| } |
| +// static |
| +void URLRequestMockHTTPJob::AddUrlOfTempDirHandler(const FilePath& temp_dir) { |
| + temp_dir_ = temp_dir; |
| + |
| + // Add kMockHostnameOfTempDir to net::URLRequestFilter. |
| + net::URLRequestFilter* filter = net::URLRequestFilter::GetInstance(); |
| + filter->AddHostnameHandler("http", kMockHostnameOfTempDir, |
| + URLRequestMockHTTPJob::FactoryForMockUrlOfTempDir); |
| +} |
| + |
| /* static */ |
| GURL URLRequestMockHTTPJob::GetMockUrl(const FilePath& path) { |
| std::string url = "http://"; |
| @@ -49,6 +68,17 @@ GURL URLRequestMockHTTPJob::GetMockUrl(const FilePath& path) { |
| } |
| /* static */ |
| +GURL URLRequestMockHTTPJob::GetMockUrlOfTempDir(const FilePath& path) { |
| + std::string url = "http://"; |
| + url.append(kMockHostnameOfTempDir); |
| + url.append("/"); |
|
eroman
2011/08/04 20:09:44
note you can also use GURL::ReplaceComponents() to
haraken1
2011/08/08 06:18:53
Thanks, but now this routine is moved into browser
|
| + std::string path_str = path.MaybeAsASCII(); |
| + DCHECK(!path_str.empty()); // We only expect ASCII paths in tests. |
| + url.append(path_str); |
| + return GURL(url); |
| +} |
| + |
| +/* static */ |
| GURL URLRequestMockHTTPJob::GetMockViewSourceUrl(const FilePath& path) { |
| std::string url = chrome::kViewSourceScheme; |
| url.append(":"); |