Add a pretty-printer that produces FrameTree diagrams with
high information density. Start using these diagrams
in assertions from SitePerProcessBrowserTest.
The diagrams show frame tree structure, SiteInstance of current
frames, presence of pending frames, and the SiteInstances of
any and all proxies. They look like this:
Site A ------------ proxies for B C
|--Site B ------- proxies for A C
+--Site C ------- proxies for B A
|--Site A -- proxies for B
+--Site A -- proxies for B
+--Site A -- proxies for B
Where A = http://127.0.0.1/
B = http://foo.com/ (no process)
C = http://bar.com/
The abbreviated names (A, B, C) are auto-generated in a way
that is both stable with respect to test evolution,
and close to the way we've been naming them intuitively.
The intended consequence of this approach is test assertions
that function not only as powerful validators of code behavior,
but also as a readable documentation of what's happening in
the test scenario.
BUG=475265,476628
Review URL: https://codereview.chromium.org/
1077853003
Cr-Commit-Position: refs/heads/master@{#324988}