Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(962)

Side by Side Diff: ios/web/public/test/response_providers/html_response_provider.mm

Issue 1890333002: Web shell test to go back and forward. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 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.
baxley 2016/04/15 23:57:48 This file is being moved upstream so it can be use
4
5 #include "ios/web/public/test/response_providers/html_response_provider.h"
6
7 namespace {
8 std::map<GURL, HtmlResponseProviderImpl::Response> BuildResponseMap(
9 const std::map<GURL, std::string>& responses_body,
10 scoped_refptr<net::HttpResponseHeaders> headers) {
11 std::map<GURL, HtmlResponseProviderImpl::Response> responses;
12 for (const std::pair<const GURL, std::string>& pair : responses_body) {
13 responses.insert(std::make_pair(
14 pair.first, HtmlResponseProviderImpl::Response(pair.second, headers)));
15 }
16 return responses;
17 }
18 } // namespace
19
20 HtmlResponseProviderImpl::Response::Response(
21 const std::string& body,
22 const scoped_refptr<net::HttpResponseHeaders>& headers)
23 : body(body), headers(headers) {}
24
25 HtmlResponseProviderImpl::Response::Response() : body(), headers() {}
26
27 HtmlResponseProviderImpl::Response::~Response() {}
28
29 HtmlResponseProviderImpl::HtmlResponseProviderImpl() : responses_() {}
30
31 // static
32 HtmlResponseProviderImpl::Response
33 HtmlResponseProviderImpl::GetRedirectResponse(
34 const GURL& destination_url,
35 const net::HttpStatusCode& http_status) {
36 auto response_headers = web::ResponseProvider::GetRedirectResponseHeaders(
37 destination_url.spec(), http_status);
38 return HtmlResponseProviderImpl::Response("", response_headers);
39 }
40
41 // static
42 HtmlResponseProviderImpl::Response HtmlResponseProviderImpl::GetSimpleResponse(
43 const std::string& body) {
44 auto response_headers =
45 web::ResponseProvider::GetResponseHeaders("text/html", net::HTTP_OK);
46 return HtmlResponseProviderImpl::Response(body, response_headers);
47 }
48
49 HtmlResponseProviderImpl::HtmlResponseProviderImpl(
50 const std::map<GURL, std::string>& responses)
51 : responses_(BuildResponseMap(
52 responses,
53 web::ResponseProvider::GetDefaultResponseHeaders())) {}
54
55 HtmlResponseProviderImpl::HtmlResponseProviderImpl(
56 const std::map<GURL, HtmlResponseProviderImpl::Response>& responses)
57 : responses_(responses) {}
58
59 HtmlResponseProviderImpl::~HtmlResponseProviderImpl() {}
60
61 bool HtmlResponseProviderImpl::CanHandleRequest(
62 const web::ResponseProvider::Request& request) {
63 return responses_.find(request.url) != responses_.end();
64 }
65
66 void HtmlResponseProviderImpl::GetResponseHeadersAndBody(
67 const web::ResponseProvider::Request& request,
68 scoped_refptr<net::HttpResponseHeaders>* headers,
69 std::string* response_body) {
70 const Response& response = responses_.at(request.url);
71 *headers = response.headers;
72 *response_body = response.body;
73 }
74
75 HtmlResponseProvider::HtmlResponseProvider()
76 : response_provider_impl_(new HtmlResponseProviderImpl()) {}
77
78 HtmlResponseProvider::HtmlResponseProvider(
79 const std::map<GURL, std::string>& responses)
80 : response_provider_impl_(new HtmlResponseProviderImpl(responses)) {}
81
82 HtmlResponseProvider::HtmlResponseProvider(
83 const std::map<GURL, HtmlResponseProviderImpl::Response>& responses)
84 : response_provider_impl_(new HtmlResponseProviderImpl(responses)) {}
85
86 HtmlResponseProvider::~HtmlResponseProvider() {}
87
88 bool HtmlResponseProvider::CanHandleRequest(
89 const web::ResponseProvider::Request& request) {
90 return response_provider_impl_->CanHandleRequest(request);
91 }
92
93 void HtmlResponseProvider::GetResponseHeadersAndBody(
94 const Request& request,
95 scoped_refptr<net::HttpResponseHeaders>* headers,
96 std::string* response_body) {
97 response_provider_impl_->GetResponseHeadersAndBody(request, headers,
98 response_body);
99 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698