WebCore中的主要对象

转自:Webkit技术译文系列(一):WebCore中的主要对象

原文链接 http://webkit.org/coding/major-objects.html

WebCore使用许多对象来表示内存中的web页面,本文描述了其中的一些主要对象以及它们之间的关系。在某些情况下,对象之间的连接会断开,导致空指针引用。因此在遍历这些指针时,代码必须仔细的考虑"分离"(detached)的情形,并优雅的处理空指针。

 
 +---------+
 | Chrome  |
 +----+----+
      |
  +---+---+     +----------+
  | Page  +---->| Settings |
  +---+---+     +----------+
      |
      +-------------------------- ... other Frame objects
      |
  +---+---+   +-------------+                 +-------------------+
  | Frame +---+ FrameLoader +                 | JSDOMWindowShell  |
  +---+---+   +-------------+                 +---------+---------+
     / /                                                |
    /   /      //  Re-used after navigation   //        |
.../....|...............................................|..........
  /     |      //  Replaced after navigation  //        |
 /      |                                               |
/<------|<-- Ptrs to Frame are null after navigation[1] |
|       |                                               |
| +-----+-----+         +-------------+                 |
| | DOMWindow |<--impl--+ JSDOMWindow |<------window----+
| +-----+-----+         +-------------+
|       |
|       |<-- Can be null for Documents created by XMLHttpRequest
|       |
| +-----+-----+         +-------------+
+-+ Document  |<--impl--+ JSDocument  |
  +-----+-----+         +-------------+
        |
        |<-- Can be null for DocumentType objects
        |
    +---+---+           +--------+
    | Node  |<---impl---| JSNode |
    +-------+           +--------+

[1] 导航到一个新的页面后,老的DomWindow和Document指向一个空的Frame,而Frame指向一个新的DomWindow和Document.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值