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

Issue 2197663002: Prerender: Allow on low end devices for ORIGIN_OFFLINE (Closed)

Created:
4 years, 4 months ago by pasko
Modified:
4 years, 4 months ago
Reviewers:
dougarnett, mmenke
CC:
chromium-reviews, tburkard+watch_chromium.org, gavinp+prer_chromium.org, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Prerender: Allow on low end devices for ORIGIN_OFFLINE TL;DR: Prerendering cannot keep track of all child processes, and only allows prerendering when asked by the offliner. Low end devices require (best effort at) keeping no more than one renderer process at any time. Prerendering has been disabled on low end devices because of this. Offliner should be able to create prerenders, and it needs to ensure that these prerenders are: * not created when another renderer is alive * killed when Chrome another renderer is created We identified additional cases when to prevent offlining, among which: * Chrome is in foreground (even though may not have a renderer) * Battery level is low Since the foreground checks should be in place anyway, we decided that while Chrome is in background having two background renderers is OK, and we can rely on one (or both) of them being killed by the system. For simplicity the offliner does not actually watch for renderers specifically, only: * Prevents offlining when any Chrome activity is visible * Kills its prerenders when a transition to foreground happens BUG=622508 Committed: https://crrev.com/63b429af6ac2e1a0835e30ddd962fc4ebad2cd1b Cr-Commit-Position: refs/heads/master@{#409528}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Introduced PrerenderManager::IsLowEndDevice() #

Patch Set 3 : git cl format #

Total comments: 7

Patch Set 4 : Addressed comments by mmenke@ #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+46 lines, -6 lines) Patch
M chrome/browser/prerender/prerender_manager.h View 1 2 3 1 chunk +3 lines, -0 lines 1 comment Download
M chrome/browser/prerender/prerender_manager.cc View 1 2 3 3 chunks +10 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_manager_factory.cc View 2 chunks +1 line, -6 lines 0 comments Download
M chrome/browser/prerender/prerender_unittest.cc View 1 2 3 4 chunks +32 lines, -0 lines 0 comments Download

Messages

