chromium
就是那个党伟
凡心所向,素履所往。
展开
-
chromium 之 CSS 解析过程(代码调试)
平台: WIN10调试工具: vs2019chromium: 78.0.3904.108解析网站: www.so.com(有条件的小伙伴建议根据文章里的断点,自己调试,分析堆栈和查看数据的结构,可能会有不同的理解)CSS解析过程下图是CSS的解释过程,具体是从CSS字符串经过CSS解释器处理后变成渲染引擎的内部规则表示的过程未完待续...原创 2020-12-15 11:47:11 · 757 阅读 · 0 评论 -
chromium 之 DOM tree 解析和创建(代码调试)
平台: WIN10调试工具: vs2019chromium: 78解析网站: www.so.com(有条件的小伙伴建议根据文章里的断点,自己调试,分析堆栈和查看数据的结构,可能会有不同的理解)WebKit构建DOM所使用的主要基础设施类下图是 chromium webkit 构建 dom 树时,主要用到的类,我们会在下图中部分类的实现中,进行跟踪,分析 dom 的构建过程DocumentLoader(src\third_party\blink\ren...原创 2020-12-09 12:01:25 · 758 阅读 · 2 评论 -
chromium 之 ipc (mojo) 消息机制
Mojochromium 中的 ipc(进程间通信) 采用 mojo,使用双向的消息管道,每个终结点都有一个传入消息队列,并在一个终结点上写入消息,有效地将该消息排队到另一个 (对等 ) 终结点上。通过 mojom 文件来描述并记录接口Amojomfile describesinterfaces, which are strongly-typed collections ofmessages. Each interface message is roughly analogous to a...原创 2020-12-02 11:49:52 · 5559 阅读 · 4 评论 -
chromium 之 newtab (新标签页)默认页的逻辑
chromium 为多进程架构,每次打开新标签页时,都会启动一个新的 renderer 进程。该进程默认打开的页面代码逻辑如下:browser_tab_strip_controller.cc 中的CreateNewTab() 负责获取当前用户配置的默认打开页。堆栈如下:...原创 2020-11-29 16:04:54 · 1990 阅读 · 0 评论 -
chromium 之 webui 调用逻辑
chromium之webui详细文档参考:WebUI Explainer (googlesource.com)本文主要讲述webui的调用逻辑。webuiwebui 用于管理chrome浏览器,通过 chrome://url 的方式,可以进行不同功能的访问。webui 的特殊性:1. 提供通过 chrome://url 的方式进行chrome管理页面的访问2.允许 chrome 通过 CallJavascriptFunction() 在渲染器中执行任意的 JavaScript3.允许通..原创 2020-11-29 15:33:55 · 743 阅读 · 0 评论 -
windows下搭建编译chromium的开发环境
注意:搭建部署chromium源码开发环境,请严格按照谷歌提供的搭建步骤进行部署。由于网络限制,需要添加代理后进行配置。谷歌提供的搭建chromium源码开发环境的网址如下(必读):https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md具体参考流程及注意事项如下...原创 2019-09-17 14:12:22 · 4141 阅读 · 0 评论 -
linux 搭建和编译 chromium 环境
系统环境:Ubuntu x64 14.04 (ubuntu-14.04.5-desktop-amd64.iso)参考文档:https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md虚拟机环境:Vmware 14*注:搭建chromium开发环境,使用普通账号(非root),如...原创 2019-09-17 14:21:49 · 5146 阅读 · 2 评论 -
mac下搭建编译chromium的开发环境
系统环境:mac OS 10.13.6参考文档:https://chromium.googlesource.com/chromium/src/+/master/docs/mac_build_instructions.md*注:搭建chromium开发环境,使用普通账号(非root),如果普通用户遇到权限问题,使用sudo提权第一步,按照Xcode app store 下载安装 xc...原创 2019-09-17 14:48:15 · 2297 阅读 · 2 评论 -
chromium资源与IDS关联
chromium使用grid工具来生成资源,并定义有国际翻译标准全称(google Resource and Internationalization Tool)1.grit处理的相关格式 grd:模板,列表的创建,字符串的翻译 xtb: 各个国家语言的翻译文件和参数 每个grd对应对个xtb文件2.grit组成 grit包含client 和 server/conso...原创 2019-09-17 14:24:10 · 505 阅读 · 0 评论 -
chromium主要功能模块描述
1.base 基础模块,放最基本的操作封装2.ash aura she`ll ???3.breakpad 崩溃捕捉4.chrome 所有功能都在该模块工程下5.cryoto 加密和解密6.nataive libary 代替activex的技术7.media 音频解码8.ipc 进程间通信9.jingle p2p库10.net 网络通信组件...原创 2019-09-17 14:34:13 · 761 阅读 · 0 评论 -
chromium目录下各个dll的作用
1.chrome.dll 浏览器的内核文件,执行chrome几乎所有的功能2.bink_web.dll3.content.dll 提供内核多线程的sandbox功能的模块4.resources.pak 是chrome的资源文件,包括很多如chrome://开头的页面资源等5.icudtl.dat6.nacl_irt_x86_32.nexe Google Nat...原创 2019-09-17 14:36:19 · 5373 阅读 · 0 评论 -
chromium之jumplist
chrome在win7及之后系统添加jumplist功能。jumplist即系统任务栏相关的功能,包括任务栏图标、鼠标放置后视图、进度条、右键菜单等等。路径:..\chromium\src\chrome\browser\win\jumplist.h ..\chromium\src\chrome\browser\win\jumplist.cpp 主要函数:explicit...原创 2019-09-17 14:39:16 · 613 阅读 · 0 评论