| 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 | 
|---|