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}