| 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 <string> | 5 #include <string> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/memory/shared_memory.h" | 10 #include "base/memory/shared_memory.h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 defer_on_redirect_(false), | 46 defer_on_redirect_(false), |
| 47 seen_redirects_(0), | 47 seen_redirects_(0), |
| 48 cancel_on_receive_response_(false), | 48 cancel_on_receive_response_(false), |
| 49 received_response_(false), | 49 received_response_(false), |
| 50 total_encoded_data_length_(0), | 50 total_encoded_data_length_(0), |
| 51 total_downloaded_data_length_(0), | 51 total_downloaded_data_length_(0), |
| 52 complete_(false), | 52 complete_(false), |
| 53 bridge_(bridge) { | 53 bridge_(bridge) { |
| 54 } | 54 } |
| 55 | 55 |
| 56 virtual void OnUploadProgress(uint64 position, uint64 size) override { | 56 void OnUploadProgress(uint64 position, uint64 size) override {} |
| 57 } | |
| 58 | 57 |
| 59 virtual bool OnReceivedRedirect(const net::RedirectInfo& redirect_info, | 58 bool OnReceivedRedirect(const net::RedirectInfo& redirect_info, |
| 60 const ResourceResponseInfo& info) override { | 59 const ResourceResponseInfo& info) override { |
| 61 ++seen_redirects_; | 60 ++seen_redirects_; |
| 62 if (defer_on_redirect_) | 61 if (defer_on_redirect_) |
| 63 bridge_->SetDefersLoading(true); | 62 bridge_->SetDefersLoading(true); |
| 64 return follow_redirects_; | 63 return follow_redirects_; |
| 65 } | 64 } |
| 66 | 65 |
| 67 virtual void OnReceivedResponse(const ResourceResponseInfo& info) override { | 66 void OnReceivedResponse(const ResourceResponseInfo& info) override { |
| 68 EXPECT_FALSE(received_response_); | 67 EXPECT_FALSE(received_response_); |
| 69 received_response_ = true; | 68 received_response_ = true; |
| 70 if (cancel_on_receive_response_) | 69 if (cancel_on_receive_response_) |
| 71 bridge_->Cancel(); | 70 bridge_->Cancel(); |
| 72 } | 71 } |
| 73 | 72 |
| 74 virtual void OnDownloadedData(int len, int encoded_data_length) override { | 73 void OnDownloadedData(int len, int encoded_data_length) override { |
| 75 total_downloaded_data_length_ += len; | 74 total_downloaded_data_length_ += len; |
| 76 total_encoded_data_length_ += encoded_data_length; | 75 total_encoded_data_length_ += encoded_data_length; |
| 77 } | 76 } |
| 78 | 77 |
| 79 virtual void OnReceivedData(const char* data, | 78 void OnReceivedData(const char* data, |
| 80 int data_length, | 79 int data_length, |
| 81 int encoded_data_length) override { | 80 int encoded_data_length) override { |
| 82 EXPECT_TRUE(received_response_); | 81 EXPECT_TRUE(received_response_); |
| 83 EXPECT_FALSE(complete_); | 82 EXPECT_FALSE(complete_); |
| 84 data_.append(data, data_length); | 83 data_.append(data, data_length); |
| 85 total_encoded_data_length_ += encoded_data_length; | 84 total_encoded_data_length_ += encoded_data_length; |
| 86 } | 85 } |
| 87 | 86 |
| 88 virtual void OnCompletedRequest( | 87 void OnCompletedRequest(int error_code, |
| 89 int error_code, | 88 bool was_ignored_by_handler, |
| 90 bool was_ignored_by_handler, | 89 bool stale_copy_in_cache, |
| 91 bool stale_copy_in_cache, | 90 const std::string& security_info, |
| 92 const std::string& security_info, | 91 const base::TimeTicks& completion_time, |
| 93 const base::TimeTicks& completion_time, | 92 int64 total_transfer_size) override { |
| 94 int64 total_transfer_size) override { | |
| 95 EXPECT_TRUE(received_response_); | 93 EXPECT_TRUE(received_response_); |
| 96 EXPECT_FALSE(complete_); | 94 EXPECT_FALSE(complete_); |
| 97 complete_ = true; | 95 complete_ = true; |
| 98 } | 96 } |
| 99 | 97 |
| 100 void set_follow_redirects(bool follow_redirects) { | 98 void set_follow_redirects(bool follow_redirects) { |
| 101 follow_redirects_ = follow_redirects; | 99 follow_redirects_ = follow_redirects; |
| 102 } | 100 } |
| 103 | 101 |
| 104 void set_defer_on_redirect(bool defer_on_redirect) { | 102 void set_defer_on_redirect(bool defer_on_redirect) { |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 public: | 154 public: |
| 157 ResourceDispatcherTest() : dispatcher_(this) {} | 155 ResourceDispatcherTest() : dispatcher_(this) {} |
| 158 | 156 |
| 159 virtual ~ResourceDispatcherTest() { | 157 virtual ~ResourceDispatcherTest() { |
| 160 STLDeleteContainerPairSecondPointers(shared_memory_map_.begin(), | 158 STLDeleteContainerPairSecondPointers(shared_memory_map_.begin(), |
| 161 shared_memory_map_.end()); | 159 shared_memory_map_.end()); |
| 162 } | 160 } |
| 163 | 161 |
| 164 // Emulates IPC send operations (IPC::Sender) by adding | 162 // Emulates IPC send operations (IPC::Sender) by adding |
| 165 // pending messages to the queue. | 163 // pending messages to the queue. |
| 166 virtual bool Send(IPC::Message* msg) override { | 164 bool Send(IPC::Message* msg) override { |
| 167 message_queue_.push_back(IPC::Message(*msg)); | 165 message_queue_.push_back(IPC::Message(*msg)); |
| 168 delete msg; | 166 delete msg; |
| 169 return true; | 167 return true; |
| 170 } | 168 } |
| 171 | 169 |
| 172 size_t queued_messages() const { return message_queue_.size(); } | 170 size_t queued_messages() const { return message_queue_.size(); } |
| 173 | 171 |
| 174 // Returns the ID of the consumed request. Can't make assumptions about the | 172 // Returns the ID of the consumed request. Can't make assumptions about the |
| 175 // ID, because numbering is based on a global. | 173 // ID, because numbering is based on a global. |
| 176 int ConsumeRequestResource() { | 174 int ConsumeRequestResource() { |
| (...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 696 // FIXME | 694 // FIXME |
| 697 } | 695 } |
| 698 | 696 |
| 699 TEST_F(ResourceDispatcherTest, SerializedPostData) { | 697 TEST_F(ResourceDispatcherTest, SerializedPostData) { |
| 700 // FIXME | 698 // FIXME |
| 701 } | 699 } |
| 702 | 700 |
| 703 class TimeConversionTest : public ResourceDispatcherTest, | 701 class TimeConversionTest : public ResourceDispatcherTest, |
| 704 public RequestPeer { | 702 public RequestPeer { |
| 705 public: | 703 public: |
| 706 virtual bool Send(IPC::Message* msg) override { | 704 bool Send(IPC::Message* msg) override { |
| 707 delete msg; | 705 delete msg; |
| 708 return true; | 706 return true; |
| 709 } | 707 } |
| 710 | 708 |
| 711 void PerformTest(const ResourceResponseHead& response_head) { | 709 void PerformTest(const ResourceResponseHead& response_head) { |
| 712 scoped_ptr<ResourceLoaderBridge> bridge(CreateBridge()); | 710 scoped_ptr<ResourceLoaderBridge> bridge(CreateBridge()); |
| 713 bridge->Start(this); | 711 bridge->Start(this); |
| 714 | 712 |
| 715 dispatcher()->OnMessageReceived( | 713 dispatcher()->OnMessageReceived( |
| 716 ResourceMsg_ReceivedResponse(0, response_head)); | 714 ResourceMsg_ReceivedResponse(0, response_head)); |
| 717 } | 715 } |
| 718 | 716 |
| 719 // RequestPeer methods. | 717 // RequestPeer methods. |
| 720 virtual void OnUploadProgress(uint64 position, uint64 size) override { | 718 void OnUploadProgress(uint64 position, uint64 size) override {} |
| 721 } | |
| 722 | 719 |
| 723 virtual bool OnReceivedRedirect(const net::RedirectInfo& redirect_info, | 720 bool OnReceivedRedirect(const net::RedirectInfo& redirect_info, |
| 724 const ResourceResponseInfo& info) override { | 721 const ResourceResponseInfo& info) override { |
| 725 return true; | 722 return true; |
| 726 } | 723 } |
| 727 | 724 |
| 728 virtual void OnReceivedResponse(const ResourceResponseInfo& info) override { | 725 void OnReceivedResponse(const ResourceResponseInfo& info) override { |
| 729 response_info_ = info; | 726 response_info_ = info; |
| 730 } | 727 } |
| 731 | 728 |
| 732 virtual void OnDownloadedData(int len, int encoded_data_length) override { | 729 void OnDownloadedData(int len, int encoded_data_length) override {} |
| 733 } | |
| 734 | 730 |
| 735 virtual void OnReceivedData(const char* data, | 731 void OnReceivedData(const char* data, |
| 736 int data_length, | 732 int data_length, |
| 737 int encoded_data_length) override { | 733 int encoded_data_length) override {} |
| 738 } | |
| 739 | 734 |
| 740 virtual void OnCompletedRequest( | 735 void OnCompletedRequest(int error_code, |
| 741 int error_code, | 736 bool was_ignored_by_handler, |
| 742 bool was_ignored_by_handler, | 737 bool stale_copy_in_cache, |
| 743 bool stale_copy_in_cache, | 738 const std::string& security_info, |
| 744 const std::string& security_info, | 739 const base::TimeTicks& completion_time, |
| 745 const base::TimeTicks& completion_time, | 740 int64 total_transfer_size) override {} |
| 746 int64 total_transfer_size) override { | |
| 747 } | |
| 748 | 741 |
| 749 const ResourceResponseInfo& response_info() const { return response_info_; } | 742 const ResourceResponseInfo& response_info() const { return response_info_; } |
| 750 | 743 |
| 751 private: | 744 private: |
| 752 ResourceResponseInfo response_info_; | 745 ResourceResponseInfo response_info_; |
| 753 }; | 746 }; |
| 754 | 747 |
| 755 // TODO(simonjam): Enable this when 10829031 lands. | 748 // TODO(simonjam): Enable this when 10829031 lands. |
| 756 TEST_F(TimeConversionTest, DISABLED_ProperlyInitialized) { | 749 TEST_F(TimeConversionTest, DISABLED_ProperlyInitialized) { |
| 757 ResourceResponseHead response_head; | 750 ResourceResponseHead response_head; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 788 ResourceResponseHead response_head; | 781 ResourceResponseHead response_head; |
| 789 | 782 |
| 790 PerformTest(response_head); | 783 PerformTest(response_head); |
| 791 | 784 |
| 792 EXPECT_EQ(base::TimeTicks(), response_info().load_timing.request_start); | 785 EXPECT_EQ(base::TimeTicks(), response_info().load_timing.request_start); |
| 793 EXPECT_EQ(base::TimeTicks(), | 786 EXPECT_EQ(base::TimeTicks(), |
| 794 response_info().load_timing.connect_timing.dns_start); | 787 response_info().load_timing.connect_timing.dns_start); |
| 795 } | 788 } |
| 796 | 789 |
| 797 } // namespace content | 790 } // namespace content |
| OLD | NEW |