在读Adblock Plus for
Chrome插件的源代码时,拦截入口处有几个判断非常重要,这涉及到当前打开Tab的URL、来源、打开方式等概念,对应到Blink中术语有page、main
frame、iframe、document等,翻阅一下Blink的README文档,找到官方的介绍在此做一下记录。
Page
一个Page对应于一个Tab,当然前提时OOPIF(Out-of-Process iframes)没有开启。每一个渲染进程可能包含多个Tab。
Frame
Frame对应于HTML中的frame,可能是主frame或者iframe,每个Page在树形结构中可能包含一个或者多个frame。
DOMWindow
一个DOMWindow对应Javascript中的一个window对象,每个Frame有一个DOMWindow。
Document
一个Document对应Javascript中的一个window.document,每个Frame有一个Document。
ExecutionContext
一个ExecutionContext是一个抽象概念,在渲染进程的主线程