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

Issue 1146813010: Introduce moderate binding (Closed)

Created:
5 years, 6 months ago by Jaekyun Seok (inactive)
Modified:
5 years, 6 months ago
CC:
chromium-reviews, darin-cc_chromium.org, jam, ppi
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Introduce moderate binding Moderate binding is used to keep background renderers which ran in the foreground recently as important as a visible process. To do that, a binding with Context.BIND_AUTO_CREATE is made when a strong binding is released. When a device is suffered on low memory, the moderate bindings will be trimed with a specific ratio according to the severity in LRU order. When a device is suffered critically or Chrome itself goes into the background, all the moderate bindings will be released. For now, this feature is experimental, and so it will be controlled as field trial. And UMA histograms - "Android.ModerateBindingCount", "Tab.RendererCrashStatus" and "Tab.TotalTabCount.BeforeLeavingApp" - are added as metrics. BUG=485867 Committed: https://crrev.com/ad111397b2762a791cd19e1a7340074ff7e595c0 Cr-Commit-Position: refs/heads/master@{#335598}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : Add "Tab.TotalTabCountBeforeLeavingApp" histogram #

Total comments: 20

Patch Set 7 : Resolve Yaron's comments #

Total comments: 14

Patch Set 8 : Resolve Maria's comments #

Patch Set 9 : Record total tab count of all ChromeActivity #

Patch Set 10 : #

Total comments: 6

Patch Set 11 : Resolve Yaron's comments #

Total comments: 15

Patch Set 12 : Resolve Alexei's comments #

Patch Set 13 : Use a histogram instead of an action #

Total comments: 12

Patch Set 14 : Resolve Alexei's comments #

Patch Set 15 : Fix build errors #

Patch Set 16 : #

Total comments: 4

Patch Set 17 : Add comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+541 lines, -19 lines) Patch
M chrome/android/java/src/org/chromium/chrome/browser/Tab.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +19 lines, -0 lines 0 comments Download
M chrome/android/java_staging/src/org/chromium/chrome/browser/ChromeMobileApplication.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +25 lines, -0 lines 0 comments Download
M chrome/android/java_staging/src/org/chromium/chrome/browser/DeferredStartupHandler.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +40 lines, -0 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/BindingManagerIntegrationTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +5 lines, -0 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/BindingManager.java View 1 2 3 4 5 6 2 chunks +9 lines, -0 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 12 chunks +152 lines, -9 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java View 1 2 3 4 5 6 7 2 chunks +15 lines, -1 line 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java View 1 2 3 4 5 6 7 6 chunks +39 lines, -2 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java View 1 2 3 4 5 6 1 chunk +9 lines, -0 lines 0 comments Download
M content/public/android/javatests/src/org/chromium/content/browser/BindingManagerImplTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 9 chunks +196 lines, -7 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +32 lines, -0 lines 0 comments Download

Messages

