WebKit
文章平均质量分 81
Chaoser
这个作者很懒,什么都没留下…
展开
-
WebKit中的智能指针
智能指针的实现原理智能指示通常是通过引用计数器来自动维护对象的引用情况。引用计数跟踪该类有多少个对象共享同一指针。每次通过adoptRef函数创建智能指针时将引用计数置为1;当对象被另一个智能指针引用时增加与之相应的引用计数;对智能指针进行赋值时,赋值操作符减少左操作数所指对象的引用计数(如果引用计数为减至0,则删除对象),并增加右操作数所指对象的引用计数;调用析构函数时,析构函数原创 2013-03-19 19:28:51 · 1997 阅读 · 0 评论 -
Delegate的IMP缓存
在objective-c中,所有的[receiver message:...]方法调用最终都会以obj_msgSend(recevier, @selector(message), …)的形式执行,这相比于c/c++的直接调用多少会有点影响,《深入分析 objc_msgSend》这篇文章主要分析了objc_msgSend具体需要执行的操作和可能的实现源码。 在WebKit的源码中就使用了原创 2013-03-27 16:20:11 · 1817 阅读 · 3 评论 -
Viewport那些事(三)
再谈layout viewport 根据前面的介绍,对于桌面浏览器来说,可以认为viewport的大小始终等于窗口的大小,并且是以CSS像素为单位,document.documentElement.clientWidth/Height和window.innerWidth/Height这两对属性的区别仅仅在于前者不包含滚动条的大小而后者包含。如果用户放大网页,那么以CSS像素原创 2013-04-25 19:52:32 · 1745 阅读 · 0 评论 -
Viewport那些事(一)
这段时间一直在看viewport相关的内容,打算写一个小系列,前两篇是翻译的网上一个写得很不错的viewport文章,主要介绍viewport的基本概念,相关的javascript结构。概念:设备像素和CSS像素 需要了解的第一个概念是CSS像素,以及它和设备像素之间的区别。 设备像素由你的设备决定,并且可以通过screen.width/height来获翻译 2013-04-24 20:54:38 · 1827 阅读 · 1 评论 -
Viewport那些事(四)
meta viewport 为了更好地方便网页作者在移动浏览器上设置合适自己网页的viewport,Apple在meta标签中引入了viewport属性,相关的介绍可以看这里:《Using the viewport》 http://developer.apple.com/library/ios/#documentation/AppleApplication原创 2013-05-05 11:44:25 · 2521 阅读 · 2 评论 -
WebKit中CSS处理流程(一)
1 概述本文主要以CSS加载,解析和匹配计算的完整流程为主线, 描述了Webkit内核中样式处理相关的各个处理模块. 主要包括: 1) CSS的解析流程; 2) 样式表的收集处理过程; 3) RenderStyle的样式匹配的计算流程; 4) 匹配样式的应用。1.1 类型mappedElement:一些可以影响CSS ComputedStyle的html元素。举例:HTML原创 2013-06-04 20:12:35 · 3298 阅读 · 2 评论 -
WebKit中CSS处理流程(二)
2 CSS加载解析流程 图2.1 解析相关的类图2.1 CSS样式解析的入口 CSS样式表解析的入口是从HTML解析到相应的样式元素开始的,如和元素。 html的解析流程主要分为词法解析和语法解析,解析过程主要由HTMLDocumentParser::pumpTokenizer函数推动,它会去调用HTMLTokenizer::nextToken函数来进行词原创 2013-06-04 20:20:06 · 3964 阅读 · 2 评论 -
WebKit中CSS处理流程(三)
注:WebKit在115097版本中将CSSStyleSelector重命名为StyleResolverhttp://trac.webkit.org/changeset/1150973 样式表的收集和处理图3.2 样式表的收集等处理相关的类图3.1 样式表的收集 在m_sheet生成完毕之后,都会调用checkLoaded方法,这个过程会通知拥有m原创 2013-06-05 23:54:26 · 2801 阅读 · 0 评论 -
WebKit中CSS处理流程(四)
注:WebKit在115097版本中将CSSStyleSelector重命名为StyleResolverhttp://trac.webkit.org/changeset/1150974 RenderStyle的计算图4.1 样式计算相关的类图4.1 样式计算的总体流程 RenderStyle的计算是在CSSStyleSelector::styleF原创 2013-06-07 21:59:30 · 2333 阅读 · 1 评论