浏览上下文和窗口上下文¶
BrowsingContext
是 Gecko 对规范定义的 浏览上下文 对象的表示。
浏览上下文树¶
BrowsingContext
和 WindowContext
对象形成一棵树,对应于用于构建它们的框架元素的树。
示例¶
加载此处列出的 HTML 文档将最终创建一组浏览上下文和窗口上下文,形成树形结构。
<!-- http://example.com/top.html -->
<iframe src="frame1.html"></iframe>
<iframe src="http://mozilla.org/"></iframe>
<!-- http://example.com/frame1.html -->
<iframe src="http://example.com/frame2.html"></iframe>
<!-- http://mozilla.org -->
<iframe></iframe>
<iframe></iframe>
同步字段¶
进行中 - 在 https://wiki.mozilla.org/Project_Fission/BrowsingContext 中查看正在进行的文档。
API 文档¶
-
class BrowsingContext¶
这是一种同步上下文类型。它的实例将存在于导航的每个“相关”内容进程中。
在父进程中创建的
BrowsingContext
实例将是CanonicalBrowsingContext
。-
WindowContext *GetParentWindowContext()¶
获取嵌入此上下文的父
WindowContext
,如果这是顶级上下文,则返回nullptr
。
-
WindowContext *GetTopWindowContext()¶
获取嵌入此上下文的顶级
WindowContext
,如果这是顶级上下文,则返回nullptr
。这等效于重复调用
GetParentWindowContext()
直到它返回 nullptr。
-
BrowsingContext *GetParent()¶
-
BrowsingContext *Top()¶
-
static already_AddRefed<BrowsingContext> Get(uint64_t aId)¶
通过其唯一 ID 查找特定的
BrowsingContext
。在使用返回的上下文之前,调用者应该使用IsDiscarded
检查它是否已被丢弃。
-
WindowContext *GetParentWindowContext()¶
-
class CanonicalBrowsingContext : public BrowsingContext¶
当在父进程中构建
BrowsingContext
时,它实际上是CanonicalBrowsingContext
的实例。由于位于父进程中,因此可以从
CanonicalBrowsingContext
获取有关上下文的更多信息。
-
class WindowContext¶
-
class WindowGlobalParent : public WindowContext, public WindowGlobalActor, public PWindowGlobalParent¶
-
class WindowGlobalChild : public WindowGlobalActor, public PWindowGlobalChild¶