webkit的history

有个全局的PageCache用来保存HistoryItem的page,

这个随时可能被删掉,因为它只是一个cache而已,

这里要注意,CachedPage不等于Page,CachedFame不等于Frame,

它们只是保存了page和mainFrame中的只要变量。

 

page下的BackForwardList用来保存历史记录,

这个类很简单,就是保存着HistoryItem的vetor和hash。

 

在FrameLoader接收到新的网页数据,准备unload当前网页时,

会创建CachedPage与当前的HistoryItem一起放到PageCache中。

 

HistoryController是用来控制当前FrameLoader的HistoryItem的,

其中一系列的update*函数,是对不同的跳转方式的处理,

他会建立一个HistoryItem的Tree,是从当前的mainFrame开始的,

这个Tree是与Frame相对应的,对应的条件是name。

你可能感兴趣的:(cache,tree,webkit)