揭秘谷歌浏览器内部目录结构
ninehua 2025-01-06 14:43 1 浏览
上两篇介绍了下载源码和编译源码,这次主要介绍chromium的源码目录结构,我也是通过源码和官网结合来跟大家说,如果有说的不准确的,欢迎交流。
另外,官网的不一定准确,他们其实也很懒,所以最主要还是靠自己。官网只能作为一个参考。
Chromium结构相对两年前变化很大。目录结构依然很清晰,主要有三个部分(不包括其他的库):浏览器,渲染器,webkit。浏览器是主要的进程,代表所有的UI和I/O。渲染通常是每个tab页的子过程,是由浏览器驱动。Webkit做布局和渲染。
简单介绍解决方案文件:
解决方案文件是src/chrome/chrome.sln。
启动代码是在chrome/chrome_initial项目。
常见的共享库的代码是在base项目。此代码是所有项目之间共享,chromium团队试着让它尽可能的小。
常见的浏览器特定的代码在chrome/common项目,它由浏览器和渲染器之间共享。
Webkit内核代码是在项目third_party/WebKit(只读)。之前的src/webkit下为chromium对webkit的一个封装,现在已经删除webkit_glue项目,把一些测试文件移植到content/下,一些文件已经删除。
chrome/browser项目提供了用户界面,存储,网络请求等
顶级项目:
下载chromium源码后,进入src目录,你会发现一些目录,如下:
下面着重讲一下一些比较重要的目录:
android_webview:提供适合集成到Android平台的src /content的封装接口。
注意:
apps:chrome应用相关。
base:所有子项目之间共享的通用代码。它包含像字符串操作,通用程序等。只有当超过一个顶级项目之间共享的代码才能放到这里。
breakpad:谷歌的开源崩溃报告的项目。直接从谷歌代码版本库拉取。
build:构建相关的配置,由所有项目共享。
cc:chromium合成器实现。
chrome:chromium浏览器主程序模块实现代码,核心代码。
chrome/test/data:运行某些测试的数据文件。
components:浏览器依赖的组件目录。
content:一个多进程沙箱浏览器渲染页面的核心代码。
net:为chromium开发的网络功能库。
sandbox:沙箱项目,阻止渲染器修改系统。
Skia的:为Android开发谷歌的Skia的图形库。这是Android的树副本。
SQL:sqlite的封装。
testing:用来单元测试的代码。
third_party:第三方库,如图像解码器和压缩库等。
UI/GFX:共享图形类。这些是Chromium的图形用户界面的基础。
UI/view:UI开发的简单框架,提供渲染,布局和事件处理一个简单的框架。大部分的浏览器的用户界面的在该系统中实现。该目录包含了基本对象。
url:谷歌的开源URL解析和标准化库。
V8:V8 JavaScript库。
webkit(小写):现在只有一小部分留在这里了。common/gpu/
依赖关系图:
一个低层模块不能直接include更高的模块的代码(例如:content不能include chrome中的头文件),但可以使用嵌入的API和它通信。
今天就先写到这里,希望大家能一块学习。
讲了源码下载,编译,目录结构,那么接下来会讲一下如何在windows下调试chromium。希望大家继续关注。
另外附上官网地址:
http://dev.chromium.org/developers/how-tos/getting-around-the-chrome-source-code
如果大家对本系列文章有疑问,可以直接在公众号留言,小编第一时间联系原创作者帮你耐心解答。
技术人员都有自己的情怀,深陷其中而不被理解,欢迎关注个人微信公众平台:程序员互动联盟(coder_online),一个开发人员的家,来诉说自己的故事。
相关推荐
- 新发现一款可以免费使用的虚拟机管理软件
-
1.背景做后端开发和做DBA的同学,由于开发和测试需要,经常会创建一些虚拟机,有时是不同的操作系统,有时候是跨CPU架构的,这时候有一款好用的虚拟机管理软件就显得尤为重要。当然对于企业来说,需要管理...
- kvm快速入门,在rockylinux9上搭建kvm虚拟化
-
本文主要介绍kvm的部署和使用,演示环境为rockylinux9,通过本文你可以了解kvm的使用,快速上手kvm虚拟化。kvm介绍kvm是一个基于linux内核的开源全虚拟化方案。允许在linux主机...
- Fsimage和Edits解析
-
1、概念NameNode被格式化之后,将在/opt/module/hadoop-2.7.2/datatmp/dfs/name/current目录中产生如下文件fsimage_000000000000...
- 「Windows篇」 11款免费看图软件推荐
-
虽然Windows系统自带了看图软件,不过支持的格式少、功能比较少,对于图片浏览要求高的用户来说,不能满足。所以本文给大家汇总了目前网上大家推荐的免费看图软件,基本上分两大类,浏览为主、图片管理。...
- FIV - 体积小巧功能强大的看图软件
-
FIV是一款...
- 超棒的一款电脑看图软件,支持打开任意格式的图片
-
之前小佳和大家分享过一个事情,为了下载一款看图软件,最后导致电脑浏览器被劫持,用了好多方法才解决掉,所以能下纯净版就不下别的。今天分享的是一款Windows端的看图软件,提到看图软件,目前小佳接触的就...
- 七彩虹GTX750超频实战
-
2014-07-1605:01:00作者:姜梦雨涡轮增压的概念一直是在汽车中的一个词汇,是提升马力最直接有效的方法之一,在不修改发动机配置的情况下,涡轮增压可以让汽车拥有更高的动力输出。相对显卡而...
- 电脑蓝屏怎办,学会自己分析,推荐3个软件
-
最近碰到一台电脑老是没有规律的蓝屏,用360修复蓝屏后还是没解决,开始怀疑驱动问题,官方下载重装了各种驱动,问题依旧。甚至怀疑是win10版本问题,与硬件不兼容,重装了多个win10版本,问题还是没...
- 我的新年装机梦
-
作者:买买买剁灬一、导读一、导读二、选购心路历程(feihua)三、配置四、小白傻的装机晒五、Z170上win7六、负载测试二、选购心路历程(feihua)从高中开始,就深深的中了电脑DIY的毒,梦...
- iGame RTX 4070 SUPER评测:高颜值硬装,5千档佳选
-
NVIDIAGeForceRTX40SUPER系列台式机显卡第1弹RTX4070SUPER现已解禁,4K游戏基本无压力,生产力性能也很不错,可以说RTX4070SUPER是一款性能非常...
- 索泰RTX 4080 SUPER PGF OC评测:2655MHz极速出击,带你畅玩4K游戏
-
NVIDIAGeForceRTX4080SUPER显卡于今年1月份登场。时隔不到两个月,不少品牌的RTX4080SUPER均拥有一定的价格降幅,现在入手更加便宜,值得追求高性能的用户们关注...
- RTX 4060 Ti 8G首测 DLSS3加持下的甜品光追卡
-
NVIDIAGeForceRTX4060Ti8G已经发布,作为用户关注比例最多的入门或者主流级别产品,RTX4060Ti8G显卡国内定价3199元起,对于装机预算6000元左右的玩家来...
- 四年半后,下载机大升级
-
时间如流水,感情也如流水,哗哗响两声就过去了。正是因为那年那月那夏正是一个风雨雷电交加的台风季节,所以印象极其深刻。而今天本文的重点,新升级下载机的前身,也是在那锅风雨雷电交加的季节给配出来的!至于配...
- 80%的“高手”都错了!去伪存真,暑期游戏本降温正解手册
-
无论是普通的轻薄本,MX轻便本,还是GTX游戏本,降温需求始终存在!而到了暑期,大量学生终于有空畅玩游戏了,游戏本的降温需求也就立马凸显了,购机帮你评后台咨询散热垫、散热器的读者也明显多了起来。另外,...