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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章