桌面版 Firefox

桌面架构

理解 Firefox 架构的关键之一是了解 Gecko 用于渲染网页内容和浏览器 UI。这意味着,在很大程度上,Firefox 的 UI 是使用 HTML、CSS 和 JavaScript 等 Web 技术构建的。例如,文档 chrome://browser/content/browser.xhtml 是单个 Firefox 浏览器窗口的标记。您可以将其视为网页的 index.html。

使用 Gecko 渲染 UI 的决定是在 HTML 还不够表达或不足以构建桌面 UI 的时代做出的。当时开发了一种不同的标记语言 XUL 来实现这一目的,Gecko 也知道如何解释它。从那时起,HTML 和 CSS 发展到 XUL 对大多数用例来说不再严格必要。在可能的情况下,我们一直在逐步迁移我们的 UI,以减少使用 XUL,更多地使用标准的 HTML 和 CSS。

可复用 UI 组件

用户界面中使用的许多 UI 组件都构建为可复用的 Web 组件。

阅读更多

选项卡浏览器

tabbrowser 组件管理浏览器窗口中的选项卡。

阅读更多

地址栏

地址栏(也称为 Awesome Bar 或 Quantum Bar)处理用户输入网页地址,包括一个弹出窗口,其中包含来自各种来源的建议,包括历史记录、书签和搜索引擎。

阅读更多

位置

位置组件包含存储历史记录和书签的数据库,以及向用户呈现这些内容的一组 UI 组件。

阅读更多

Firefox 同步和应用服务

应用服务包括同步引擎和 Firefox 账户集成。

阅读更多

开发者工具

开发者工具在 Web 开发人员构建网页时提供支持,但由于 Firefox UI 本身也是使用 Web 技术构建的,因此也可以使用开发者工具调试 Firefox UI。

阅读更多

浏览器工具箱

浏览器工具箱是一种在单独的进程中启动开发者工具的方法,以便它们可以用于调试主浏览器 UI。

阅读更多

性能分析器

Firefox 性能分析器是衡量代码性能的方法。访问 profiler.firefox.com 以在 Firefox 中启用按钮并记录性能配置文件。这些配置文件可以上传和共享。它可以识别代码中的缓慢部分,并揭示代码运行方式的基本行为。

安装程序

Firefox 的 Windows 安装程序是使用 NSIS 构建的。目前没有其他操作系统的安装程序。

阅读更多

应用更新

应用更新负责从更新服务器请求可用更新、下载更新、验证更新的完整性,然后最终安装更新。二进制补丁工具 (bsdiff) 用于减少更新文件的大小,更新文件以定制的 mar(Mozilla 归档)格式交付。

阅读更多