【技术实现步骤摘要】
一种浏览器的升级方法和装置
本专利技术涉及计算机
,尤其涉及一种浏览器的升级方法和装置。
技术介绍
Chromium是一款由Google公司主导开发的网页浏览器,主要是为了发展Google的浏览器Chrome而设立。由于Chromium是成熟的开源软件,因此,国内很多浏览器都以Chromium为基础进行定制开发。基于Chromium开发的浏览器,一般会分为两层,浏览器内核和用户界面(UserInterface,UI)逻辑。其中,浏览器内核逻辑复杂,代码量大,一般都采用Chromium的原有代码。而为了与Chrome浏览器进行差异化竞争,以及更好的满足国内用户的需求,很多浏览器在UI逻辑上会与Chrome有较大的差异。由于浏览器的各种标准也在不断更新,各大网站也在修改对新标准的支持。因此,老版本的Chromium版本会无法访问只支持新标准的网站。为了实现对新标准网站的支持,基于Chromium内核开发的浏览器,都需要升级Chromium内核。Chromium的更新速度很快,会不断的添加新功能,每40天左右就会更新一个版本,一般每个版本都会有10%左右的代码修改。能否快速升级Chromium内核,已经成为基于Chromium开发的浏览器的首要问题,是衡量浏览器架构设计优劣的重要指标。为了快速升级内核,目前主要有以下两种架构:1、直接在Chromium的代码中修改UI逻辑,需要升级内核时,把修改的UI逻辑合入到Chromium的新版本中,该方案只适合对Chromium的UI逻辑改动较小的浏览器升级,当UI逻辑改动较大时每次的浏览器升级将存在修改量很大的问题 ...
【技术保护点】
1.一种浏览器的升级方法,其特征在于,包括:获取浏览器的原始代码文件,所述原始代码文件包括:所述浏览器的第一版本代码数据、所述浏览器的第二版本代码数据以及原始适配层代码,所述原始适配层代码用于所述第一版本代码数据和所述第二版本代码数据之间的代码隔离;获取用于对所述第二版本代码数据进行升级的第三版本代码数据,所述第三版本代码数据和所述第二版本代码数据之间存在差异代码;根据所述差异代码对所述原始适配层代码进行修改,得到目标适配层代码;将所述浏览器的原始代码文件升级为目标代码文件,所述目标代码文件包括:所述第一版本代码数据、所述第三版本代码数据以及所述目标适配层代码。
【技术特征摘要】
1.一种浏览器的升级方法,其特征在于,包括:获取浏览器的原始代码文件,所述原始代码文件包括:所述浏览器的第一版本代码数据、所述浏览器的第二版本代码数据以及原始适配层代码,所述原始适配层代码用于所述第一版本代码数据和所述第二版本代码数据之间的代码隔离;获取用于对所述第二版本代码数据进行升级的第三版本代码数据,所述第三版本代码数据和所述第二版本代码数据之间存在差异代码;根据所述差异代码对所述原始适配层代码进行修改,得到目标适配层代码;将所述浏览器的原始代码文件升级为目标代码文件,所述目标代码文件包括:所述第一版本代码数据、所述第三版本代码数据以及所述目标适配层代码。2.根据权利要求1所述的方法,其特征在于,所述差异代码包括:用户界面UI差异代码,所述原始适配层代码包括:原始UI适配层代码;所述根据所述差异代码对所述原始适配层代码进行修改,得到目标适配层代码,包括:根据所述UI差异代码对所述原始UI适配层代码进行修改,得到目标UI适配层代码。3.根据权利要求2所述的方法,其特征在于,所述第一版本代码数据包括:第一版本UI代码数据;所述第二版本代码数据包括:第二版本UI代码数据;所述第三版本代码数据包括:第三版本UI代码数据;所述将所述浏览器的原始代码文件升级为目标代码文件,包括:将所述原始代码文件中的第二版本UI代码数据替换为所述第三版本UI代码数据,以及将所述原始代码文件中的原始UI适配层代码替换为所述目标UI适配层代码;根据所述原始代码文件中的所述第三版本UI代码数据、所述目标UI适配层代码和所述第一版本UI代码数据得到所述目标代码文件。4.根据权利要求3所述的方法,其特征在于,所述第一版本UI代码数据,包括:第一版本UI逻辑代码数据和第一版本UI库代码数据;所述第二版本UI代码数据,包括:第二版本UI逻辑代码数据和第二版本UI库代码数据;所述原始UI适配层代码包括:原始UI逻辑交互代码和原始UI库交互代码;所述UI差异代码包括:UI逻辑差异代码和UI库差异代码。5.根据权利要求4所述的方法,其特征在于,所述根据所述UI差异代码对所述原始UI适配层代码进行修改,得到目标UI适配层代码,包括:根据所述UI逻辑差异代码对所述原始UI逻辑交互代码进行修改,得到目标UI逻辑交互代码;以及,根据所述UI库差异代码对所述原始UI库交互代码进行修改,得到目标UI库交互代码。6.根据权利要求5所述的方法,其特征在于,其中,所述第一版本UI逻辑代码数据和所述第二版本UI逻辑代码数据应用于所述浏览器的应用层,所述第一版本UI逻辑代码数据和所述第二版本UI逻辑代码之间通过所述UI逻辑交互代码实现代码隔离;所述第一版本UI库代码数据和所述第二版本UI库代码数据应用于所述浏览器的底层,所述第一版本UI库代码数据和所述第二版本UI库代码之间通过所述UI库交互代码实现代码隔离。7.根据权利要求4所述的方法,其特征在于,所述第三版本UI代码数据,包括:第三版本UI逻辑代码数据和第三版本UI库代码数据;当所述浏览器的代码文件还包括:上下层跨版本调用代码时,所述将所述原始代码文件中的第二版本UI代码数据替换为所述第三版本UI代码数据,以及将所述原始代码文件中的原始UI适配层代码替换为所述目标UI适配层代码,包括:将所述原始代码文件中的第二版本UI库代码数据替换为所述第三版本UI库代码数据;将所述原始代码文件中的原始UI库交互代码替换为目标UI库交互代码;当所述第一版本UI库代码数据中与所述第三版本UI库代码数据存在相同的功能代码时,从所述第一版本UI库代码数据中移除掉所述相同的功能代码得到修改后的第一版本UI库代码数据;将所述原始代码文件中的第二版本UI逻辑代码数据替换为所述第三版本UI逻辑代码数据;将所述原始代码文件中的原始UI逻辑交互代码替换为目标UI逻辑交互代码;将所述上下层跨版本调用代码移植到所述目标UI库交互代码中,得到包括有所述上下层跨版本调用代码的目标UI库交互代码。8.根据权利要求4所述的方...
【专利技术属性】
技术研发人员:李斌,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。