webkit问题汇总
来源:互联网 发布:fifaonline317数据更新 编辑:程序博客网 时间:2024/06/04 18:37
1.如何抓包:
tcpdump -s 0 -w test.pcp 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
-s 0 :抓完整的包
-w:名字
2.idl文件是什么?
是需要暴露给JS解析引擎的接口。
W3C—WEB IDL
由该工作草案定义的接口定义语言(interface definition language)叫作Web IDL,它可被用来描述要在Web浏览器里实现的接口。Web IDL是一种IDL的变体,它所具有的很多特性使之能够更容易地对Web平台里的常用脚本对象的行为进行规定。为了支持过去只能以文字描述的常用功能,该 IDL在很多方面得到了扩展。另外,它还为ECMAScript第3版和Java给出了精确的语言绑定。
3. BatchedAttribute和BatchedCallback分别是JS所能调用的属性和所使用的方法
4.JS的属性和方法注册到Context流程
ScriptController::executeScript
ScriptController::evaluate
v8::Handle v8Context = V8Proxy::mainWorldContext(m_proxy->frame());
proxy->mainWorldContext();
V8DOMWindowShell::initContextIfNeeded
V8DOMWindowShell::createNewContext
V8DOMWindow::GetShadowObjectTemplate
static v8::Persistent ConfigureShadowObjectTemplate
void batchConfigureAttributes
void configureAttribute
(attribute.onProto ? proto : instance)->SetAccessor(...)
5. webkit分为webcore和javascriptcore,v8属于其中的javascriptcore,google是没有用webkit的javascriptcore的,但是用了webcore.
所以android的webkit代码里有2个javascriptcore,v8和js。android是使用了自己的v8代替原来js。
6. 初步对比JavaScriptCore、V8、SpiderMonkey等
具体JavaScriptCore、V8、SpiderMonkey、TracMonkey执行效率对比如何,不同的测试方法会有不同的测试结果,在这里不再阐述。
就个人了解而言,觉得JavaScriptCore关于对象的方法、属性的安全访问控制方面略有欠缺;SpiderMonkey作为最早一批实现Javascript的引擎,其代码使用C语言来实现,稍现复杂,没有象后来的实现如JavaScriptCore、V8等借鉴了最新的虚拟机技术如JVM等;V8作为新近推出的Javascript实现,正与其特点所描述,拥有很多优势,同时基于C++实现,充分利用了C++ template,代码相对简洁,便于学习使用;
- webkit问题汇总
- android webkit 汇总
- webkit资料教程汇总
- webkit常见问题汇总
- webkit常见问题汇总
- webkit Bug问题定位
- webkit的诡异问题
- -webkit-appearance问题
- webkit手机浏览器的一些bug汇总
- WebKit之IDL关键字汇总整理
- 解决编译WebKit的问题
- webkit浏览器常见开发问题
- webkit浏览器常见开发问题
- webkit浏览器常见开发问题
- webkit浏览器常见开发问题
- webkit浏览器常见开发问题
- Qt Webkit 编程问题整理
- webkit
- 新的角度看matrix相乘(分块相乘)
- vsFTPd 服务器初学者指南(欢迎大家参与补充)
- 如果直接在页面中使用Response.Write("");
- 几个常见的“算法”小程序
- 如何编写和调用资源文件
- webkit问题汇总
- 如何用 maven 同时 install jar 和 war
- C#编写GridView导出EXCEL
- Memcached 缓存系统
- MySql root 密码修改
- Enum使用实例
- 一种巧妙的内存池算法(HeapBlock)
- 关于 Hibernate 的 SQLFunctionTemplate 的问题(HQL 不支持mysql 函数convert的问题)
- 自我研究Struts2项目的开发配置