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 |