Lu Yuan
2016-08-12
v8::Extension(kLoadTimesExtensionName,
"var chrome;"
"if (!chrome)"
" chrome = {};"
"chrome.loadTimes = function() {"
" native function GetLoadTimes();"
" return GetLoadTimes();"
"};"
"chrome.csi = function() {"
" native function GetCSI();"
" return GetCSI();"
"}") {}
readonly attribute unsigned long long firstLayout;
ScriptValue PerformanceTiming::toJSONForBinding
(ScriptState* scriptState) const
{
...
result.addNumber("firstLayout", firstLayout());
return result.scriptValue();
}
脚本引擎 | 渲染引擎 | 扩展 | 其他宿主 | |
---|---|---|---|---|
Pros | 开发成本低 结构简单 可访问内核资源多 |
IDL 规范 接口标准 可访问内核资源多 |
开发成本低 可访问内核资源多 |
功能强大 扩展性 学习成本低 |
Cons | 接口类型简单 | build 时间长 直接修改内核 |
直接修改内核 | 开发、维护成本高 结构复杂 |