| Index: content/browser/loader/resource_scheduler.cc
|
| diff --git a/content/browser/loader/resource_scheduler.cc b/content/browser/loader/resource_scheduler.cc
|
| index d4d50d5743f6b2930db299880b1e7f70b8e15687..8d4f8894b2f852dc2ced144b642aa1c5ca7d621f 100644
|
| --- a/content/browser/loader/resource_scheduler.cc
|
| +++ b/content/browser/loader/resource_scheduler.cc
|
| @@ -511,11 +511,11 @@ class ResourceScheduler::Client {
|
| // If a request is already marked as layout-blocking make sure to keep the
|
| // classification across redirects unless the priority was lowered.
|
| if (request->classification() == LAYOUT_BLOCKING_REQUEST &&
|
| - request->url_request()->priority() >= net::LOW) {
|
| + request->url_request()->priority() > net::LOW) {
|
| return LAYOUT_BLOCKING_REQUEST;
|
| }
|
|
|
| - if (!has_body_ && request->url_request()->priority() >= net::LOW)
|
| + if (!has_body_ && request->url_request()->priority() > net::LOW)
|
| return LAYOUT_BLOCKING_REQUEST;
|
|
|
| if (request->url_request()->priority() < net::LOW) {
|
| @@ -566,7 +566,8 @@ class ResourceScheduler::Client {
|
| // * Higher priority requests (>= net::LOW).
|
| //
|
| // 4. Layout-blocking requests:
|
| - // * High-priority requests initiated before the renderer has a <body>.
|
| + // * High-priority requests (> net::LOW) initiated before the renderer has
|
| + // a <body>.
|
| //
|
| // 5. Low priority requests
|
| //
|
| @@ -577,7 +578,7 @@ class ResourceScheduler::Client {
|
| // immediately.
|
| // * Low priority requests are delayable.
|
| // * Allow one delayable request to load at a time while layout-blocking
|
| - // requests are loading.
|
| + // requests are loading or the body tag has not yet been parsed.
|
| // * If no high priority or layout-blocking requests are in flight, start
|
| // loading delayable requests.
|
| // * Never exceed 10 delayable requests in flight per client.
|
| @@ -656,7 +657,7 @@ class ResourceScheduler::Client {
|
| bool have_immediate_requests_in_flight =
|
| in_flight_requests_.size() > in_flight_delayable_count_;
|
| if (have_immediate_requests_in_flight &&
|
| - total_layout_blocking_count_ != 0 &&
|
| + (!has_body_ || total_layout_blocking_count_ != 0) &&
|
| in_flight_delayable_count_ != 0) {
|
| return DO_NOT_START_REQUEST_AND_STOP_SEARCHING;
|
| }
|
|
|