在图2中,网页A在一个Tab显示,并且它通过iframe标签包含了网页B和网页C。网页C通过window.open在另外一个Tab中打开了另外一个网页C实例。新打开的网页C通过iframe标签包含了网页D,网页D又通过iframe标签包含了网页A的另外一个实例。
这时候Browser进程会分别为图1的两个Tab创建一个WebContents对象,如图2所示:
部分名词说明
Browser: 一个浏览器实例可以拥有多个 BrowserContext, 一个BrowserContext对应一个windonw窗口。
BrowserContext: 一个Browsercontext对应一个浏览器会话, 并对应多个WebContent/Page/Tab。
WebContent/Page/Tab: 一个Webcontent对应一个Tab/Page。
Frame: 一个Page 至少有一个Main Frame。其还可以有由 iframe或frame tags而创建的Sub Frame。
参考:
Chromium网页Frame Tree创建过程分析blog.csdn.net