浏览上下文嵌入¶
嵌入元素到 nsDocShell¶
为了渲染 BrowsingContext
的内容,嵌入元素需要能够与当前用于承载其内容的 nsDocShell
通信。这可以通过 3 种不同的方式完成,具体取决于正在使用的进程组合。
进程内:
nsFrameLoader
直接嵌入nsDocShell
。远程标签页:父进程是嵌入者,并通过
BrowserHost
使用PBrowser
。BrowserChild
参与者保持实际的nsDocShell
保持活动状态。远程子框架:内容进程是嵌入者,并通过
BrowserBridgeHost
使用PBrowserBridge
与父进程通信。然后,父进程像在远程标签页情况下一样使用BrowserParent
与nsDocShell
通信。
图表¶
nsDocShell 到文档¶
在 nsDocShell
中嵌入单个文档是在拥有该 docshell 的内容进程中完成的。
图表¶
此图表显示了参与承载给定 BrowsingContext
的内容进程中涉及的对象,以及它们之间的大致关系。虚线表示“当前”关系,而实线表示更强的生命周期关系。