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

Issue 2826223005: [Prerender] Restore request priorities when swapped in (Closed)

Created:
3 years, 8 months ago by droger
Modified:
3 years, 8 months ago
Reviewers:
CC:
chromium-reviews, cbentzel+watch_chromium.org, tburkard+watch_chromium.org, jam, Randy Smith (Not in Mondays), gavinp+prer_chromium.org, darin-cc_chromium.org, loading-reviews_chromium.org, mmenke
Target Ref:
refs/branch-heads/3071
Project:
chromium
Visibility:
Public.

Description

[Prerender] Restore request priorities when swapped in Requests from prerendered contents have a IDLE priority, in order not to slow down visible pages. However, when the prerendered contents become visible, the request priorities were not reset back to their correct values, leading to bad prerendering performance. In this CL, the priority management for prerender requests is moved to the PrerenderResourceThrottle/PrerendereContents. The original priorities are stored in the throttle, and restored when the prerender contents swaps in. A new public function is added to ResourceDispatcherHost to update a request priority, and its implementation reuses the existing code that updates the image priorities. The prerender contents keeps a list of all the network resources that were started while the prerender is hidden. If this proves to be too large, pruning the list when responses are received should be doable. BUG=705955 Review-Url: https://codereview.chromium.org/2807163002 Cr-Commit-Position: refs/heads/master@{#464728} (cherry picked from commit d3bc6148c7f0d2695ec2ca74652d996e2c4f5a6e) Review-Url: https://codereview.chromium.org/2826223005 . Cr-Commit-Position: refs/branch-heads/3071@{#83} Cr-Branched-From: a106f0abbf69dad349d4aaf4bcc4f5d376dd2377-refs/heads/master@{#464641} Committed: https://chromium.googlesource.com/chromium/src/+/9440a43cf4f1526f263f187d0d369e80f8615b35

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+302 lines, -85 lines) Patch
M chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc View 1 chunk +0 lines, -21 lines 0 comments Download
M chrome/browser/prerender/prerender_browsertest.cc View 14 chunks +159 lines, -30 lines 0 comments Download
M chrome/browser/prerender/prerender_contents.h View 2 chunks +8 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_contents.cc View 3 chunks +14 lines, -4 lines 0 comments Download
M chrome/browser/prerender/prerender_nostate_prefetch_browsertest.cc View 1 chunk +2 lines, -4 lines 0 comments Download
M chrome/browser/prerender/prerender_resource_throttle.h View 3 chunks +10 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_resource_throttle.cc View 5 chunks +42 lines, -1 line 0 comments Download
M chrome/browser/prerender/prerender_test_utils.h View 1 chunk +6 lines, -4 lines 0 comments Download
M chrome/browser/prerender/prerender_test_utils.cc View 5 chunks +27 lines, -18 lines 0 comments Download
M content/browser/loader/resource_dispatcher_host_impl.h View 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/loader/resource_dispatcher_host_impl.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M content/browser/loader/resource_scheduler.h View 1 chunk +6 lines, -1 line 0 comments Download
M content/browser/loader/resource_scheduler.cc View 2 chunks +14 lines, -2 lines 0 comments Download
M content/public/browser/resource_dispatcher_host.h View 2 chunks +6 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (5 generated)
droger
3 years, 8 months ago (2017-04-20 15:54:11 UTC) #6
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
9440a43cf4f1526f263f187d0d369e80f8615b35.

Powered by Google App Engine
This is Rietveld 408576698