OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 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 | 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 "platform/testing/weburl_loader_mock.h" | 5 #include "platform/testing/weburl_loader_mock.h" |
6 | 6 |
7 #include "platform/testing/weburl_loader_mock_factory_impl.h" | 7 #include "platform/testing/weburl_loader_mock_factory_impl.h" |
8 #include "public/platform/URLConversion.h" | 8 #include "public/platform/URLConversion.h" |
9 #include "public/platform/WebData.h" | 9 #include "public/platform/WebData.h" |
10 #include "public/platform/WebURLError.h" | 10 #include "public/platform/WebURLError.h" |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 newRequest.setFrameType(request.getFrameType()); | 75 newRequest.setFrameType(request.getFrameType()); |
76 newRequest.setSkipServiceWorker(request.skipServiceWorker()); | 76 newRequest.setSkipServiceWorker(request.skipServiceWorker()); |
77 newRequest.setShouldResetAppCache(request.shouldResetAppCache()); | 77 newRequest.setShouldResetAppCache(request.shouldResetAppCache()); |
78 newRequest.setFetchRequestMode(request.getFetchRequestMode()); | 78 newRequest.setFetchRequestMode(request.getFetchRequestMode()); |
79 newRequest.setFetchCredentialsMode(request.getFetchCredentialsMode()); | 79 newRequest.setFetchCredentialsMode(request.getFetchCredentialsMode()); |
80 newRequest.setHTTPMethod(request.httpMethod()); | 80 newRequest.setHTTPMethod(request.httpMethod()); |
81 newRequest.setHTTPBody(request.httpBody()); | 81 newRequest.setHTTPBody(request.httpBody()); |
82 | 82 |
83 WeakPtr<WebURLLoaderMock> self = weak_factory_.createWeakPtr(); | 83 WeakPtr<WebURLLoaderMock> self = weak_factory_.createWeakPtr(); |
84 | 84 |
85 client_->willFollowRedirect(this, newRequest, redirectResponse, | 85 bool follow = client_->willFollowRedirect(this, newRequest, redirectResponse, |
86 kRedirectResponseOverheadBytes); | 86 kRedirectResponseOverheadBytes); |
| 87 if (!follow) |
| 88 newRequest = WebURLRequest(); |
87 | 89 |
88 // |this| might be deleted in willFollowRedirect(). | 90 // |this| might be deleted in willFollowRedirect(). |
89 if (!self) | 91 if (!self) |
90 return newRequest; | 92 return newRequest; |
91 | 93 |
92 if (redirectURL != KURL(newRequest.url())) { | 94 if (!follow) |
93 // Only follow the redirect if WebKit left the URL unmodified. | |
94 // We assume that WebKit only changes the URL to suppress a redirect, and we | |
95 // assume that it does so by setting it to be invalid. | |
96 DCHECK(!newRequest.url().isValid()); | |
97 cancel(); | 95 cancel(); |
98 } | |
99 | 96 |
100 return newRequest; | 97 return newRequest; |
101 } | 98 } |
102 | 99 |
103 void WebURLLoaderMock::loadSynchronously(const WebURLRequest& request, | 100 void WebURLLoaderMock::loadSynchronously(const WebURLRequest& request, |
104 WebURLResponse& response, | 101 WebURLResponse& response, |
105 WebURLError& error, | 102 WebURLError& error, |
106 WebData& data, | 103 WebData& data, |
107 int64_t& encoded_data_length) { | 104 int64_t& encoded_data_length) { |
108 if (factory_->IsMockedURL(request.url())) { | 105 if (factory_->IsMockedURL(request.url())) { |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 // In principle this is NOTIMPLEMENTED(), but if we put that here it floods | 158 // In principle this is NOTIMPLEMENTED(), but if we put that here it floods |
162 // the console during webkit unit tests, so we leave the function empty. | 159 // the console during webkit unit tests, so we leave the function empty. |
163 DCHECK(runner); | 160 DCHECK(runner); |
164 } | 161 } |
165 | 162 |
166 WeakPtr<WebURLLoaderMock> WebURLLoaderMock::GetWeakPtr() { | 163 WeakPtr<WebURLLoaderMock> WebURLLoaderMock::GetWeakPtr() { |
167 return weak_factory_.createWeakPtr(); | 164 return weak_factory_.createWeakPtr(); |
168 } | 165 } |
169 | 166 |
170 } // namespace blink | 167 } // namespace blink |
OLD | NEW |