DescriptionSeveral Site Details / Memory metrics fixes
- Fix possible O(n^4) worst case behavior (processes x widgets x
frames x siteinstances) for stats gathering.
- Show subframe-only processes in about:memory, which also causes them to
be reported in SiteIsolation.CurrentRendererProcessCount.
- Because SiteIsolation.CurrentRendererProcessCount is fixed, we need
a new family of metrics, SiteIsolation.IsolateNothing*, which simulates
the process-per-siteinstance process model. In tests, IsolateNothing
is expected to have the value that CurrentRenderProcessCount used to.
- Implement a more correct treatment of site isolation stats, which looks at
parent/child transitions and handles ProcessPerSite properly. This is
required for IsolateNothing to work correctly. Since options for
walking the frame tree outside of content are pretty limited, this uses
WebContents::ForEachFrame and (!) memoization.
- Eliminate WebContents::GetSitesInTab; move its about:blank logic into
the new frametree walking code in SiteDetails, which was the only caller.
BUG=454526, 542909
TEST=browser_tests
Committed: https://crrev.com/b2545f729554c7cbc682504d08ae450155953985
Cr-Commit-Position: refs/heads/master@{#357178}
Patch Set 1 #Patch Set 2 : Self-review fixes / simplifications #
Total comments: 10
Patch Set 3 : Rebase of PS2 #Patch Set 4 : Charlie's fixes #Patch Set 5 : Fix merge conflict. #Patch Set 6 : Small tweak #
Total comments: 2
Patch Set 7 : Fix bad merge. #
Total comments: 18
Patch Set 8 : thestig's fixes. #
Messages
Total messages: 39 (17 generated)
|