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/browser/renderer_host/resource_dispatcher_host_impl.h" | 5 #include "content/browser/renderer_host/resource_dispatcher_host_impl.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 OnChannelConnected(base::GetCurrentProcId()); | 171 OnChannelConnected(base::GetCurrentProcId()); |
172 } | 172 } |
173 | 173 |
174 // ResourceMessageFilter override | 174 // ResourceMessageFilter override |
175 virtual bool Send(IPC::Message* msg) { | 175 virtual bool Send(IPC::Message* msg) { |
176 if (!dest_) | 176 if (!dest_) |
177 return false; | 177 return false; |
178 return dest_->Send(msg); | 178 return dest_->Send(msg); |
179 } | 179 } |
180 | 180 |
| 181 protected: |
| 182 virtual ~ForwardingFilter() {} |
| 183 |
181 private: | 184 private: |
182 IPC::Message::Sender* dest_; | 185 IPC::Message::Sender* dest_; |
183 | 186 |
184 DISALLOW_COPY_AND_ASSIGN(ForwardingFilter); | 187 DISALLOW_COPY_AND_ASSIGN(ForwardingFilter); |
185 }; | 188 }; |
186 | 189 |
187 // This class is a variation on URLRequestTestJob in that it does | 190 // This class is a variation on URLRequestTestJob in that it does |
188 // not complete start upon entry, only when specifically told to. | 191 // not complete start upon entry, only when specifically told to. |
189 class URLRequestTestDelayedStartJob : public net::URLRequestTestJob { | 192 class URLRequestTestDelayedStartJob : public net::URLRequestTestJob { |
190 public: | 193 public: |
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
699 // pending and some canceled. | 702 // pending and some canceled. |
700 class TestFilter : public ForwardingFilter { | 703 class TestFilter : public ForwardingFilter { |
701 public: | 704 public: |
702 explicit TestFilter(content::ResourceContext* resource_context) | 705 explicit TestFilter(content::ResourceContext* resource_context) |
703 : ForwardingFilter(NULL, resource_context), | 706 : ForwardingFilter(NULL, resource_context), |
704 has_canceled_(false), | 707 has_canceled_(false), |
705 received_after_canceled_(0) { | 708 received_after_canceled_(0) { |
706 } | 709 } |
707 | 710 |
708 // ForwardingFilter override | 711 // ForwardingFilter override |
709 virtual bool Send(IPC::Message* msg) { | 712 virtual bool Send(IPC::Message* msg) OVERRIDE { |
710 // no messages should be received when the process has been canceled | 713 // no messages should be received when the process has been canceled |
711 if (has_canceled_) | 714 if (has_canceled_) |
712 received_after_canceled_++; | 715 received_after_canceled_++; |
713 delete msg; | 716 delete msg; |
714 return true; | 717 return true; |
715 } | 718 } |
| 719 |
716 bool has_canceled_; | 720 bool has_canceled_; |
717 int received_after_canceled_; | 721 int received_after_canceled_; |
| 722 |
| 723 private: |
| 724 virtual ~TestFilter() {} |
718 }; | 725 }; |
719 | 726 |
720 // Tests CancelRequestsForProcess | 727 // Tests CancelRequestsForProcess |
721 TEST_F(ResourceDispatcherHostTest, TestProcessCancel) { | 728 TEST_F(ResourceDispatcherHostTest, TestProcessCancel) { |
722 scoped_refptr<TestFilter> test_filter = new TestFilter( | 729 scoped_refptr<TestFilter> test_filter = new TestFilter( |
723 browser_context_->GetResourceContext()); | 730 browser_context_->GetResourceContext()); |
724 | 731 |
725 // request 1 goes to the test delegate | 732 // request 1 goes to the test delegate |
726 ResourceHostMsg_Request request = CreateResourceRequest( | 733 ResourceHostMsg_Request request = CreateResourceRequest( |
727 "GET", ResourceType::SUB_RESOURCE, net::URLRequestTestJob::test_url_1()); | 734 "GET", ResourceType::SUB_RESOURCE, net::URLRequestTestJob::test_url_1()); |
(...skipping 660 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1388 PickleIterator iter(msgs[0][0]); | 1395 PickleIterator iter(msgs[0][0]); |
1389 EXPECT_TRUE(IPC::ReadParam(&msgs[0][0], &iter, &request_id)); | 1396 EXPECT_TRUE(IPC::ReadParam(&msgs[0][0], &iter, &request_id)); |
1390 EXPECT_TRUE(IPC::ReadParam(&msgs[0][0], &iter, &status)); | 1397 EXPECT_TRUE(IPC::ReadParam(&msgs[0][0], &iter, &status)); |
1391 | 1398 |
1392 EXPECT_EQ(1, request_id); | 1399 EXPECT_EQ(1, request_id); |
1393 EXPECT_EQ(net::URLRequestStatus::FAILED, status.status()); | 1400 EXPECT_EQ(net::URLRequestStatus::FAILED, status.status()); |
1394 EXPECT_EQ(net::ERR_UNKNOWN_URL_SCHEME, status.error()); | 1401 EXPECT_EQ(net::ERR_UNKNOWN_URL_SCHEME, status.error()); |
1395 } | 1402 } |
1396 | 1403 |
1397 } // namespace content | 1404 } // namespace content |
OLD | NEW |