Total messages: 37 (15 generated)
pasko
mmenke: please take a look Apologies for the document (go/background-loading-on-svelte) with details and discussion being ...
4 years, 4 months ago (2016-07-29 15:49:17 UTC) #4
pasko
dougarnett: FYI
4 years, 4 months ago (2016-07-29 15:51:11 UTC) #7
mmenke
https://codereview.chromium.org/2197663002/diff/1/chrome/browser/prerender/prerender_unittest.cc File chrome/browser/prerender/prerender_unittest.cc (right): https://codereview.chromium.org/2197663002/diff/1/chrome/browser/prerender/prerender_unittest.cc#newcode450 chrome/browser/prerender/prerender_unittest.cc:450: EXPECT_FALSE(AddSimplePrerender(url)); I assume most of the other tests now ...
4 years, 4 months ago (2016-07-29 15:57:09 UTC) #8
pasko
https://codereview.chromium.org/2197663002/diff/1/chrome/browser/prerender/prerender_unittest.cc File chrome/browser/prerender/prerender_unittest.cc (right): https://codereview.chromium.org/2197663002/diff/1/chrome/browser/prerender/prerender_unittest.cc#newcode450 chrome/browser/prerender/prerender_unittest.cc:450: EXPECT_FALSE(AddSimplePrerender(url)); On 2016/07/29 15:57:09, mmenke wrote: > I assume ...
4 years, 4 months ago (2016-07-29 16:10:00 UTC) #9
mmenke
https://codereview.chromium.org/2197663002/diff/1/chrome/browser/prerender/prerender_unittest.cc File chrome/browser/prerender/prerender_unittest.cc (right): https://codereview.chromium.org/2197663002/diff/1/chrome/browser/prerender/prerender_unittest.cc#newcode450 chrome/browser/prerender/prerender_unittest.cc:450: EXPECT_FALSE(AddSimplePrerender(url)); On 2016/07/29 16:10:00, pasko wrote: > On 2016/07/29 ...
4 years, 4 months ago (2016-07-29 16:12:27 UTC) #10
pasko
https://codereview.chromium.org/2197663002/diff/1/chrome/browser/prerender/prerender_unittest.cc File chrome/browser/prerender/prerender_unittest.cc (right): https://codereview.chromium.org/2197663002/diff/1/chrome/browser/prerender/prerender_unittest.cc#newcode450 chrome/browser/prerender/prerender_unittest.cc:450: EXPECT_FALSE(AddSimplePrerender(url)); On 2016/07/29 16:12:27, mmenke wrote: > On 2016/07/29 ...
4 years, 4 months ago (2016-07-29 17:25:03 UTC) #13
mmenke
On 2016/07/29 17:25:03, pasko wrote: > https://codereview.chromium.org/2197663002/diff/1/chrome/browser/prerender/prerender_unittest.cc > File chrome/browser/prerender/prerender_unittest.cc (right): > > https://codereview.chromium.org/2197663002/diff/1/chrome/browser/prerender/prerender_unittest.cc#newcode450 > ...
4 years, 4 months ago (2016-07-29 18:13:27 UTC) #14
pasko
On 2016/07/29 18:13:27, mmenke wrote: > On 2016/07/29 17:25:03, pasko wrote: > > Chrome is ...
4 years, 4 months ago (2016-08-01 08:22:46 UTC) #15
mmenke
On 2016/08/01 08:22:46, pasko wrote: > On 2016/07/29 18:13:27, mmenke wrote: > > On 2016/07/29 ...
4 years, 4 months ago (2016-08-01 14:53:58 UTC) #16
pasko
On 2016/08/01 14:53:58, mmenke wrote: > On 2016/08/01 08:22:46, pasko wrote: > > On 2016/07/29 ...
4 years, 4 months ago (2016-08-01 16:48:42 UTC) #17
mmenke
On 2016/08/01 16:48:42, pasko wrote: > On 2016/08/01 14:53:58, mmenke wrote: > > On 2016/08/01 ...
4 years, 4 months ago (2016-08-01 17:01:29 UTC) #18
pasko
On 2016/08/01 17:01:29, mmenke wrote: > > My point is that I do not see ...
4 years, 4 months ago (2016-08-02 08:43:44 UTC) #19
mmenke
On 2016/08/02 08:43:44, pasko wrote: > On 2016/08/01 17:01:29, mmenke wrote: > > > My ...
4 years, 4 months ago (2016-08-02 16:35:43 UTC) #20
pasko
On 2016/08/02 16:35:43, mmenke wrote: > I'm fine with mocking out SysInfo itself. I'm even ...
4 years, 4 months ago (2016-08-03 13:33:33 UTC) #23
mmenke
On 2016/08/03 13:33:33, pasko wrote: > On 2016/08/02 16:35:43, mmenke wrote: > > I'm fine ...
4 years, 4 months ago (2016-08-03 15:10:44 UTC) #26
mmenke
Oops, forgot to publish my nits. https://codereview.chromium.org/2197663002/diff/40001/chrome/browser/prerender/prerender_manager.h File chrome/browser/prerender/prerender_manager.h (right): https://codereview.chromium.org/2197663002/diff/40001/chrome/browser/prerender/prerender_manager.h#newcode388 chrome/browser/prerender/prerender_manager.h:388: virtual bool IsLowEndDevice(); ...
4 years, 4 months ago (2016-08-03 15:10:58 UTC) #27
pasko
mmenke: thank you for in-depth review! dougarnett: will you have a chance to look at ...
4 years, 4 months ago (2016-08-03 15:30:18 UTC) #28
mmenke
https://codereview.chromium.org/2197663002/diff/40001/chrome/browser/prerender/prerender_unittest.cc File chrome/browser/prerender/prerender_unittest.cc (right): https://codereview.chromium.org/2197663002/diff/40001/chrome/browser/prerender/prerender_unittest.cc#newcode333 chrome/browser/prerender/prerender_unittest.cc:333: void SetUp() override { prerender_manager()->SetIsLowEndDevice(false); } On 2016/08/03 15:30:17, ...
4 years, 4 months ago (2016-08-03 15:36:43 UTC) #29
dougarnett
lgtm https://codereview.chromium.org/2197663002/diff/60001/chrome/browser/prerender/prerender_manager.h File chrome/browser/prerender/prerender_manager.h (right): https://codereview.chromium.org/2197663002/diff/60001/chrome/browser/prerender/prerender_manager.h#newcode388 chrome/browser/prerender/prerender_manager.h:388: virtual bool IsLowEndDevice() const; +1 for making this ...
4 years, 4 months ago (2016-08-03 15:39:21 UTC) #30
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/2197663002/60001
4 years, 4 months ago (2016-08-03 15:43:42 UTC) #33
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 4 months ago (2016-08-03 16:27:50 UTC) #35
commit-bot: I haz the power
4 years, 4 months ago (2016-08-03 16:31:18 UTC) #37
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/63b429af6ac2e1a0835e30ddd962fc4ebad2cd1b
Cr-Commit-Position: refs/heads/master@{#409528}

Powered by Google App Engine
This is Rietveld 408576698