- 博客(5)
- 收藏
- 关注
原创 Blink渲染调试记录Ⅱ
ContainerNode上一章说到调试入口是Element::AttachLayoutTree,实际上在这个函数的调用过程中还会触及到另一个同名函数:ContainerNode::AttachLayoutTree,这两个函数随着DFS的深入,将会反复互相调用,这在调用堆栈中就可见一斑了。或许你有几个疑问:Element::AttachLayoutTree的2769行和2775行有啥区别?2720行又是啥?ContainNode::AttachLayoutTree的1048行又做了什么?em
2022-05-14 15:38:15 160
原创 Blink渲染调试记录Ⅰ
概述这是本人对Blink渲染的调试记录,调试的Chromium版本为95.0.4638.54调试入口为"third_party\blink\renderer\core\dom\element.cc",入口函数是2720行的Element::AttachLayoutTree函数。主要函数这个函数的主要函数如下所示:void Element::AttachLayoutTree(AttachContext& context) { // 获取CSS样式 const ComputedStyle
2022-05-14 14:34:50 241
原创 Object in ES6
之前用Java实现了一些ES6的一些功能,其中在Object部分有些印象深刻的地方,写出来记录一下。 一、阅读顺序ES6文档中关于Object的描述十分晦涩。与Object相关的有四个地方,分别是6.1.7 Object、7.3 Operations on Objects、9.1 Ordinary Object Internal Methods and Internal Slots、19.1 Object Objects。其中6.1.7只是简单介绍了Object中很底层的函数
2022-01-27 00:09:00 1203
原创 Promise in ES6
反复阅读ES6文档后,终于把Promise啃下来了。以下是对ES6文档Promise部分的分析,前面是结论,后面是详细分析过程。 一、一般流程事先说明一下,Promise对象有四个成员变量:PromiseState、PromiseResult、PromiseFulfillReactions、PromiseRejectReactions。其中PromiseState表示Promise的状态,有pending(等待)、 fulfilled(完成)和rejected(失败)三种状态。
2022-01-17 19:02:11 554
原创 Blink学习第一天:How Blink works
BlinkBlink是Chromium的浏览器引擎详见Blink官网How Blink works是官网对它的介绍文档。本帖是对该文档的中文总结。 Blink的主要功能实现web平台的各种特性(比如:HTML标准),包括DOM,CSS和Web IDL嵌入V8引擎(一种Javascript引擎)并运行JS代码向底层的网络栈请求资源建立DOM树推断出样式和布局的信息嵌入Chrome CompositorChromium、Opera、Android的WebVie
2022-01-01 20:01:44 2595
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人