| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "content/child/web_url_loader_impl.h" | 5 #include "content/child/web_url_loader_impl.h" |
| 6 | 6 |
| 7 #include <string.h> | 7 #include <string.h> |
| 8 | 8 |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/memory/weak_ptr.h" | 10 #include "base/memory/weak_ptr.h" |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 "Content-type: text/html\n\n" | 54 "Content-type: text/html\n\n" |
| 55 "ah!"; | 55 "ah!"; |
| 56 | 56 |
| 57 class TestBridge : public ResourceLoaderBridge, | 57 class TestBridge : public ResourceLoaderBridge, |
| 58 public base::SupportsWeakPtr<TestBridge> { | 58 public base::SupportsWeakPtr<TestBridge> { |
| 59 public: | 59 public: |
| 60 TestBridge() : peer_(NULL), canceled_(false) {} | 60 TestBridge() : peer_(NULL), canceled_(false) {} |
| 61 virtual ~TestBridge() {} | 61 virtual ~TestBridge() {} |
| 62 | 62 |
| 63 // ResourceLoaderBridge implementation: | 63 // ResourceLoaderBridge implementation: |
| 64 virtual void SetRequestBody(ResourceRequestBody* request_body) OVERRIDE {} | 64 virtual void SetRequestBody(ResourceRequestBody* request_body) override {} |
| 65 | 65 |
| 66 virtual bool Start(RequestPeer* peer) OVERRIDE { | 66 virtual bool Start(RequestPeer* peer) override { |
| 67 EXPECT_FALSE(peer_); | 67 EXPECT_FALSE(peer_); |
| 68 peer_ = peer; | 68 peer_ = peer; |
| 69 return true; | 69 return true; |
| 70 } | 70 } |
| 71 | 71 |
| 72 virtual void Cancel() OVERRIDE { | 72 virtual void Cancel() override { |
| 73 EXPECT_FALSE(canceled_); | 73 EXPECT_FALSE(canceled_); |
| 74 canceled_ = true; | 74 canceled_ = true; |
| 75 } | 75 } |
| 76 | 76 |
| 77 virtual void SetDefersLoading(bool value) OVERRIDE {} | 77 virtual void SetDefersLoading(bool value) override {} |
| 78 | 78 |
| 79 virtual void DidChangePriority(net::RequestPriority new_priority, | 79 virtual void DidChangePriority(net::RequestPriority new_priority, |
| 80 int intra_priority_value) OVERRIDE {} | 80 int intra_priority_value) override {} |
| 81 | 81 |
| 82 virtual bool AttachThreadedDataReceiver( | 82 virtual bool AttachThreadedDataReceiver( |
| 83 blink::WebThreadedDataReceiver* threaded_data_receiver) OVERRIDE { | 83 blink::WebThreadedDataReceiver* threaded_data_receiver) override { |
| 84 NOTREACHED(); | 84 NOTREACHED(); |
| 85 return false; | 85 return false; |
| 86 } | 86 } |
| 87 | 87 |
| 88 virtual void SyncLoad(SyncLoadResponse* response) OVERRIDE {} | 88 virtual void SyncLoad(SyncLoadResponse* response) override {} |
| 89 | 89 |
| 90 RequestPeer* peer() { return peer_; } | 90 RequestPeer* peer() { return peer_; } |
| 91 | 91 |
| 92 bool canceled() { return canceled_; } | 92 bool canceled() { return canceled_; } |
| 93 | 93 |
| 94 private: | 94 private: |
| 95 RequestPeer* peer_; | 95 RequestPeer* peer_; |
| 96 bool canceled_; | 96 bool canceled_; |
| 97 | 97 |
| 98 DISALLOW_COPY_AND_ASSIGN(TestBridge); | 98 DISALLOW_COPY_AND_ASSIGN(TestBridge); |
| 99 }; | 99 }; |
| 100 | 100 |
| 101 class TestResourceDispatcher : public ResourceDispatcher { | 101 class TestResourceDispatcher : public ResourceDispatcher { |
| 102 public: | 102 public: |
| 103 TestResourceDispatcher() : ResourceDispatcher(NULL) {} | 103 TestResourceDispatcher() : ResourceDispatcher(NULL) {} |
| 104 virtual ~TestResourceDispatcher() {} | 104 virtual ~TestResourceDispatcher() {} |
| 105 | 105 |
| 106 // ResourceDispatcher implementation: | 106 // ResourceDispatcher implementation: |
| 107 virtual ResourceLoaderBridge* CreateBridge( | 107 virtual ResourceLoaderBridge* CreateBridge( |
| 108 const RequestInfo& request_info) OVERRIDE { | 108 const RequestInfo& request_info) override { |
| 109 EXPECT_FALSE(bridge_.get()); | 109 EXPECT_FALSE(bridge_.get()); |
| 110 TestBridge* bridge = new TestBridge(); | 110 TestBridge* bridge = new TestBridge(); |
| 111 bridge_ = bridge->AsWeakPtr(); | 111 bridge_ = bridge->AsWeakPtr(); |
| 112 return bridge; | 112 return bridge; |
| 113 } | 113 } |
| 114 | 114 |
| 115 TestBridge* bridge() { return bridge_.get(); } | 115 TestBridge* bridge() { return bridge_.get(); } |
| 116 | 116 |
| 117 private: | 117 private: |
| 118 base::WeakPtr<TestBridge> bridge_; | 118 base::WeakPtr<TestBridge> bridge_; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 134 did_receive_response_(false), | 134 did_receive_response_(false), |
| 135 did_finish_(false) { | 135 did_finish_(false) { |
| 136 } | 136 } |
| 137 | 137 |
| 138 virtual ~TestWebURLLoaderClient() {} | 138 virtual ~TestWebURLLoaderClient() {} |
| 139 | 139 |
| 140 // blink::WebURLLoaderClient implementation: | 140 // blink::WebURLLoaderClient implementation: |
| 141 virtual void willSendRequest( | 141 virtual void willSendRequest( |
| 142 blink::WebURLLoader* loader, | 142 blink::WebURLLoader* loader, |
| 143 blink::WebURLRequest& newRequest, | 143 blink::WebURLRequest& newRequest, |
| 144 const blink::WebURLResponse& redirectResponse) OVERRIDE { | 144 const blink::WebURLResponse& redirectResponse) override { |
| 145 EXPECT_TRUE(loader_); | 145 EXPECT_TRUE(loader_); |
| 146 EXPECT_EQ(loader_.get(), loader); | 146 EXPECT_EQ(loader_.get(), loader); |
| 147 // No test currently simulates mutiple redirects. | 147 // No test currently simulates mutiple redirects. |
| 148 EXPECT_FALSE(did_receive_redirect_); | 148 EXPECT_FALSE(did_receive_redirect_); |
| 149 did_receive_redirect_ = true; | 149 did_receive_redirect_ = true; |
| 150 | 150 |
| 151 if (delete_on_receive_redirect_) | 151 if (delete_on_receive_redirect_) |
| 152 loader_.reset(); | 152 loader_.reset(); |
| 153 } | 153 } |
| 154 | 154 |
| 155 virtual void didSendData(blink::WebURLLoader* loader, | 155 virtual void didSendData(blink::WebURLLoader* loader, |
| 156 unsigned long long bytesSent, | 156 unsigned long long bytesSent, |
| 157 unsigned long long totalBytesToBeSent) OVERRIDE { | 157 unsigned long long totalBytesToBeSent) override { |
| 158 EXPECT_TRUE(loader_); | 158 EXPECT_TRUE(loader_); |
| 159 EXPECT_EQ(loader_.get(), loader); | 159 EXPECT_EQ(loader_.get(), loader); |
| 160 } | 160 } |
| 161 | 161 |
| 162 virtual void didReceiveResponse( | 162 virtual void didReceiveResponse( |
| 163 blink::WebURLLoader* loader, | 163 blink::WebURLLoader* loader, |
| 164 const blink::WebURLResponse& response) OVERRIDE { | 164 const blink::WebURLResponse& response) override { |
| 165 EXPECT_TRUE(loader_); | 165 EXPECT_TRUE(loader_); |
| 166 EXPECT_EQ(loader_.get(), loader); | 166 EXPECT_EQ(loader_.get(), loader); |
| 167 | 167 |
| 168 // Only multipart requests may receive multiple response headers. | 168 // Only multipart requests may receive multiple response headers. |
| 169 EXPECT_TRUE(expect_multipart_response_ || !did_receive_response_); | 169 EXPECT_TRUE(expect_multipart_response_ || !did_receive_response_); |
| 170 | 170 |
| 171 did_receive_response_ = true; | 171 did_receive_response_ = true; |
| 172 if (delete_on_receive_response_) | 172 if (delete_on_receive_response_) |
| 173 loader_.reset(); | 173 loader_.reset(); |
| 174 } | 174 } |
| 175 | 175 |
| 176 virtual void didDownloadData(blink::WebURLLoader* loader, | 176 virtual void didDownloadData(blink::WebURLLoader* loader, |
| 177 int dataLength, | 177 int dataLength, |
| 178 int encodedDataLength) OVERRIDE { | 178 int encodedDataLength) override { |
| 179 EXPECT_TRUE(loader_); | 179 EXPECT_TRUE(loader_); |
| 180 EXPECT_EQ(loader_.get(), loader); | 180 EXPECT_EQ(loader_.get(), loader); |
| 181 } | 181 } |
| 182 | 182 |
| 183 virtual void didReceiveData(blink::WebURLLoader* loader, | 183 virtual void didReceiveData(blink::WebURLLoader* loader, |
| 184 const char* data, | 184 const char* data, |
| 185 int dataLength, | 185 int dataLength, |
| 186 int encodedDataLength) OVERRIDE { | 186 int encodedDataLength) override { |
| 187 EXPECT_TRUE(loader_); | 187 EXPECT_TRUE(loader_); |
| 188 EXPECT_EQ(loader_.get(), loader); | 188 EXPECT_EQ(loader_.get(), loader); |
| 189 // The response should have started, but must not have finished, or failed. | 189 // The response should have started, but must not have finished, or failed. |
| 190 EXPECT_TRUE(did_receive_response_); | 190 EXPECT_TRUE(did_receive_response_); |
| 191 EXPECT_FALSE(did_finish_); | 191 EXPECT_FALSE(did_finish_); |
| 192 EXPECT_EQ(net::OK, error_.reason); | 192 EXPECT_EQ(net::OK, error_.reason); |
| 193 EXPECT_EQ("", error_.domain.utf8()); | 193 EXPECT_EQ("", error_.domain.utf8()); |
| 194 | 194 |
| 195 received_data_.append(data, dataLength); | 195 received_data_.append(data, dataLength); |
| 196 | 196 |
| 197 if (delete_on_receive_data_) | 197 if (delete_on_receive_data_) |
| 198 loader_.reset(); | 198 loader_.reset(); |
| 199 } | 199 } |
| 200 | 200 |
| 201 virtual void didReceiveCachedMetadata(blink::WebURLLoader* loader, | 201 virtual void didReceiveCachedMetadata(blink::WebURLLoader* loader, |
| 202 const char* data, | 202 const char* data, |
| 203 int dataLength) OVERRIDE { | 203 int dataLength) override { |
| 204 EXPECT_EQ(loader_.get(), loader); | 204 EXPECT_EQ(loader_.get(), loader); |
| 205 } | 205 } |
| 206 | 206 |
| 207 virtual void didFinishLoading(blink::WebURLLoader* loader, | 207 virtual void didFinishLoading(blink::WebURLLoader* loader, |
| 208 double finishTime, | 208 double finishTime, |
| 209 int64_t totalEncodedDataLength) OVERRIDE { | 209 int64_t totalEncodedDataLength) override { |
| 210 EXPECT_TRUE(loader_); | 210 EXPECT_TRUE(loader_); |
| 211 EXPECT_EQ(loader_.get(), loader); | 211 EXPECT_EQ(loader_.get(), loader); |
| 212 EXPECT_TRUE(did_receive_response_); | 212 EXPECT_TRUE(did_receive_response_); |
| 213 EXPECT_FALSE(did_finish_); | 213 EXPECT_FALSE(did_finish_); |
| 214 did_finish_ = true; | 214 did_finish_ = true; |
| 215 | 215 |
| 216 if (delete_on_finish_) | 216 if (delete_on_finish_) |
| 217 loader_.reset(); | 217 loader_.reset(); |
| 218 } | 218 } |
| 219 | 219 |
| 220 virtual void didFail(blink::WebURLLoader* loader, | 220 virtual void didFail(blink::WebURLLoader* loader, |
| 221 const blink::WebURLError& error) OVERRIDE { | 221 const blink::WebURLError& error) override { |
| 222 EXPECT_TRUE(loader_); | 222 EXPECT_TRUE(loader_); |
| 223 EXPECT_EQ(loader_.get(), loader); | 223 EXPECT_EQ(loader_.get(), loader); |
| 224 EXPECT_FALSE(did_finish_); | 224 EXPECT_FALSE(did_finish_); |
| 225 error_ = error; | 225 error_ = error; |
| 226 | 226 |
| 227 if (delete_on_fail_) | 227 if (delete_on_fail_) |
| 228 loader_.reset(); | 228 loader_.reset(); |
| 229 } | 229 } |
| 230 | 230 |
| 231 WebURLLoaderImpl* loader() { return loader_.get(); } | 231 WebURLLoaderImpl* loader() { return loader_.get(); } |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 641 client()->set_delete_on_fail(); | 641 client()->set_delete_on_fail(); |
| 642 DoStartAsyncRequest(); | 642 DoStartAsyncRequest(); |
| 643 DoReceiveResponseMultipart(); | 643 DoReceiveResponseMultipart(); |
| 644 DoReceiveDataMultipart(); | 644 DoReceiveDataMultipart(); |
| 645 DoFailRequest(); | 645 DoFailRequest(); |
| 646 EXPECT_FALSE(bridge()); | 646 EXPECT_FALSE(bridge()); |
| 647 } | 647 } |
| 648 | 648 |
| 649 } // namespace | 649 } // namespace |
| 650 } // namespace content | 650 } // namespace content |
| OLD | NEW |