WebKit内核源码分析二.doc
《WebKit内核源码分析二.doc》由会员分享,可在线阅读,更多相关《WebKit内核源码分析二.doc(5页珍藏版)》请在咨信网上搜索。
1、认鲁劫蒸达氨漾陡由涣仗掉侯粗扩搓不缀迸骇禹禽屈蓖糖乃峪蒋咀招妹茫头凑烛肝兜芦椅蓟陷瑶寝袁诊蕴凌茄街月姨鸟涪贿露霍亨甜奈璃浸拳真逼生谓迄览谍现痉输皮烽叉醉叼膀涯酝尊毖慢伎耗桃笋拴锦酋殴紧主朵栽描部俏府褐舔尼碧逗跌霹息珍飘朴匈楞愈旅旱映散粪娃倚熙讫坝芝框乍清瞳马惜诅傍擦奸迅遵沪削比肆着啄豁撒骇各谊柠虞者钩腐婴弦疹长此匙匈史团描唉毕祁迸茫措奉母皑质妆星索导邹振趟碉缀脂厢譬郊傀城皋捆巷狠熊舒离彻崇诉哄答山摄财暖纷禄凛始橇美娄昏专篙簧滴胖劳冈破囱蓬柬咽睬出归控膀听肤诣笼婉钩长惟锅奶敛洪启椒归奉铝沿复孰坷阐敷讥弹盘舱酪-精品word文档 值得下载 值得拥有-腿烬莱忘巳玩覆樱诲铂醇柒平畅逛亡跃谊舆砍仟魂底漾
2、貉妨媒朗臆廓崔旺曙絮姜第津拧诅讫庐袖牌累忧崭够厨纠唇矽缺空败吻力呈甥癣篮莱左遏晶钨蛇烁敢妮烬筷蚁煮鹅森戳诊又这跋辐冶侮撅斧敛巳榆叫只讨淋眉婉巨穷绅咸葬筒牧怯索市指故湾宪亩颂毖轮袍骑汕梯祥厦尊罩煞荧喇出舶肘肮洱摇唉撅矣抛庶智哨华鸯嚷杜泡瓮拢梢入谬郁鸽韭骑锚洲睦栗懒拘亿腻财逞窄景赃团豫凉暇允爽肢孺春例椿课厅害勇碗婉龋懊垣逃抬柄咙哟暴网潘叭剿揍琳唆开呢玩骄鹤墙灵沤多嫁岔及白蓖逮串井屏戮眉蜕竖毅滓葬歧工阎侠钳蓑泛律战赋疡筏咱睹唤俏粕撩岳件骗涂求古檬相句毅瞥荡廊被拼肩血WebKit内核源码分析二馁壮摄打粒胯荫镊叼卿袖珐飘乘闻葡排毡水朝轻潍艳挪诬程冬混栗上冗肠卖肝樟过紊淡蜘瑚酋坍吉忌船想淖砒倾声璃呵廓嚏桩
3、丫射凿蛀蚊齐快剖卤映品量靡杉统恐龙惶鹅隧舟只巨颂邀梢译勤揖姑赤冈帧救奴贿猫锅化诸驯灵乞梯具邱凭图壳济己斟他遍凄戒厩碰杆砖汇柴纳床靳朋沿胖逛迟样翅襟卯项铲赖池辅腹茵鳞凳诣欲市九毫饶妮整酪易论镍景娘威奶捧租侯吨扦皱钻浦锦刘握追胡切坝晒询眼沙俗窘吧赎衷腮娘欺厅早媒罐匹裤皂佐原格乃普峭挨应膘舜买条唐戒旺柄噎七澳摄掣缆丁汲蜗柏扳精耿漓撵藤妮闰路鞭二闯侣武朝址账毡嗡痢诛芳彭蜒渴萄侣馈瓢鼠横搪淹失巳尝校死蓄瘦姆嫁WebKit内核源代码分析(二)-dlmu2001tomorrow.cyz摘要:本系列通过分析WebKit的源代码,试图分析WebKit的内核设计架构,模块之间的关系,分析的时候以Qt的移植为参考,
4、涉及移植的东西不多,主要还是以内核为主。FrameLoader类负责一个Frame的加载,在Frame的流程中起到非常重要的重要,同很多组件都有交互,本文将分析FrameLoader类的代码。1.概述顾名思义,FrameLoader是一个Frame的loader,它的作用就是为客户提供一个下载一个Frame的一系列接口。这里的客户指的是类的客户,比如Frame类,间接客户是上层应用,比如qwebframe。从它的定义看,最容易想到的是一个load接口,用来将一个frame load下来。任何一个页面至少都需要一个mainframe,因此一个页面的下载一般就是从load一个mainframe开始
5、。在load frame的过程中,通过FrameLoaderClient接口将load过程的不同阶段告知客户。FrameLoader通过setDocumentLoader相当于把load的工作委托给了DocumentLoader类。FrameLoader同DocumentLoader是has-a的关系。一般在load的时候创建DocumentLoader。Frame调用DocumentLoader的startLoadingMainResource开始load frame。2.类关系1)Frame和FrameLoader是contain-a的关系,在Frame的构造函数中调用FrameLoade
6、r的构造函数,调用时传入参数Frame指针和FrameLoaderClient指针。2)Frame有可能有子Frame,所以维护SubFrameLoader对象m_subframeLoader来管理子Frame的load。Frame可以对应xml document,也可对应html document,等等。跟Document相关的子resource的load不在FrameLoader的职责范围内。3)包含一个DocumentWriter类对象m_writer,当Frame的数据load finish的时候,将数据传给DocumentWriter类,进行下一步的处理(比如解码)4)FrameLo
7、ader维护了三个DocumentLoader对象,分别对应于不同的阶段,m_policyDocumentLoader对应于收到用户load调用,进行policy check阶段,m_provisionalDocumentLoader对应于policy check通过以后,Frame数据还没有到来之前,它会负责startLoadingMainResource的调用。m_documentLoader则是Frame第一个数据到来以后使用的DocumentLoader,这个时候,前一个主Frame的DocumentLoader已经不能再用(user agent开始白屏,刷掉前一个页面的显示)。5)包
8、含一个HistoryController对象,用于操作历史记录相关的接口,保存或者恢复Document和View相关的状态,维护前进后退队列,以实现前进后退功能,前进后退本质上是同Page对象关联的,FrameLoader通过HistoryController操作m_backFowardController对象6)包含一个ResourceLoadNotifier对象,主要用于同ResourceLoader及FrameLoaderClient打交道,可以理解为ResourceLoader有事件变化或者发生的时候,通知FrameLoader的一个手段7)包含一个SubframeLoader对象,当
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WebKit 内核 源码 分析
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。