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

Issue 1706903003: Delay resource scheduling decisions until network access. (Closed)

Created:
4 years, 10 months ago by Pat Meenan
Modified:
4 years, 8 months ago
Reviewers:
jkarlin
CC:
chromium-reviews, loading-reviews_chromium.org, darin-cc_chromium.org, jam, serviceworker-reviews, Charlie Harrison
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Delay resource scheduling decisions until network access. Moved the ResourceScheduler to operate on requests before they use the network instead of as soon as they are created. This gets it out of the way of the cache and service workers (including the new tab page). BUG=587507

Patch Set 1 #

Patch Set 2 : Fixed attribute accounting #

Patch Set 3 : Fixed unit tests #

Total comments: 15
Unified diffs Side-by-side diffs Delta from patch set Stats (+263 lines, -242 lines) Patch
M content/browser/loader/resource_dispatcher_host_impl.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/loader/resource_dispatcher_host_unittest.cc View 1 2 2 chunks +14 lines, -20 lines 0 comments Download
M content/browser/loader/resource_scheduler.h View 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/loader/resource_scheduler.cc View 1 14 chunks +67 lines, -70 lines 13 comments Download
M content/browser/loader/resource_scheduler_unittest.cc View 1 2 37 chunks +177 lines, -152 lines 2 comments Download

Messages

Total messages: 31 (13 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1706903003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1706903003/1
4 years, 10 months ago (2016-02-17 20:24:30 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: cast_shell_linux on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/builds/117237)
4 years, 10 months ago (2016-02-17 20:53:14 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1706903003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1706903003/20001
4 years, 10 months ago (2016-02-18 14:51:39 UTC) #6
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: cast_shell_linux on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/builds/117737)
4 years, 10 months ago (2016-02-18 15:21:34 UTC) #8
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1706903003/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1706903003/40001
4 years, 10 months ago (2016-02-18 21:16:22 UTC) #10
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_gn_chromeos_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_chromeos_rel/builds/145383)
4 years, 10 months ago (2016-02-18 21:47:48 UTC) #12
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1706903003/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1706903003/60001
4 years, 10 months ago (2016-02-19 18:09:37 UTC) #15
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/182715)
4 years, 10 months ago (2016-02-19 19:18:11 UTC) #19
Pat Meenan
mmenke@ could you PTAL? I'm not expecting this to be a huge win on anything ...
4 years, 10 months ago (2016-02-19 20:19:17 UTC) #21
mmenke
On 2016/02/19 20:19:17, Pat Meenan wrote: > mmenke@ could you PTAL? > > I'm not ...
4 years, 10 months ago (2016-02-22 16:52:30 UTC) #22
mmenke
Sorry I didn't get to this in the past two days - this fell off ...
4 years, 9 months ago (2016-02-25 15:21:05 UTC) #23
jkarlin
On 2016/02/25 15:21:05, mmenke wrote: > Sorry I didn't get to this in the past ...
4 years, 9 months ago (2016-02-25 15:43:05 UTC) #24
mmenke
https://codereview.chromium.org/1706903003/diff/60001/content/browser/loader/resource_scheduler.cc File content/browser/loader/resource_scheduler.cc (right): https://codereview.chromium.org/1706903003/diff/60001/content/browser/loader/resource_scheduler.cc#newcode168 content/browser/loader/resource_scheduler.cc:168: } Fix indent (Or just run git cl format) ...
4 years, 9 months ago (2016-02-25 18:09:51 UTC) #25
mmenke
4 years, 9 months ago (2016-02-25 18:15:42 UTC) #26
kinuko
(cc-ing serviceworker-reviews@)
4 years, 9 months ago (2016-02-26 02:11:07 UTC) #27
mmenke
On 2016/02/26 02:11:07, kinuko wrote: > (cc-ing serviceworker-reviews@) Hrm...ServiceWorker case is interesting. The jobs that ...
4 years, 9 months ago (2016-02-26 02:32:50 UTC) #28
mmenke
On 2016/02/26 02:32:50, mmenke wrote: > On 2016/02/26 02:11:07, kinuko wrote: > > (cc-ing serviceworker-reviews@) ...
4 years, 8 months ago (2016-04-08 15:23:32 UTC) #29
Pat Meenan
4 years, 8 months ago (2016-04-11 13:59:54 UTC) #31
On 2016/04/08 15:23:32, mmenke wrote:
> On 2016/02/26 02:32:50, mmenke wrote:
> > On 2016/02/26 02:11:07, kinuko wrote:
> > > (cc-ing serviceworker-reviews@)
> > 
> > Hrm...ServiceWorker case is interesting.  The jobs that send a request back
to
> > the ServiceWorker are associated with a RenderFrame, so they go through the
> > scheduler, but they never call OnBeforeNetworkStart, because they don't
> directly
> > go over the network, so they'll just bypass the scheduler with this change.
> > 
> > ServiceWorkerWriteToCacheJobs do pass along OnBeforeNetworkStart, but they
> don't
> > implement ResumeNetworkStart, so this CL currently would break them... 
Except
> > ServiceWorkerWriteToCacheJobs aren't associated with a client, so they
> actually
> > don't quite break.  Regardless, that ServiceWorker bug should be fixed. 
Long
> > term, we really should figure out how ServiceWorker fits into things.
> 
> Note that the current plan is to remove ResourceScheduler and move it down to
> the net/ layer, so I think we can abandon this CL - we can try to hook it up
to
> before network stack after the move.  Also, dropping this lets us remove
> URLRequest::Delegate::OnBeforeNetworkStart, to cut some bloat from our APIs. 
> Removing myself as a reviewer (My pending review list is getting hard to sort
> through).

Yep, closing it out - thanks for taking a look.

Powered by Google App Engine
This is Rietveld 408576698