Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1203)

Unified Diff: content/browser/renderer_host/resource_queue_unittest.cc

Issue 8205001: (Owner approval for) Delay network requests on startup if any webRequest ... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/resource_queue_unittest.cc
===================================================================
--- content/browser/renderer_host/resource_queue_unittest.cc (revision 104705)
+++ content/browser/renderer_host/resource_queue_unittest.cc (working copy)
@@ -77,7 +77,6 @@
net::URLRequest* request,
const ResourceDispatcherHostRequestInfo& request_info,
const GlobalRequestID& request_id) {
- delayed_requests_.push_back(request_id);
return true;
}
@@ -86,13 +85,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:
@@ -100,8 +94,6 @@
ResourceQueue* resource_queue_;
- RequestList delayed_requests_;
-
DISALLOW_COPY_AND_ASSIGN(AlwaysDelayingDelegate);
};
@@ -216,6 +208,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;

Powered by Google App Engine
This is Rietveld 408576698