| OLD | NEW |
| 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 "content/child/resource_dispatcher.h" | 5 #include "content/child/resource_dispatcher.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 context_->total_downloaded_data_length += len; | 83 context_->total_downloaded_data_length += len; |
| 84 context_->total_encoded_data_length += encoded_data_length; | 84 context_->total_encoded_data_length += encoded_data_length; |
| 85 } | 85 } |
| 86 | 86 |
| 87 void OnReceivedData(std::unique_ptr<ReceivedData> data) override { | 87 void OnReceivedData(std::unique_ptr<ReceivedData> data) override { |
| 88 if (context_->cancelled) | 88 if (context_->cancelled) |
| 89 return; | 89 return; |
| 90 EXPECT_TRUE(context_->received_response); | 90 EXPECT_TRUE(context_->received_response); |
| 91 EXPECT_FALSE(context_->complete); | 91 EXPECT_FALSE(context_->complete); |
| 92 context_->data.append(data->payload(), data->length()); | 92 context_->data.append(data->payload(), data->length()); |
| 93 context_->total_encoded_data_length += data->encoded_length(); | 93 context_->total_encoded_data_length += data->encoded_data_length(); |
| 94 } | 94 } |
| 95 | 95 |
| 96 void OnCompletedRequest(int error_code, | 96 void OnCompletedRequest(int error_code, |
| 97 bool was_ignored_by_handler, | 97 bool was_ignored_by_handler, |
| 98 bool stale_copy_in_cache, | 98 bool stale_copy_in_cache, |
| 99 const std::string& security_info, | 99 const std::string& security_info, |
| 100 const base::TimeTicks& completion_time, | 100 const base::TimeTicks& completion_time, |
| 101 int64_t total_transfer_size) override { | 101 int64_t total_transfer_size) override { |
| 102 if (context_->cancelled) | 102 if (context_->cancelled) |
| 103 return; | 103 return; |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 | 283 |
| 284 void NotifyInlinedDataChunkReceived(int request_id, | 284 void NotifyInlinedDataChunkReceived(int request_id, |
| 285 const std::vector<char>& data) { | 285 const std::vector<char>& data) { |
| 286 auto size = data.size(); | 286 auto size = data.size(); |
| 287 EXPECT_TRUE(dispatcher_->OnMessageReceived( | 287 EXPECT_TRUE(dispatcher_->OnMessageReceived( |
| 288 ResourceMsg_InlinedDataChunkReceived(request_id, data, size, size))); | 288 ResourceMsg_InlinedDataChunkReceived(request_id, data, size, size))); |
| 289 } | 289 } |
| 290 | 290 |
| 291 void NotifyDataDownloaded(int request_id, | 291 void NotifyDataDownloaded(int request_id, |
| 292 int decoded_length, | 292 int decoded_length, |
| 293 int encoded_length) { | 293 int encoded_data_length) { |
| 294 EXPECT_TRUE(dispatcher_->OnMessageReceived(ResourceMsg_DataDownloaded( | 294 EXPECT_TRUE(dispatcher_->OnMessageReceived(ResourceMsg_DataDownloaded( |
| 295 request_id, decoded_length, encoded_length))); | 295 request_id, decoded_length, encoded_data_length))); |
| 296 } | 296 } |
| 297 | 297 |
| 298 void NotifyRequestComplete(int request_id, size_t total_size) { | 298 void NotifyRequestComplete(int request_id, size_t total_size) { |
| 299 ResourceRequestCompletionStatus request_complete_data; | 299 ResourceRequestCompletionStatus request_complete_data; |
| 300 request_complete_data.error_code = net::OK; | 300 request_complete_data.error_code = net::OK; |
| 301 request_complete_data.was_ignored_by_handler = false; | 301 request_complete_data.was_ignored_by_handler = false; |
| 302 request_complete_data.exists_in_cache = false; | 302 request_complete_data.exists_in_cache = false; |
| 303 request_complete_data.encoded_data_length = total_size; | 303 request_complete_data.encoded_data_length = total_size; |
| 304 EXPECT_TRUE(dispatcher_->OnMessageReceived( | 304 EXPECT_TRUE(dispatcher_->OnMessageReceived( |
| 305 ResourceMsg_RequestComplete(request_id, request_complete_data))); | 305 ResourceMsg_RequestComplete(request_id, request_complete_data))); |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 544 } | 544 } |
| 545 | 545 |
| 546 void OnCompletedRequest(int error_code, | 546 void OnCompletedRequest(int error_code, |
| 547 bool was_ignored_by_handler, | 547 bool was_ignored_by_handler, |
| 548 bool stale_copy_in_cache, | 548 bool stale_copy_in_cache, |
| 549 const std::string& security_info, | 549 const std::string& security_info, |
| 550 const base::TimeTicks& completion_time, | 550 const base::TimeTicks& completion_time, |
| 551 int64_t total_transfer_size) override { | 551 int64_t total_transfer_size) override { |
| 552 original_peer_->OnReceivedResponse(response_info_); | 552 original_peer_->OnReceivedResponse(response_info_); |
| 553 if (!data_.empty()) { | 553 if (!data_.empty()) { |
| 554 original_peer_->OnReceivedData(base::WrapUnique( | 554 original_peer_->OnReceivedData(base::WrapUnique(new FixedReceivedData( |
| 555 new FixedReceivedData(data_.data(), data_.size(), -1))); | 555 data_.data(), data_.size(), -1, data_.size()))); |
| 556 } | 556 } |
| 557 original_peer_->OnCompletedRequest(error_code, was_ignored_by_handler, | 557 original_peer_->OnCompletedRequest(error_code, was_ignored_by_handler, |
| 558 stale_copy_in_cache, security_info, | 558 stale_copy_in_cache, security_info, |
| 559 completion_time, total_transfer_size); | 559 completion_time, total_transfer_size); |
| 560 } | 560 } |
| 561 | 561 |
| 562 private: | 562 private: |
| 563 std::unique_ptr<RequestPeer> original_peer_; | 563 std::unique_ptr<RequestPeer> original_peer_; |
| 564 ResourceResponseInfo response_info_; | 564 ResourceResponseInfo response_info_; |
| 565 std::string data_; | 565 std::string data_; |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 817 const int kEncodedIncrement = 50; | 817 const int kEncodedIncrement = 50; |
| 818 | 818 |
| 819 int id = ConsumeRequestResource(); | 819 int id = ConsumeRequestResource(); |
| 820 EXPECT_EQ(0u, queued_messages()); | 820 EXPECT_EQ(0u, queued_messages()); |
| 821 | 821 |
| 822 NotifyReceivedResponse(id); | 822 NotifyReceivedResponse(id); |
| 823 EXPECT_EQ(0u, queued_messages()); | 823 EXPECT_EQ(0u, queued_messages()); |
| 824 EXPECT_TRUE(peer_context.received_response); | 824 EXPECT_TRUE(peer_context.received_response); |
| 825 | 825 |
| 826 int expected_total_downloaded_length = 0; | 826 int expected_total_downloaded_length = 0; |
| 827 int expected_total_encoded_length = 0; | 827 int expected_total_encoded_data_length = 0; |
| 828 for (int i = 0; i < 10; ++i) { | 828 for (int i = 0; i < 10; ++i) { |
| 829 NotifyDataDownloaded(id, kDownloadedIncrement, kEncodedIncrement); | 829 NotifyDataDownloaded(id, kDownloadedIncrement, kEncodedIncrement); |
| 830 ConsumeDataDownloaded_ACK(id); | 830 ConsumeDataDownloaded_ACK(id); |
| 831 expected_total_downloaded_length += kDownloadedIncrement; | 831 expected_total_downloaded_length += kDownloadedIncrement; |
| 832 expected_total_encoded_length += kEncodedIncrement; | 832 expected_total_encoded_data_length += kEncodedIncrement; |
| 833 EXPECT_EQ(expected_total_downloaded_length, | 833 EXPECT_EQ(expected_total_downloaded_length, |
| 834 peer_context.total_downloaded_data_length); | 834 peer_context.total_downloaded_data_length); |
| 835 EXPECT_EQ(expected_total_encoded_length, | 835 EXPECT_EQ(expected_total_encoded_data_length, |
| 836 peer_context.total_encoded_data_length); | 836 peer_context.total_encoded_data_length); |
| 837 } | 837 } |
| 838 | 838 |
| 839 NotifyRequestComplete(id, strlen(kTestPageContents)); | 839 NotifyRequestComplete(id, strlen(kTestPageContents)); |
| 840 EXPECT_EQ("", peer_context.data); | 840 EXPECT_EQ("", peer_context.data); |
| 841 EXPECT_TRUE(peer_context.complete); | 841 EXPECT_TRUE(peer_context.complete); |
| 842 EXPECT_EQ(0u, queued_messages()); | 842 EXPECT_EQ(0u, queued_messages()); |
| 843 | 843 |
| 844 dispatcher()->RemovePendingRequest(request_id); | 844 dispatcher()->RemovePendingRequest(request_id); |
| 845 ConsumeReleaseDownloadedFile(id); | 845 ConsumeReleaseDownloadedFile(id); |
| 846 EXPECT_EQ(0u, queued_messages()); | 846 EXPECT_EQ(0u, queued_messages()); |
| 847 EXPECT_EQ(expected_total_downloaded_length, | 847 EXPECT_EQ(expected_total_downloaded_length, |
| 848 peer_context.total_downloaded_data_length); | 848 peer_context.total_downloaded_data_length); |
| 849 EXPECT_EQ(expected_total_encoded_length, | 849 EXPECT_EQ(expected_total_encoded_data_length, |
| 850 peer_context.total_encoded_data_length); | 850 peer_context.total_encoded_data_length); |
| 851 } | 851 } |
| 852 | 852 |
| 853 // Make sure that when a download to file is cancelled, the file is destroyed. | 853 // Make sure that when a download to file is cancelled, the file is destroyed. |
| 854 TEST_F(ResourceDispatcherTest, CancelDownloadToFile) { | 854 TEST_F(ResourceDispatcherTest, CancelDownloadToFile) { |
| 855 std::unique_ptr<RequestInfo> request_info(CreateRequestInfo(true)); | 855 std::unique_ptr<RequestInfo> request_info(CreateRequestInfo(true)); |
| 856 TestRequestPeer::Context peer_context; | 856 TestRequestPeer::Context peer_context; |
| 857 int request_id = StartAsync(*request_info.get(), NULL, &peer_context); | 857 int request_id = StartAsync(*request_info.get(), NULL, &peer_context); |
| 858 | 858 |
| 859 int id = ConsumeRequestResource(); | 859 int id = ConsumeRequestResource(); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 935 ResourceResponseHead response_head; | 935 ResourceResponseHead response_head; |
| 936 | 936 |
| 937 PerformTest(response_head); | 937 PerformTest(response_head); |
| 938 | 938 |
| 939 EXPECT_EQ(base::TimeTicks(), response_info().load_timing.request_start); | 939 EXPECT_EQ(base::TimeTicks(), response_info().load_timing.request_start); |
| 940 EXPECT_EQ(base::TimeTicks(), | 940 EXPECT_EQ(base::TimeTicks(), |
| 941 response_info().load_timing.connect_timing.dns_start); | 941 response_info().load_timing.connect_timing.dns_start); |
| 942 } | 942 } |
| 943 | 943 |
| 944 } // namespace content | 944 } // namespace content |
| OLD | NEW |