Index: content/browser/renderer_host/resource_queue_unittest.cc |
=================================================================== |
--- content/browser/renderer_host/resource_queue_unittest.cc (revision 105685) |
+++ content/browser/renderer_host/resource_queue_unittest.cc (working copy) |
@@ -78,7 +78,6 @@ |
net::URLRequest* request, |
const ResourceDispatcherHostRequestInfo& request_info, |
const GlobalRequestID& request_id) { |
- delayed_requests_.push_back(request_id); |
return true; |
} |
@@ -87,13 +86,8 @@ |
} |
void StartDelayedRequests() { |
- if (!resource_queue_) |
- return; |
- |
- for (RequestList::iterator i = delayed_requests_.begin(); |
- i != delayed_requests_.end(); ++i) { |
- resource_queue_->StartDelayedRequest(this, *i); |
- } |
+ if (resource_queue_) |
+ resource_queue_->StartDelayedRequests(this); |
} |
private: |
@@ -101,8 +95,6 @@ |
ResourceQueue* resource_queue_; |
- RequestList delayed_requests_; |
- |
DISALLOW_COPY_AND_ASSIGN(AlwaysDelayingDelegate); |
}; |
@@ -217,6 +209,32 @@ |
queue.Shutdown(); |
} |
+TEST_F(ResourceQueueTest, TwoDelayingDelegates) { |
+ ResourceQueue queue; |
+ |
+ AlwaysDelayingDelegate always_delaying_delegate1; |
+ AlwaysDelayingDelegate always_delaying_delegate2; |
+ InitializeQueue( |
+ &queue, &always_delaying_delegate1, &always_delaying_delegate2); |
+ |
+ net::URLRequest request(GURL(kTestUrl), this); |
+ scoped_ptr<ResourceDispatcherHostRequestInfo> request_info(GetRequestInfo(0)); |
+ EXPECT_EQ(0, response_started_count_); |
+ queue.AddRequest(&request, *request_info.get()); |
+ MessageLoop::current()->RunAllPending(); |
+ EXPECT_EQ(0, response_started_count_); |
+ |
+ always_delaying_delegate1.StartDelayedRequests(); |
+ MessageLoop::current()->RunAllPending(); |
+ EXPECT_EQ(0, response_started_count_); |
+ |
+ always_delaying_delegate2.StartDelayedRequests(); |
+ MessageLoop::current()->RunAllPending(); |
+ EXPECT_EQ(1, response_started_count_); |
+ |
+ queue.Shutdown(); |
+} |
+ |
TEST_F(ResourceQueueTest, RemoveRequest) { |
ResourceQueue queue; |