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

Side by Side Diff: chrome/browser/android/intercept_download_resource_throttle.cc

Issue 387353003: Modify data_reduction_proxy_header to support tamper detection logic. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@work
Patch Set: Modify HasDataReductionProxyViaHeader to tell whether data reduction proxy occurs at last or not. Created 6 years, 5 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
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/browser/android/intercept_download_resource_throttle.h" 5 #include "chrome/browser/android/intercept_download_resource_throttle.h"
6 6
7 #include "components/data_reduction_proxy/common/data_reduction_proxy_headers.h" 7 #include "components/data_reduction_proxy/common/data_reduction_proxy_headers.h"
8 #include "content/public/browser/android/download_controller_android.h" 8 #include "content/public/browser/android/download_controller_android.h"
9 #include "content/public/browser/resource_controller.h" 9 #include "content/public/browser/resource_controller.h"
10 #include "net/http/http_request_headers.h" 10 #include "net/http/http_request_headers.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 // or a proxy, then the network stack should handle the download. The one 47 // or a proxy, then the network stack should handle the download. The one
48 // exception is a request that is fetched via the Chrome Proxy and does not 48 // exception is a request that is fetched via the Chrome Proxy and does not
49 // authenticate with the origin. 49 // authenticate with the origin.
50 if (request_->response_info().did_use_http_auth) { 50 if (request_->response_info().did_use_http_auth) {
51 #if defined(SPDY_PROXY_AUTH_ORIGIN) 51 #if defined(SPDY_PROXY_AUTH_ORIGIN)
52 net::HttpRequestHeaders headers; 52 net::HttpRequestHeaders headers;
53 request_->GetFullRequestHeaders(&headers); 53 request_->GetFullRequestHeaders(&headers);
54 if (headers.HasHeader(net::HttpRequestHeaders::kAuthorization) || 54 if (headers.HasHeader(net::HttpRequestHeaders::kAuthorization) ||
55 !(request_->response_info().headers && 55 !(request_->response_info().headers &&
56 data_reduction_proxy::HasDataReductionProxyViaHeader( 56 data_reduction_proxy::HasDataReductionProxyViaHeader(
57 request_->response_info().headers))) { 57 request_->response_info().headers, NULL))) {
58 return; 58 return;
59 } 59 }
60 #else 60 #else
61 return; 61 return;
62 #endif 62 #endif
63 } 63 }
64 64
65 if (request_->url_chain().empty()) 65 if (request_->url_chain().empty())
66 return; 66 return;
67 67
68 GURL url = request_->url_chain().back(); 68 GURL url = request_->url_chain().back();
69 if (!url.SchemeIsHTTPOrHTTPS()) 69 if (!url.SchemeIsHTTPOrHTTPS())
70 return; 70 return;
71 71
72 content::DownloadControllerAndroid::Get()->CreateGETDownload( 72 content::DownloadControllerAndroid::Get()->CreateGETDownload(
73 render_process_id_, render_view_id_, request_id_); 73 render_process_id_, render_view_id_, request_id_);
74 controller()->Cancel(); 74 controller()->Cancel();
75 } 75 }
76 76
77 } // namespace chrome 77 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698