Total messages: 40 (9 generated)
Jaekyun Seok (inactive)
mariakhomenko@, yfriedman@ and ppi@, please review this CL.
5 years, 6 months ago (2015-06-09 21:12:35 UTC) #2
Yaron
https://codereview.chromium.org/1146813010/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/Tab.java File chrome/android/java/src/org/chromium/chrome/browser/Tab.java (right): https://codereview.chromium.org/1146813010/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/Tab.java#newcode568 chrome/android/java/src/org/chromium/chrome/browser/Tab.java:568: if (!(activityState == ActivityState.PAUSED Can you pull this condition ...
5 years, 6 months ago (2015-06-11 16:54:35 UTC) #3
Jaekyun Seok (inactive)
PTAL. https://codereview.chromium.org/1146813010/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/Tab.java File chrome/android/java/src/org/chromium/chrome/browser/Tab.java (right): https://codereview.chromium.org/1146813010/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/Tab.java#newcode568 chrome/android/java/src/org/chromium/chrome/browser/Tab.java:568: if (!(activityState == ActivityState.PAUSED On 2015/06/11 16:54:34, Yaron ...
5 years, 6 months ago (2015-06-12 06:50:20 UTC) #4
Jaekyun Seok (inactive)
Ping?
5 years, 6 months ago (2015-06-15 06:05:49 UTC) #5
Maria
https://codereview.chromium.org/1146813010/diff/120001/chrome/android/java_staging/src/org/chromium/chrome/browser/DeferredStartupHandler.java File chrome/android/java_staging/src/org/chromium/chrome/browser/DeferredStartupHandler.java (right): https://codereview.chromium.org/1146813010/diff/120001/chrome/android/java_staging/src/org/chromium/chrome/browser/DeferredStartupHandler.java#newcode152 chrome/android/java_staging/src/org/chromium/chrome/browser/DeferredStartupHandler.java:152: if (lowReduceRatio > highReduceRatio) lowReduceRatio = highReduceRatio; I think ...
5 years, 6 months ago (2015-06-16 01:33:02 UTC) #6
Jaekyun Seok (inactive)
PTAL. https://codereview.chromium.org/1146813010/diff/120001/chrome/android/java_staging/src/org/chromium/chrome/browser/DeferredStartupHandler.java File chrome/android/java_staging/src/org/chromium/chrome/browser/DeferredStartupHandler.java (right): https://codereview.chromium.org/1146813010/diff/120001/chrome/android/java_staging/src/org/chromium/chrome/browser/DeferredStartupHandler.java#newcode152 chrome/android/java_staging/src/org/chromium/chrome/browser/DeferredStartupHandler.java:152: if (lowReduceRatio > highReduceRatio) lowReduceRatio = highReduceRatio; On ...
5 years, 6 months ago (2015-06-16 02:40:32 UTC) #7
gone
dtrainor@ for ChromeTabbedActivity/TabModelSelector/Multi-window madness.
5 years, 6 months ago (2015-06-16 22:23:44 UTC) #9
gone
On 2015/06/16 22:23:44, dfalcantara wrote: > dtrainor@ for ChromeTabbedActivity/TabModelSelector/Multi-window madness. He said something about being ...
5 years, 6 months ago (2015-06-16 22:25:54 UTC) #10
David Trainor- moved to gerrit
If you're having trouble with this working in MultiWindow check TabWindowManager (you might have to ...
5 years, 6 months ago (2015-06-16 22:48:23 UTC) #11
Jaekyun Seok (inactive)
PTAL. On 2015/06/16 22:48:23, David Trainor wrote: > If you're having trouble with this working ...
5 years, 6 months ago (2015-06-17 00:36:05 UTC) #12
Yaron
lgtm https://codereview.chromium.org/1146813010/diff/180001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java File content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java (right): https://codereview.chromium.org/1146813010/diff/180001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java#newcode281 content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java:281: private boolean mOnTesting; final https://codereview.chromium.org/1146813010/diff/180001/content/public/android/javatests/src/org/chromium/content/browser/BindingManagerImplTest.java File content/public/android/javatests/src/org/chromium/content/browser/BindingManagerImplTest.java (right): ...
5 years, 6 months ago (2015-06-17 02:56:12 UTC) #13
Jaekyun Seok (inactive)
https://codereview.chromium.org/1146813010/diff/180001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java File content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java (right): https://codereview.chromium.org/1146813010/diff/180001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java#newcode281 content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java:281: private boolean mOnTesting; On 2015/06/17 02:56:12, Yaron wrote: > ...
5 years, 6 months ago (2015-06-17 04:35:46 UTC) #14
Jaekyun Seok (inactive)
asvitkine@ and mpearson@, please review changes in tools/metrics/actions/actions.xml and tools/metrics/histograms/histograms.xml.
5 years, 6 months ago (2015-06-17 04:37:01 UTC) #16
Alexei Svitkine (slow)
Besides my comments below, please also change the CL description to not use "Finch", which ...
5 years, 6 months ago (2015-06-17 16:57:23 UTC) #17
Mark P
Since Alexei is reviewing this, I removed myself from the reviewer list. --mark
5 years, 6 months ago (2015-06-17 18:05:43 UTC) #20
Jaekyun Seok (inactive)
PTAL. https://codereview.chromium.org/1146813010/diff/200001/chrome/android/java_staging/src/org/chromium/chrome/browser/DeferredStartupHandler.java File chrome/android/java_staging/src/org/chromium/chrome/browser/DeferredStartupHandler.java (right): https://codereview.chromium.org/1146813010/diff/200001/chrome/android/java_staging/src/org/chromium/chrome/browser/DeferredStartupHandler.java#newcode128 chrome/android/java_staging/src/org/chromium/chrome/browser/DeferredStartupHandler.java:128: || MODERATE_BINDING_DISABLED_VALUE.equalsIgnoreCase(trialName)) { On 2015/06/17 16:57:22, Alexei Svitkine ...
5 years, 6 months ago (2015-06-17 22:31:51 UTC) #21
Jaekyun Seok (inactive)
On 2015/06/17 16:57:23, Alexei Svitkine wrote: > Besides my comments below, please also change the ...
5 years, 6 months ago (2015-06-17 22:32:40 UTC) #22
Maria
lgtm
5 years, 6 months ago (2015-06-18 01:19:10 UTC) #24
ppi
I'll defer to Maria and Yaron, the idea sounds great:). r:-ppi cc:ppi
5 years, 6 months ago (2015-06-18 14:28:29 UTC) #26
Alexei Svitkine (slow)
https://codereview.chromium.org/1146813010/diff/200001/tools/metrics/actions/actions.xml File tools/metrics/actions/actions.xml (right): https://codereview.chromium.org/1146813010/diff/200001/tools/metrics/actions/actions.xml#newcode7515 tools/metrics/actions/actions.xml:7515: <action name="MobileBackgroundRendererCrashedOnForegroundApp"> On 2015/06/17 22:31:50, Jaekyun Seok wrote: > ...
5 years, 6 months ago (2015-06-18 15:34:33 UTC) #27
Jaekyun Seok (inactive)
PTAL. I modified codes to use a histogram named "Tab.RendererCrashStatus" instead of an action. But ...
5 years, 6 months ago (2015-06-18 22:41:18 UTC) #28
Alexei Svitkine (slow)
Looks good overall, a few more suggestions. https://codereview.chromium.org/1146813010/diff/240001/chrome/android/java_staging/src/org/chromium/chrome/browser/ChromeMobileApplication.java File chrome/android/java_staging/src/org/chromium/chrome/browser/ChromeMobileApplication.java (right): https://codereview.chromium.org/1146813010/diff/240001/chrome/android/java_staging/src/org/chromium/chrome/browser/ChromeMobileApplication.java#newcode413 chrome/android/java_staging/src/org/chromium/chrome/browser/ChromeMobileApplication.java:413: if (activity ...
5 years, 6 months ago (2015-06-19 17:17:57 UTC) #29
Jaekyun Seok (inactive)
PTAL. https://codereview.chromium.org/1146813010/diff/240001/chrome/android/java_staging/src/org/chromium/chrome/browser/ChromeMobileApplication.java File chrome/android/java_staging/src/org/chromium/chrome/browser/ChromeMobileApplication.java (right): https://codereview.chromium.org/1146813010/diff/240001/chrome/android/java_staging/src/org/chromium/chrome/browser/ChromeMobileApplication.java#newcode413 chrome/android/java_staging/src/org/chromium/chrome/browser/ChromeMobileApplication.java:413: if (activity == null) continue; On 2015/06/19 17:17:56, ...
5 years, 6 months ago (2015-06-22 01:48:57 UTC) #30
Jaekyun Seok (inactive)
PTAL. Two build errors occurred after rebasing this CL to the latest origin/master. So I ...
5 years, 6 months ago (2015-06-22 03:17:52 UTC) #31
Alexei Svitkine (slow)
lgtm https://codereview.chromium.org/1146813010/diff/300001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java File content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java (right): https://codereview.chromium.org/1146813010/diff/300001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java#newcode84 content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java:84: for (Map.Entry<Integer, ManagedConnection> entry : snapshot().entrySet()) { Nit: ...
5 years, 6 months ago (2015-06-22 14:58:52 UTC) #32
Jaekyun Seok (inactive)
https://codereview.chromium.org/1146813010/diff/300001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java File content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java (right): https://codereview.chromium.org/1146813010/diff/300001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java#newcode84 content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java:84: for (Map.Entry<Integer, ManagedConnection> entry : snapshot().entrySet()) { On 2015/06/22 ...
5 years, 6 months ago (2015-06-22 21:24:48 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1146813010/320001
5 years, 6 months ago (2015-06-23 00:45:57 UTC) #36
commit-bot: I haz the power
Committed patchset #17 (id:320001)
5 years, 6 months ago (2015-06-23 00:52:34 UTC) #37
commit-bot: I haz the power
Patchset 17 (id:??) landed as https://crrev.com/ad111397b2762a791cd19e1a7340074ff7e595c0 Cr-Commit-Position: refs/heads/master@{#335598}
5 years, 6 months ago (2015-06-23 00:53:54 UTC) #38
zbowling_chromium
On 2015/06/23 00:53:54, commit-bot: I haz the power wrote: > Patchset 17 (id:??) landed as ...
5 years, 6 months ago (2015-06-23 04:40:56 UTC) #39
Jaekyun Seok (inactive)
5 years, 6 months ago (2015-06-23 04:47:00 UTC) #40
Message was sent while issue was closed.
On 2015/06/23 04:40:56, zbowling_chromium wrote:
> On 2015/06/23 00:53:54, commit-bot: I haz the power wrote:
> > Patchset 17 (id:??) landed as
> > https://crrev.com/ad111397b2762a791cd19e1a7340074ff7e595c0
> > Cr-Commit-Position: refs/heads/master@{#335598}
> 
> After this landed, a test related to this started failing on my CL try bots:
> https://codereview.chromium.org/1203573002/. Not sure why it's not failing
here.

The failed tests (TabsTest#testLastClosedUndoableTabGetsHidden) isn't related to
this CL.
Actually this CL couldn't have any impact because the feature is disabled by
default.

Powered by Google App Engine
This is Rietveld 408576698