| Index: webkit/support/weburl_loader_mock_factory.cc
|
| diff --git a/webkit/support/weburl_loader_mock_factory.cc b/webkit/support/weburl_loader_mock_factory.cc
|
| deleted file mode 100644
|
| index f459211f0152cb491dae1a0ede8a772824e445ac..0000000000000000000000000000000000000000
|
| --- a/webkit/support/weburl_loader_mock_factory.cc
|
| +++ /dev/null
|
| @@ -1,192 +0,0 @@
|
| -// Copyright (c) 2012 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 "webkit/support/weburl_loader_mock_factory.h"
|
| -
|
| -#include "base/file_util.h"
|
| -#include "base/logging.h"
|
| -#include "base/run_loop.h"
|
| -#include "third_party/WebKit/public/platform/WebString.h"
|
| -#include "third_party/WebKit/public/platform/WebURLError.h"
|
| -#include "third_party/WebKit/public/platform/WebURLRequest.h"
|
| -#include "third_party/WebKit/public/platform/WebURLResponse.h"
|
| -#include "third_party/WebKit/public/web/WebCache.h"
|
| -#include "webkit/support/webkit_support.h"
|
| -#include "webkit/support/weburl_loader_mock.h"
|
| -
|
| -using WebKit::WebCache;
|
| -using WebKit::WebData;
|
| -using WebKit::WebString;
|
| -using WebKit::WebURL;
|
| -using WebKit::WebURLError;
|
| -using WebKit::WebURLLoader;
|
| -using WebKit::WebURLRequest;
|
| -using WebKit::WebURLResponse;
|
| -
|
| -WebURLLoaderMockFactory::WebURLLoaderMockFactory() {}
|
| -
|
| -WebURLLoaderMockFactory::~WebURLLoaderMockFactory() {}
|
| -
|
| -void WebURLLoaderMockFactory::RegisterURL(const WebURL& url,
|
| - const WebURLResponse& response,
|
| - const WebString& file_path) {
|
| - ResponseInfo response_info;
|
| - response_info.response = response;
|
| - if (!file_path.isNull() && !file_path.isEmpty()) {
|
| -#if defined(OS_POSIX)
|
| - // TODO(jcivelli): On Linux, UTF8 might not be correct.
|
| - response_info.file_path =
|
| - base::FilePath(static_cast<std::string>(file_path.utf8()));
|
| -#elif defined(OS_WIN)
|
| - string16 file_path_16 = file_path;
|
| - response_info.file_path = base::FilePath(std::wstring(
|
| - file_path_16.data(), file_path_16.length()));
|
| -#endif
|
| - DCHECK(base::PathExists(response_info.file_path))
|
| - << response_info.file_path.MaybeAsASCII() << " does not exist.";
|
| - }
|
| -
|
| - DCHECK(url_to_reponse_info_.find(url) == url_to_reponse_info_.end());
|
| - url_to_reponse_info_[url] = response_info;
|
| -}
|
| -
|
| -
|
| -void WebURLLoaderMockFactory::RegisterErrorURL(const WebURL& url,
|
| - const WebURLResponse& response,
|
| - const WebURLError& error) {
|
| - DCHECK(url_to_reponse_info_.find(url) == url_to_reponse_info_.end());
|
| - RegisterURL(url, response, WebString());
|
| - url_to_error_info_[url] = error;
|
| -}
|
| -
|
| -void WebURLLoaderMockFactory::UnregisterURL(const WebKit::WebURL& url) {
|
| - URLToResponseMap::iterator iter = url_to_reponse_info_.find(url);
|
| - DCHECK(iter != url_to_reponse_info_.end());
|
| - url_to_reponse_info_.erase(iter);
|
| -
|
| - URLToErrorMap::iterator error_iter = url_to_error_info_.find(url);
|
| - if (error_iter != url_to_error_info_.end())
|
| - url_to_error_info_.erase(error_iter);
|
| -}
|
| -
|
| -void WebURLLoaderMockFactory::UnregisterAllURLs() {
|
| - url_to_reponse_info_.clear();
|
| - url_to_error_info_.clear();
|
| - WebCache::clear();
|
| -}
|
| -
|
| -void WebURLLoaderMockFactory::ServeAsynchronousRequests() {
|
| - last_handled_asynchronous_request_.reset();
|
| - // Serving a request might trigger more requests, so we cannot iterate on
|
| - // pending_loaders_ as it might get modified.
|
| - while (!pending_loaders_.empty()) {
|
| - LoaderToRequestMap::iterator iter = pending_loaders_.begin();
|
| - WebURLLoaderMock* loader = iter->first;
|
| - const WebURLRequest& request = iter->second;
|
| - WebURLResponse response;
|
| - WebURLError error;
|
| - WebData data;
|
| - last_handled_asynchronous_request_ = request;
|
| - LoadRequest(request, &response, &error, &data);
|
| - // Follow any redirects while the loader is still active.
|
| - while (response.httpStatusCode() >= 300 &&
|
| - response.httpStatusCode() < 400) {
|
| - WebURLRequest newRequest = loader->ServeRedirect(response);
|
| - if (!IsPending(loader) || loader->isDeferred())
|
| - break;
|
| - last_handled_asynchronous_request_ = newRequest;
|
| - LoadRequest(newRequest, &response, &error, &data);
|
| - }
|
| - // Serve the request if the loader is still active.
|
| - if (IsPending(loader) && !loader->isDeferred())
|
| - loader->ServeAsynchronousRequest(response, data, error);
|
| - // The loader might have already been removed.
|
| - pending_loaders_.erase(loader);
|
| - }
|
| - base::RunLoop().RunUntilIdle();
|
| -}
|
| -
|
| -WebKit::WebURLRequest
|
| -WebURLLoaderMockFactory::GetLastHandledAsynchronousRequest() {
|
| - return last_handled_asynchronous_request_;
|
| -}
|
| -
|
| -bool WebURLLoaderMockFactory::IsMockedURL(const WebKit::WebURL& url) {
|
| - return url_to_reponse_info_.find(url) != url_to_reponse_info_.end();
|
| -}
|
| -
|
| -void WebURLLoaderMockFactory::CancelLoad(WebURLLoaderMock* loader) {
|
| - LoaderToRequestMap::iterator iter = pending_loaders_.find(loader);
|
| - DCHECK(iter != pending_loaders_.end());
|
| - pending_loaders_.erase(iter);
|
| -}
|
| -
|
| -WebURLLoader* WebURLLoaderMockFactory::CreateURLLoader(
|
| - WebURLLoader* default_loader) {
|
| - DCHECK(default_loader);
|
| - return new WebURLLoaderMock(this, default_loader);
|
| -}
|
| -
|
| -void WebURLLoaderMockFactory::LoadSynchronously(const WebURLRequest& request,
|
| - WebURLResponse* response,
|
| - WebURLError* error,
|
| - WebData* data) {
|
| - LoadRequest(request, response, error, data);
|
| -}
|
| -
|
| -void WebURLLoaderMockFactory::LoadAsynchronouly(const WebURLRequest& request,
|
| - WebURLLoaderMock* loader) {
|
| - LoaderToRequestMap::iterator iter = pending_loaders_.find(loader);
|
| - DCHECK(iter == pending_loaders_.end());
|
| - pending_loaders_[loader] = request;
|
| -}
|
| -
|
| -void WebURLLoaderMockFactory::LoadRequest(const WebURLRequest& request,
|
| - WebURLResponse* response,
|
| - WebURLError* error,
|
| - WebData* data) {
|
| - URLToErrorMap::const_iterator error_iter =
|
| - url_to_error_info_.find(request.url());
|
| - if (error_iter != url_to_error_info_.end())
|
| - *error = error_iter->second;
|
| -
|
| - URLToResponseMap::const_iterator iter =
|
| - url_to_reponse_info_.find(request.url());
|
| - if (iter == url_to_reponse_info_.end()) {
|
| - // Non mocked URLs should not have been passed to the default URLLoader.
|
| - NOTREACHED();
|
| - return;
|
| - }
|
| -
|
| - if (!error->reason && !ReadFile(iter->second.file_path, data)) {
|
| - NOTREACHED();
|
| - return;
|
| - }
|
| -
|
| - *response = iter->second.response;
|
| -}
|
| -
|
| -bool WebURLLoaderMockFactory::IsPending(WebURLLoaderMock* loader) {
|
| - LoaderToRequestMap::iterator iter = pending_loaders_.find(loader);
|
| - return iter != pending_loaders_.end();
|
| -}
|
| -
|
| -// static
|
| -bool WebURLLoaderMockFactory::ReadFile(const base::FilePath& file_path,
|
| - WebData* data) {
|
| - int64 file_size = 0;
|
| - if (!file_util::GetFileSize(file_path, &file_size))
|
| - return false;
|
| -
|
| - int size = static_cast<int>(file_size);
|
| - scoped_ptr<char[]> buffer(new char[size]);
|
| - data->reset();
|
| - int read_count = file_util::ReadFile(file_path, buffer.get(), size);
|
| - if (read_count == -1)
|
| - return false;
|
| - DCHECK(read_count == size);
|
| - data->assign(buffer.get(), size);
|
| -
|
| - return true;
|
| -}
|
|
|