chromium第三方库简介(1)


chromium作为一个庞大开源项目,必不可少地会使用到外界的一些开源库。同时,为了使代码解耦,google也将能抽提出来的项目也放入了thirdparty下,例如crashpad和blink。现整理了部分的三方库,并贴出其中的链接以及一些简单的介绍,具体的可以去src/thirdparty下各项目的README.chromium查看。

本文大部分采用机翻,少部分摘自网上,更少部分手写,如有错误,欢迎评论~

由于三方库实在太多,故此处为字母A~D的三方库,本文基于chromium75编写。

名字
介绍
仓库地址
abseil-cpp c++扩展库,基于c++标准库提供了额外的方便使用的方法。 https://github.com/abseil/abseil-cpp
accessibility-audit 与无障碍功能相关的测试和实用程序代码库。 https://raw.githubusercontent.com/GoogleChrome/accessibility-developer-tools/master/dist/js/axs_testing.js
adobe 用于编译flash
afl 用于进程内和进程外(fork)覆盖引导的模糊测试(fuzzing)的工具。 类似于 libFuzzer。 https://lcamtuf.coredump.cx/afl/
angle Almost Native Graphics Layer Engine(几乎原生的图形层引擎)。可以理解成跨平台兼容的图形引擎,通过抽象各平台,让调用方无需担心用户的使用环境。 https://github.com/google/angle
apache Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。
axe-core Axe 是用于网站和其他基于 HTML 的用户界面的无障碍测试引擎。 https://github.com/dequelabs/axe-core/
bazel 自动化构建工具(快速可靠地构建和测试任何规模的软件。) https://github.com/bazelbuild/bazel
bison Bison是一种通用解析器生成器,可以作为语言的解释器。可以通过flex和bison,简单构造出自己的编程语言(内部还是C)。 http://gnuwin32.sourceforge.net/packages/bison.htm
blanketjs JS 代码覆盖测试库。 https://github.com/alex-seville/blanket
blink chromium使用的浏览器渲染引擎 https://chromium.googlesource.com/chromium/src/+/HEAD/third_party/blink/
boringssl 由google维护的OpenSSL的分支,应用于google上多个应用。 https://github.com/google/boringssl
bouncycastle BouncyCastle就是一个提供了很多哈希算法和加密算法的第三方库。 https://www.bouncycastle.org/java.html
breakpad 多平台可用的崩溃收集处理工具. https://chromium.googlesource.com/breakpad/breakpad
brotli 开源压缩算法,目前得到广泛应用。 https://github.com/google/brotli
bspatch 似乎是结合bsdiff一起使用,用于Android的增量更新。
ByteBuddy ByteBuddy是一个可以在运行时动态生成java class的类库。 https://bytebuddy.net/#/
Catapult Catapult 性能看板,包含一系列性能监测工具。 https://source.chromium.org/chromium/chromium/src/+/main:third_party/catapult/
cct_dynamic_module 用于安卓平台,作用不明 https://chromium.googlesource.com/dynamicmodule
ced CED(Compact Encoding Detection)是基于C/C++开源的组件,能够扫描输入的字节来判断输入的字节最可能是什么文本编码格式。 https://github.com/google/compact_enc_det
chaijs 前端使用的用于测试的断言库。 https://github.com/chaijs/chai
checkstyle 用于java的代码规范工具 https://github.com/checkstyle/checkstyle
ChromeVox Chromebook 内置了一个名为 ChromeVox 的屏幕阅读器,它可帮助视障人士使用 Chrome 操作系统。
cld_3 CLD3 是一种用于检测文本语言的神经网络模型。 https://github.com/google/cld3
closure_compiler Closure Compiler 提供非法 JavaScript 警告和潜在危险操作警告,帮助您生成错误更少且更易于维护的 JavaScript。 https://github.com/google/closure-compiler
colorama 提供简单的跨平台 API 以从 Python 应用程序打印彩色终端文本。 https://github.com/tartley/colorama.git
crashpad Crashpad 是一个崩溃报告系统。继承了Breakpad。 https://chromium.googlesource.com/crashpad/crashpad/+/master/README.md
crc32c 支持特定于 CPU 的加速指令的 CRC32C 实现,在某些特殊的cpu下,会比crc32快10倍。 https://github.com/google/crc32c
custom_tabs_client 用于Android的自定义选项卡例子程序。 https://chromium.googlesource.com/external/github.com/GoogleChrome/custom-tabs-client
d3 D3(或 D3.js)是一个 JavaScript 库,用于使用 Web 标准可视化数据(用酷炫效果展示图表)。 https://github.com/d3/d3
dav1d dav1d 是所有平台上最快的 AV1 解码器。 https://code.videolan.org/videolan/dav1d
dawn Dawn 是通过 C/C++ 接口公开的 WebGPU 标准的实现,是 Chromium 中 WebGPU 的底层实现。 https://dawn.googlesource.com/dawn
decklink DeckLink SDK 为 Blackmagic Design DeckLink 产品线提供了一个稳定的跨平台接口。(笔者:没搞明白,像是某个产品提供的SDK,且提供的链接在chromium94已经失效) https://www.blackmagicdesign.com/DeckLink/v10.7/Blackmagic_DeckLink_SDK_10.7.zip
depot_tools chromium开发必备,包含较多chromium开发脚本 https://chromium.googlesource.com/chromium/tools/depot_tools.git
devscripts 此目录包含从 Debian 的 devscripts 集合中选择的工具。
devtools-node-modules devtools前端所需的node模块的镜像。
dom_distiller_js Dom Distiller 是一个从网页中提取文章内容的 java 库。另外,该库包含GWT编译的JS版本。 https://github.com/chromium/dom-distiller

文章作者: Wakaka
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Wakaka !
  目录