博客专栏  >  互联网   >  WebKit研究

WebKit研究

学习分析WebKit的各个模块的设计与实现,包括加载、解析、排版、渲染、多媒体及JavaScriptCore模块。

关注
17 已关注
35篇博文
  • [WebKit]C++类的数据结构及在反汇编上的应用

    在反汇编常常要在无法使用调试信息和源代码的情况下查看数据内容,数据结构比较好处理,如果是C++的类,就需要做些总结了。 基础 - POD? C++的成员变量的排列顺序关键在于区别是不是PO...

    2013-06-17 23:56
    3722
  • WebKit加载流程 - 概述

    之前写了几篇加载流程的说明,是从下向上看,有点只见树木不见森林的感觉。经过最近一段时间的学习,有了能加以概括抽象的方法。 WebKit加载流程和页面组成是直接相关的,页面就是WebKit要加载的对象。...

    2014-05-21 06:52
    6233
  • 使用VS2010编译Webkit r116410 ( Nightly Build @ 2012-5-8 )

    转载请注明出处:http://blog.csdn.net/horkychen   Webkit Night Build不能直接支持VS2010,需要自己多做些事情。和VS2005不同的是有一些工程转...

    2012-05-12 23:57
    6787
  • HTTP缓存思考

    HTTP Cache的一个很重要的应用,它包含两个重要的领域: HTTP & Cache。 两个方面都有清楚的定义,很多人进行着各种研究,相关的文档也是数不胜数。下面是整理的一个思维导图,以后再展开。

    2014-02-10 00:11
    3852
  • [WebKit]WebCore之页面加载的设计与实现(三)

    关于页面加载,RFC2616(HTTP 1.1)做了很多的定义,WebKit的流程也是遵循这些定义的实现。这部分的实现主要放在之前提出的WebCore Loaders和HTTP Stack中。 比如C...

    2014-02-06 23:57
    5338
  • [WebKit]WebCore之页面加载的设计与实现(二)

    从上次学习WebKit加载已经过去了大半年了,终于又有时间理一次加载流程。期望逐步完善细节,最后能有一个系统的总结。 首先可以这样理解WebKit的加载逻辑,涉及三个主要的组件, 其中HTTP s...

    2014-02-05 00:07
    5906
  • Google Chrome中的高性能网络 (三)

    .使用预连接优化了的TCP连接管理 .使用预连接优化了TCP连接管理 .应用Browser Prefreshing优化资源加载 .使用预渲染优化页面浏览

    2013-09-02 00:24
    16280
  • Google Chrome中的高性能网络(二)

    Chrome会随着使用变得更快。 它这个特性是通过一个单例对象Predictor来实现的。这个对象在浏览器内核进程(Browser Kernel Process)中实例化,它唯一的职责就是观察和学习当...

    2013-08-28 01:06
    6827
  • Google Chrome中的高性能网络(一)

    驱动Chrome继续前进的核心原则包括: *Speed: 做最快的(fastest)的浏览器. *Security:为用户提供最为安全的(most secure)的上网环境。 ...

    2013-08-01 21:45
    8936
  • [WebKit] JavaScriptCore解析--高级篇(三) Register Allocation & Trampoline

    Register Allocation 对于一个JIT而言,寄存器分配对系统的消耗通常是一个瓶径。之前有Graph Coloring Allocators, Chaitin style等分配方式,现在...

    2013-06-12 08:18
    4232
  • [WebKit] JavaScriptCore解析--高级篇(二) 类型推导(Type Inference)

    类型推导是DFG JIT最重要的一个基础,WebKit官网对此做了一点解释,翻译如下做为学习参考。 Type inference通过profiling values来做到的,先是预测对哪些类...

    2013-06-11 09:44
    3257
  • [WebKit] JavaScriptCore解析--高级篇(一) SSA (static single assignment)

    在编译器优化领域,数据结构的选择会直接影响程序优化的有效性。SSA是一种编译器使用的中间语言(intermediate language), 作为编译优化的基础(也是DFG JIT的基础),它和Con...

    2013-06-11 15:55
    4196
  • Safari插件机制研究(二) 插件的视图管理

    Note:首先相对于WebKit官网的代码,iOS上的版本使用WAKView代替了NSView。 比如Mac OS中将PlatformWidget定义为 NSView*, 而在iOS中则是WAKVie...

    2013-06-06 20:31
    2899
  • Safari插件机制研究(一)

    Overview 在Safari里有一个单例对象WebPluginDatabase负责管理本地的插件,每个plugin对应一个WebBasePluginPackage,存放在plugins里...

    2013-06-05 18:18
    4888
  • [WebKit]WebCore之页面加载的设计与实现(一)

    这里主要分析WebContentProcess中加载页面的过程,主要针对HTTP请求的处理。 主要结构 WebKit2从接受到loadURL开始,就会准备尝试加载网络数据。不同平台用于处理HTTP请求...

    2013-05-05 23:24
    3964
  • [WebKit] JavaScriptCore解析--基础篇(四) 页面解析与JavaScript元素的执行

    很多地方都已经介绍了JavaScript在浏览器是如何被执行的,这里介绍一下WebKit是如何实现的。主要涉及JS的async,defer及普通脚本的解析与执行过程的代码实现。 1. 概要说...

    2013-06-01 07:00
    12163
  • WebKit的JS Binding解析

    转载请注明出处:http://blog.csdn.net/horkychen WebCore与JavaScriptCore之间使用了Proxy模式,WebCore为JSC提供了一层binding层做...

    2012-05-31 23:43
    10576
  • JavaScriptCore内存分配的战争

    原文来自:http://webkit.sed.hu/content/war-allocators-javascriptcore-another-participant 由zoltan.horvath...

    2012-06-01 00:32
    3909
  • [WebKit]为JavaScript Binding添加新DOM对象的三种方式及实作

    转载请注明出处:http://blog.csdn.net/horkychen  一.基础知识 首先WebKit IDL并非完全遵循Web IDL,只是借鉴使用。WebKit官网提供了一份说明(...

    2012-06-06 22:34
    12150
  • [WebKit] JavaScriptCore解析--基础篇(三)从脚本代码到JIT编译的代码实现

    前面说了一些解析、生成ByteCode直至JIT的基本概念,下面是对照JavaScriptCore源代码来大致了解它的实现。 从JS Script到Byte Code 首先说明Lexer,...

    2013-05-23 00:34
    11468

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部