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

Issue 2655393004: Make ResourceScheduler work in OOPIF (Closed)

Created:
3 years, 10 months ago by Charlie Harrison
Modified:
3 years, 10 months ago
Reviewers:
mmenke, nasko
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, creis+watch_chromium.org, nasko+codewatch_chromium.org, jam, Randy Smith (Not in Mondays), darin-cc_chromium.org, loading-reviews_chromium.org, site-isolation-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Make ResourceScheduler work in OOPIF This CL lets all frames send the "will insert body" IPC to the browser process, rather than just main frames. This enables OOPIFs to get past the throttling stage in ResourceScheduler. Note that OnNavigate is still gated on main frame, so navigations within an OOPIF will not reset the throttling state. This is a definite performance bug, but is less critical than the current state, which only allows a single delayable request at a time (so a hung request will starve all delayable requests). This CL also adds throttler-agnostic tests, as ResourceScheduler is going away soon so we don't want to rely on its specific layering, as it is being migrated to a global throttler in the network layer. BUG=678206 Review-Url: https://codereview.chromium.org/2655393004 Cr-Commit-Position: refs/heads/master@{#447792} Committed: https://chromium.googlesource.com/chromium/src/+/d86c35bcf47e34f09f295127796ea246746b5ab1

Patch Set 1 #

Patch Set 2 : Add tests #

Total comments: 32

Patch Set 3 : mmenke + nasko reviews #

Total comments: 2

Patch Set 4 : self review #

Total comments: 29

Patch Set 5 : mmenke review #

Total comments: 2

Patch Set 6 : Make ResourceScheduler work in OOPIF #

Unified diffs Side-by-side diffs Delta from patch set Stats (+257 lines, -60 lines) Patch
M content/browser/loader/resource_scheduler.cc View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/loader/resource_scheduler_filter.h View 2 chunks +14 lines, -1 line 0 comments Download
M content/browser/loader/resource_scheduler_filter.cc View 1 2 1 chunk +24 lines, -49 lines 0 comments Download
M content/browser/site_per_process_browsertest.h View 1 2 3 2 chunks +3 lines, -0 lines 0 comments Download
M content/browser/site_per_process_browsertest.cc View 1 2 3 4 5 4 chunks +157 lines, -1 line 0 comments Download
M content/common/frame_messages.h View 1 chunk +6 lines, -0 lines 0 comments Download
M content/common/view_messages.h View 1 1 chunk +0 lines, -5 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 1 chunk +2 lines, -4 lines 0 comments Download
A content/test/data/site_isolation/subframe_resources.html View 1 2 1 chunk +22 lines, -0 lines 0 comments Download
A content/test/data/site_isolation/subframes_with_resources.html View 1 1 chunk +25 lines, -0 lines 0 comments Download

Messages

Total messages: 37 (22 generated)
Charlie Harrison
mmenke: would you PTAL? I added the tests to site isolation tests because that's where ...
3 years, 10 months ago (2017-01-30 19:12:32 UTC) #10
Charlie Harrison
Oh, also I punted on a test with nested iframes just because it would make ...
3 years, 10 months ago (2017-01-30 19:15:35 UTC) #11
mmenke
On 2017/01/30 19:15:35, Charlie Harrison wrote: > Oh, also I punted on a test with ...
3 years, 10 months ago (2017-01-30 19:23:49 UTC) #12
Charlie Harrison
Sorry I should have been more specific. Could you specifically look at the test harness ...
3 years, 10 months ago (2017-01-30 19:29:28 UTC) #13
Charlie Harrison
nasko: Would you PTAL at everything?
3 years, 10 months ago (2017-01-30 19:30:19 UTC) #15
mmenke
https://codereview.chromium.org/2655393004/diff/10001/content/browser/site_per_process_browsertest.cc File content/browser/site_per_process_browsertest.cc (right): https://codereview.chromium.org/2655393004/diff/10001/content/browser/site_per_process_browsertest.cc#newcode583 content/browser/site_per_process_browsertest.cc:583: send_response_closures_.push_back(base::Bind(send, "", done)); I think you should document what ...
3 years, 10 months ago (2017-01-30 23:03:51 UTC) #18
nasko
https://codereview.chromium.org/2655393004/diff/10001/content/browser/loader/resource_scheduler.cc File content/browser/loader/resource_scheduler.cc (right): https://codereview.chromium.org/2655393004/diff/10001/content/browser/loader/resource_scheduler.cc#newcode424 content/browser/loader/resource_scheduler.cc:424: // Can be called multiple times per RVH in ...
3 years, 10 months ago (2017-01-31 15:50:34 UTC) #19
Charlie Harrison
Tried to address all concerns. I made the test suite a new class in the ...
3 years, 10 months ago (2017-01-31 20:19:32 UTC) #22
mmenke
Test looks pretty good, though I'm very confused about those IO thread DCHECKs, as they ...
3 years, 10 months ago (2017-02-01 20:21:41 UTC) #25
Charlie Harrison
Still looking into why the DCHECKs were being flaky, but addressed all other points. https://codereview.chromium.org/2655393004/diff/50001/content/browser/site_per_process_browsertest.cc ...
3 years, 10 months ago (2017-02-01 22:22:35 UTC) #28
mmenke
browsertests LGTM, didn't look at the rest. https://codereview.chromium.org/2655393004/diff/70001/content/browser/site_per_process_browsertest.cc File content/browser/site_per_process_browsertest.cc (right): https://codereview.chromium.org/2655393004/diff/70001/content/browser/site_per_process_browsertest.cc#newcode9226 content/browser/site_per_process_browsertest.cc:9226: // called ...
3 years, 10 months ago (2017-02-01 22:38:14 UTC) #29
Charlie Harrison
Thanks, nasko: PTAL? https://codereview.chromium.org/2655393004/diff/70001/content/browser/site_per_process_browsertest.cc File content/browser/site_per_process_browsertest.cc (right): https://codereview.chromium.org/2655393004/diff/70001/content/browser/site_per_process_browsertest.cc#newcode9226 content/browser/site_per_process_browsertest.cc:9226: // called on the test server's ...
3 years, 10 months ago (2017-02-01 22:51:24 UTC) #30
nasko
LGTM
3 years, 10 months ago (2017-02-02 16:14:56 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2655393004/90001
3 years, 10 months ago (2017-02-02 16:25:35 UTC) #34
commit-bot: I haz the power
3 years, 10 months ago (2017-02-02 17:42:10 UTC) #37
Message was sent while issue was closed.
Committed patchset #6 (id:90001) as
https://chromium.googlesource.com/chromium/src/+/d86c35bcf47e34f09f295127796e...

Powered by Google App Engine
This is Rietveld 408576698