Chrome浏览器上集成IE内核方案
1. 架构图
双核功能的基本思路是,在chrome原有的render 管理的基础上,添加trident内核对象并在切换时将两个渲染的内核数据进行同步,进而将内核网络请求分发下来的数据,趋于一致,从而达到双核的无缝切换,内核数据同步主要包括cookie 数据同步和post 数据同步。
主要的流程包括:
**窗口关联概要流程:**由主窗口创建对应widget_host(即主窗口要bind的窗口)并与 trident 的容器窗口做bind(父子窗口关系设置)
**Cookie****数据同步概要流程:**V68代码chrome中的网络模型是在主进程管理网络进程和cookie,V87独立network网络模型,需要注意。需要将trident 内核网络数据的cookie的获取和存储均通过进程去管理。
Post**,Refere****等数据同步概要流程:**渲染内核在开启新页面或者页面内刷新时会将一部分数据(主要包括post,refere等)放入到要导航的页面中,如果跳转的页面需要切换内核,那么需要这部分数据从内核中取出来,并将这些数据放入新的核心去导航。
2. chrome内核模型
浏览器启动的时候会创建一个browser类,
启动流程期间会创建tab页面,然后渲染