
Chromium
文章平均质量分 77
leeeryan
这个作者很懒,什么都没留下…
展开
-
WebKit中的RefPtr和PassRefPtr
转自:webkit技术译文系列(二):RefPtr和PassRefPtr基础 原文链接:http://webkit.org/coding/RefPtr.html 历史 WebKit中的许多对象是引用计数的(reference counted),采用的模式就是类具有ref和deref成员函数增加和减少引用计数。每个ref调用必须有一个deref与之匹配。当在引用计数值为 1的对象上调用deref方法时,对象删除。WebKit中的许多类通过继承RefCounted类模板应用该模式。 时间回溯到2005年转载 2011-01-12 13:32:00 · 1100 阅读 · 0 评论 -
chromium中脚本执行的代码路径
webkit中脚本执行代码路径: void HTMLDocumentParser::pumpTokenizer(SynchronousMode mode){。。。bool HTMLDocumentParser::runScriptsForPausedTreeBuilder(){。。。 bool HTMLScriptRunner::execute(PassRefPtr scriptElement, const TextPosition1& scriptStartPosi原创 2011-01-12 17:23:00 · 1658 阅读 · 0 评论 -
WebKit之WebCore篇
<br />转自: 浅谈WebKi谈WebKit之WWebKit之WebCore篇 <br /> <br />1、从源代码目录结构来看<br />WebCore目录主要包括如下目录:<br />bindings 包含将Dom Binding给JavascriptCore方面的代码,同时包含依据idl接口描述文件,自动生成对应于JavascriptCore的Binding实现的脚本等内容;<br /><br />bridge 主要包含NPPlugin方面的接口访问等内容;<br /><br />c转载 2011-01-12 14:18:00 · 3855 阅读 · 0 评论 -
WebKit如何加载web页面
<br />转自:WebKit如何加载web页面<br />原文链接:http://webkit.org/blog/1188/how-webkit-loads-a-web-page/<br />在WebKit能够渲染web页面之前,它必须从网络加载页面和子资源。从web加载资源涉及到许多层,本文将集中于WebCore,即WebKit的主要渲染组件,如何参与加载过程。<br />WebKit包含两条加载管道,一个用于加载文档到框架(frame),另一个用于加载子资源(如图片和脚本)。下图总结了两条管道涉及的主转载 2011-01-12 13:10:00 · 1034 阅读 · 0 评论 -
WebCore中的主要对象
转自:Webkit技术译文系列(一):WebCore中的主要对象 原文链接 http://webkit.org/coding/major-objects.html WebCore使用许多对象来表示内存中的web页面,本文描述了其中的一些主要对象以及它们之间的关系。在某些情况下,对象之间的连接会断开,导致空指针引用。因此在遍历这些指针时,代码必须仔细的考虑"分离"(detached)的情形,并优雅的处理空指针。 +---------+ | Chrome | +----+----+转载 2011-01-12 12:47:00 · 896 阅读 · 0 评论 -
WebKit中的设计模式:Noncopyable
转自:WebKit中的设计模式(一): Noncopyable WebKit作为一款优秀的浏览器,其中有着非常优秀的设计,值得我们借鉴。本文的目的就是剖析WebKit中值得借鉴的设计模式,了解其设计思想,以达到能为我们使用的目的。关于设计模式,推荐阅读经典书籍>。本文所分析的设计模式,并非全部都是书上所提及的设计模式。因为设计模式是一个非常泛的概念,只要能够重复使用且能解决特定问题的设计,应该都可以算作设计模式,希望朋友们不要较真。 言归正传,首先我们来分析以下WebKit中Noncopyable的使用转载 2011-01-12 13:35:00 · 985 阅读 · 0 评论 -
WebCore中的Dom和Render
int xPos() const; int yPos() const; 转自:WebCore中的渲染机制(一):基础知识原文链接:http://webkit.org/blog/114/webcore-rendering-i-the-basics/DOM树web页面解析后形成节点树,称作文档对象模型(简称DOM),树上所有节点的基类是Node。Node.h节点分为几类,与渲染代码相关的节点类型有:Document - 树的根节点总是Document,WebCore中有三个文档类: Docume转载 2011-01-12 13:06:00 · 1044 阅读 · 0 评论 -
WebKit之Port
转自:浅谈WebKit之Port篇 (自备梯子)1、与WebCore交互接口的实现在WebKit源代码目录结构中WebKit目录下分别包含gtk、mac、qt、win、wx目录,其分别对应不同的Port移植方式,在每一个目录下面都包括 WebCoreSupport目录,而在不同的WebCoreSupport目录下分别包含有对类接口WebCore::ChromeClient、 WebCore::ContextMenuClient、WebCore::DragClient、WebCore::EditorC转载 2011-01-12 14:01:00 · 3089 阅读 · 0 评论 -
JavaScriptCore、V8如何与WebCore交互
<br />在WebCore::Frame的数据结构中包含数据成员KJSProxy* m_jscript;而在Chrome的代码中调整为JSBridge* m_jscript;而针对不同实现JavaScriptCore、V8,分别有:<br />class KJSBridge : public JSBridge {<br />public:<br />KJSBridge(Frame* frame) : m_proxy(new KJSProxy(frame)) { }<br />virtual转载 2011-01-12 13:47:00 · 2698 阅读 · 0 评论 -
chromium中绑定JavaScript层级中的顶层对象Window到v8中的入口
<br />//chromium中绑定JavaScript 层级中的顶层对象Window到v8中的入口bool V8DOMWindowShell::installDOMWindow(v8::Handle<v8::Context> context, DOMWindow* window){ //创建一个JS window对象 v8::Handle<v8::Function> windowConstructor = V8DOMWrapper::getConstructor(&V8DOM原创 2011-01-12 20:33:00 · 2604 阅读 · 1 评论