| Index: content/browser/loader/resource_scheduler_unittest.cc
|
| diff --git a/content/browser/loader/resource_scheduler_unittest.cc b/content/browser/loader/resource_scheduler_unittest.cc
|
| index 9474778d9f26d75542aa7af7c7940ea1840f0174..9f8605b4497c2e792a8e31841b2e3dfb4b908142 100644
|
| --- a/content/browser/loader/resource_scheduler_unittest.cc
|
| +++ b/content/browser/loader/resource_scheduler_unittest.cc
|
| @@ -318,19 +318,41 @@ TEST_F(ResourceSchedulerTest, LimitedNumberOfDelayableRequestsInFlight) {
|
| EXPECT_TRUE(high->started());
|
|
|
| const int kMaxNumDelayableRequestsPerClient = 10; // Should match the .cc.
|
| - ScopedVector<TestRequest> lows;
|
| - for (int i = 0; i < kMaxNumDelayableRequestsPerClient; ++i) {
|
| + const int kMaxNumDelayableRequestsPerHost = 6;
|
| + ScopedVector<TestRequest> lows_singlehost;
|
| + // Queue up to the per-host limit (we subtract the current high-pri request).
|
| + for (int i = 0; i < kMaxNumDelayableRequestsPerHost - 1; ++i) {
|
| string url = "http://host/low" + base::IntToString(i);
|
| - lows.push_back(NewRequest(url.c_str(), net::LOWEST));
|
| - EXPECT_TRUE(lows[i]->started());
|
| + lows_singlehost.push_back(NewRequest(url.c_str(), net::LOWEST));
|
| + EXPECT_TRUE(lows_singlehost[i]->started());
|
| }
|
|
|
| - scoped_ptr<TestRequest> last(NewRequest("http://host/last", net::LOWEST));
|
| - EXPECT_FALSE(last->started());
|
| + scoped_ptr<TestRequest> second_last_singlehost(NewRequest("http://host/last",
|
| + net::LOWEST));
|
| + scoped_ptr<TestRequest> last_singlehost(NewRequest("http://host/s_last",
|
| + net::LOWEST));
|
| +
|
| + EXPECT_FALSE(second_last_singlehost->started());
|
| high.reset();
|
| - EXPECT_FALSE(last->started());
|
| - lows.erase(lows.begin());
|
| - EXPECT_TRUE(last->started());
|
| + EXPECT_TRUE(second_last_singlehost->started());
|
| + EXPECT_FALSE(last_singlehost->started());
|
| + lows_singlehost.erase(lows_singlehost.begin());
|
| + EXPECT_TRUE(last_singlehost->started());
|
| +
|
| + // Queue more requests from different hosts until we reach the total limit.
|
| + int expected_slots_left =
|
| + kMaxNumDelayableRequestsPerClient - kMaxNumDelayableRequestsPerHost;
|
| + EXPECT_GT(expected_slots_left, 0);
|
| + ScopedVector<TestRequest> lows_differenthosts;
|
| + for (int i = 0; i < expected_slots_left; ++i) {
|
| + string url = "http://host" + base::IntToString(i) + "/low";
|
| + lows_differenthosts.push_back(NewRequest(url.c_str(), net::LOWEST));
|
| + EXPECT_TRUE(lows_differenthosts[i]->started());
|
| + }
|
| +
|
| + scoped_ptr<TestRequest> last_differenthost(NewRequest("http://host_new/last",
|
| + net::LOWEST));
|
| + EXPECT_FALSE(last_differenthost->started());
|
| }
|
|
|
| TEST_F(ResourceSchedulerTest, RaisePriorityAndStart) {
|
| @@ -391,7 +413,7 @@ TEST_F(ResourceSchedulerTest, LowerPriority) {
|
| const int kNumFillerRequests = kMaxNumDelayableRequestsPerClient - 2;
|
| ScopedVector<TestRequest> lows;
|
| for (int i = 0; i < kNumFillerRequests; ++i) {
|
| - string url = "http://host/low" + base::IntToString(i);
|
| + string url = "http://host" + base::IntToString(i) + "/low";
|
| lows.push_back(NewRequest(url.c_str(), net::LOWEST));
|
| }
|
|
|
|
|