百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 软件资讯 > 正文

揭秘谷歌浏览器内部目录结构

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的树副本。

  • SQLsqlite的封装。

  • 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游戏本,降温需求始终存在!而到了暑期,大量学生终于有空畅玩游戏了,游戏本的降温需求也就立马凸显了,购机帮你评后台咨询散热垫、散热器的读者也明显多了起来。另外,...