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

Side by Side Diff: chrome/renderer/security_filter_peer.cc

Issue 226273005: Remove webkit's ResourceLoaderBridge interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: REBASED Created 6 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « chrome/renderer/security_filter_peer.h ('k') | content/child/blink_platform_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/security_filter_peer.h" 5 #include "chrome/renderer/security_filter_peer.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "grit/generated_resources.h" 9 #include "grit/generated_resources.h"
10 #include "net/base/net_errors.h" 10 #include "net/base/net_errors.h"
11 #include "net/http/http_response_headers.h" 11 #include "net/http/http_response_headers.h"
12 #include "ui/base/l10n/l10n_util.h" 12 #include "ui/base/l10n/l10n_util.h"
13 13
14 SecurityFilterPeer::SecurityFilterPeer( 14 SecurityFilterPeer::SecurityFilterPeer(content::RequestPeer* peer)
15 webkit_glue::ResourceLoaderBridge* resource_loader_bridge, 15 : original_peer_(peer) {}
16 content::RequestPeer* peer)
17 : original_peer_(peer),
18 resource_loader_bridge_(resource_loader_bridge) {
19 }
20 16
21 SecurityFilterPeer::~SecurityFilterPeer() { 17 SecurityFilterPeer::~SecurityFilterPeer() {
22 } 18 }
23 19
24 // static 20 // static
25 SecurityFilterPeer* 21 SecurityFilterPeer*
26 SecurityFilterPeer::CreateSecurityFilterPeerForDeniedRequest( 22 SecurityFilterPeer::CreateSecurityFilterPeerForDeniedRequest(
27 ResourceType::Type resource_type, 23 ResourceType::Type resource_type,
28 content::RequestPeer* peer, 24 content::RequestPeer* peer,
29 int os_error) { 25 int os_error) {
30 // Create a filter for SSL and CERT errors. 26 // Create a filter for SSL and CERT errors.
31 switch (os_error) { 27 switch (os_error) {
32 case net::ERR_SSL_PROTOCOL_ERROR: 28 case net::ERR_SSL_PROTOCOL_ERROR:
33 case net::ERR_CERT_COMMON_NAME_INVALID: 29 case net::ERR_CERT_COMMON_NAME_INVALID:
34 case net::ERR_CERT_DATE_INVALID: 30 case net::ERR_CERT_DATE_INVALID:
35 case net::ERR_CERT_AUTHORITY_INVALID: 31 case net::ERR_CERT_AUTHORITY_INVALID:
36 case net::ERR_CERT_CONTAINS_ERRORS: 32 case net::ERR_CERT_CONTAINS_ERRORS:
37 case net::ERR_CERT_NO_REVOCATION_MECHANISM: 33 case net::ERR_CERT_NO_REVOCATION_MECHANISM:
38 case net::ERR_CERT_UNABLE_TO_CHECK_REVOCATION: 34 case net::ERR_CERT_UNABLE_TO_CHECK_REVOCATION:
39 case net::ERR_CERT_REVOKED: 35 case net::ERR_CERT_REVOKED:
40 case net::ERR_CERT_INVALID: 36 case net::ERR_CERT_INVALID:
41 case net::ERR_CERT_WEAK_SIGNATURE_ALGORITHM: 37 case net::ERR_CERT_WEAK_SIGNATURE_ALGORITHM:
42 case net::ERR_CERT_WEAK_KEY: 38 case net::ERR_CERT_WEAK_KEY:
43 case net::ERR_CERT_NAME_CONSTRAINT_VIOLATION: 39 case net::ERR_CERT_NAME_CONSTRAINT_VIOLATION:
44 case net::ERR_INSECURE_RESPONSE: 40 case net::ERR_INSECURE_RESPONSE:
45 case net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN: 41 case net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN:
46 if (ResourceType::IsFrame(resource_type)) 42 if (ResourceType::IsFrame(resource_type))
47 return CreateSecurityFilterPeerForFrame(peer, os_error); 43 return CreateSecurityFilterPeerForFrame(peer, os_error);
48 // Any other content is entirely filtered-out. 44 // Any other content is entirely filtered-out.
49 return new ReplaceContentPeer(NULL, peer, std::string(), std::string()); 45 return new ReplaceContentPeer(peer, std::string(), std::string());
50 default: 46 default:
51 // For other errors, we use our normal error handling. 47 // For other errors, we use our normal error handling.
52 return NULL; 48 return NULL;
53 } 49 }
54 } 50 }
55 51
56 // static 52 // static
57 SecurityFilterPeer* SecurityFilterPeer::CreateSecurityFilterPeerForFrame( 53 SecurityFilterPeer* SecurityFilterPeer::CreateSecurityFilterPeerForFrame(
58 content::RequestPeer* peer, 54 content::RequestPeer* peer,
59 int os_error) { 55 int os_error) {
60 // TODO(jcampan): use a different message when getting a phishing/malware 56 // TODO(jcampan): use a different message when getting a phishing/malware
61 // error. 57 // error.
62 std::string html = base::StringPrintf( 58 std::string html = base::StringPrintf(
63 "<html><meta charset='UTF-8'>" 59 "<html><meta charset='UTF-8'>"
64 "<body style='background-color:#990000;color:white;'>" 60 "<body style='background-color:#990000;color:white;'>"
65 "%s</body></html>", 61 "%s</body></html>",
66 l10n_util::GetStringUTF8(IDS_UNSAFE_FRAME_MESSAGE).c_str()); 62 l10n_util::GetStringUTF8(IDS_UNSAFE_FRAME_MESSAGE).c_str());
67 return new ReplaceContentPeer(NULL, peer, "text/html", html); 63 return new ReplaceContentPeer(peer, "text/html", html);
68 } 64 }
69 65
70 void SecurityFilterPeer::OnUploadProgress(uint64 position, uint64 size) { 66 void SecurityFilterPeer::OnUploadProgress(uint64 position, uint64 size) {
71 original_peer_->OnUploadProgress(position, size); 67 original_peer_->OnUploadProgress(position, size);
72 } 68 }
73 69
74 bool SecurityFilterPeer::OnReceivedRedirect( 70 bool SecurityFilterPeer::OnReceivedRedirect(
75 const GURL& new_url, 71 const GURL& new_url,
76 const webkit_glue::ResourceResponseInfo& info, 72 const webkit_glue::ResourceResponseInfo& info,
77 bool* has_new_first_party_for_cookies, 73 bool* has_new_first_party_for_cookies,
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 } 122 }
127 raw_headers.push_back('\0'); 123 raw_headers.push_back('\0');
128 net::HttpResponseHeaders* new_headers = 124 net::HttpResponseHeaders* new_headers =
129 new net::HttpResponseHeaders(raw_headers); 125 new net::HttpResponseHeaders(raw_headers);
130 info_out->headers = new_headers; 126 info_out->headers = new_headers;
131 } 127 }
132 128
133 //////////////////////////////////////////////////////////////////////////////// 129 ////////////////////////////////////////////////////////////////////////////////
134 // BufferedPeer 130 // BufferedPeer
135 131
136 BufferedPeer::BufferedPeer( 132 BufferedPeer::BufferedPeer(content::RequestPeer* peer,
137 webkit_glue::ResourceLoaderBridge* resource_loader_bridge, 133 const std::string& mime_type)
138 content::RequestPeer* peer, 134 : SecurityFilterPeer(peer), mime_type_(mime_type) {}
139 const std::string& mime_type)
140 : SecurityFilterPeer(resource_loader_bridge, peer),
141 mime_type_(mime_type) {
142 }
143 135
144 BufferedPeer::~BufferedPeer() { 136 BufferedPeer::~BufferedPeer() {
145 } 137 }
146 138
147 void BufferedPeer::OnReceivedResponse( 139 void BufferedPeer::OnReceivedResponse(
148 const webkit_glue::ResourceResponseInfo& info) { 140 const webkit_glue::ResourceResponseInfo& info) {
149 ProcessResponseInfo(info, &response_info_, mime_type_); 141 ProcessResponseInfo(info, &response_info_, mime_type_);
150 } 142 }
151 143
152 void BufferedPeer::OnReceivedData(const char* data, 144 void BufferedPeer::OnReceivedData(const char* data,
(...skipping 28 matching lines...) Expand all
181 static_cast<int>(data_.size()), 173 static_cast<int>(data_.size()),
182 -1); 174 -1);
183 original_peer_->OnCompletedRequest(error_code, was_ignored_by_handler, 175 original_peer_->OnCompletedRequest(error_code, was_ignored_by_handler,
184 stale_copy_in_cache, security_info, 176 stale_copy_in_cache, security_info,
185 completion_time, total_transfer_size); 177 completion_time, total_transfer_size);
186 } 178 }
187 179
188 //////////////////////////////////////////////////////////////////////////////// 180 ////////////////////////////////////////////////////////////////////////////////
189 // ReplaceContentPeer 181 // ReplaceContentPeer
190 182
191 ReplaceContentPeer::ReplaceContentPeer( 183 ReplaceContentPeer::ReplaceContentPeer(content::RequestPeer* peer,
192 webkit_glue::ResourceLoaderBridge* resource_loader_bridge, 184 const std::string& mime_type,
193 content::RequestPeer* peer, 185 const std::string& data)
194 const std::string& mime_type, 186 : SecurityFilterPeer(peer),
195 const std::string& data)
196 : SecurityFilterPeer(resource_loader_bridge, peer),
197 mime_type_(mime_type), 187 mime_type_(mime_type),
198 data_(data) { 188 data_(data) {}
199 }
200 189
201 ReplaceContentPeer::~ReplaceContentPeer() { 190 ReplaceContentPeer::~ReplaceContentPeer() {
202 } 191 }
203 192
204 void ReplaceContentPeer::OnReceivedResponse( 193 void ReplaceContentPeer::OnReceivedResponse(
205 const webkit_glue::ResourceResponseInfo& info) { 194 const webkit_glue::ResourceResponseInfo& info) {
206 // Ignore this, we'll serve some alternate content in OnCompletedRequest. 195 // Ignore this, we'll serve some alternate content in OnCompletedRequest.
207 } 196 }
208 197
209 void ReplaceContentPeer::OnReceivedData(const char* data, 198 void ReplaceContentPeer::OnReceivedData(const char* data,
(...skipping 21 matching lines...) Expand all
231 original_peer_->OnCompletedRequest(net::OK, 220 original_peer_->OnCompletedRequest(net::OK,
232 false, 221 false,
233 stale_copy_in_cache, 222 stale_copy_in_cache,
234 security_info, 223 security_info,
235 completion_time, 224 completion_time,
236 total_transfer_size); 225 total_transfer_size);
237 226
238 // The request processing is complete, we must delete ourselves. 227 // The request processing is complete, we must delete ourselves.
239 delete this; 228 delete this;
240 } 229 }
OLDNEW
« no previous file with comments | « chrome/renderer/security_filter_peer.h ('k') | content/child/blink_platform_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698