3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at https://mozilla.org/MPL/2.0/.
7 # See https://mots.readthedocs.io/en/latest/#quick-start for quick start
8 # documentation and how to modify this file.
10 created_at: '2021-10-14T12:50:40.073465'
11 updated_at: '2024-04-09T20:10:05.250319+00:00'
13 path: ./docs/mots/index.rst
15 searchfox_enabled: true
17 Mozilla operates under a `module ownership governance system <https://www.mozilla.org/hacking/module-ownership.html>`_. A module is a discrete unit of code or activity. An owner is the person in charge of a module or sub-module. A peer is a person whom the owner has appointed to help them. A module may have multiple peers and, very occasionally, multiple owners.
19 The system is overseen by the owner and peers of the Module Ownership module. For the modules that make up Firefox, oversight is provided by the Firefox Technical Leadership module. Owners may add and remove peers from their modules as they wish, without reference to anyone else.
40 name: Andrew Halberstadt
44 name: Yoshi Cheng-Hao Huang
84 name: Andrew Sutherland
92 name: Andrea Marchesini
108 name: Ben Dean-Kawamura
116 name: Benjamin Beurdouche
140 name: Hubert Boma Manilla
151 name: Bryce Seager van Dyk
162 name: Benjamin VanderSloot
174 name: Calixte Denizet
185 name: Nazım Can Altınova
197 name: Christoph Kerschbaumer
213 name: Daisuke Akatsuka
248 name: Alessio Placitelli
316 name: Emilio Cobos Álvarez
320 name: Masatoshi Kimura
342 name: Nick Fitzgerald
346 name: Francesco Lodolo
366 name: Gabriel Bustamante
374 name: Gian-Carlo Pascutto
409 name: Gabriele Svelto
417 name: Haik Aftandilian
425 name: Hiroyuki Ikezoe
437 name: Jan Honza Odvarko
461 name: Jan-Erik Rediger
477 name: Julian Descottes
505 name: Jan-Ivar Bruaroey
537 name: Jonathan Almeida
565 name: Jonathan Sudiaman
573 name: Jules Simplicio
580 name: Jean-Yves Avenard
636 name: Dzmitry Malyshau
648 name: Lougenia Bailey
664 name: Marco Castelluccio
680 name: Masayuki Nakano
696 name: Mihai Adrian Carare
700 name: Andrew McCreight
732 name: Morgan Reschenberg
768 name: Nicolas Chevobbe
780 name: Niklas Baumgardner
804 name: Alexandre Poirot
812 name: Andrew Overholt
832 name: Andreas Pehrson
840 name: Peter Van der Beken
888 name: Alexandra Borovova
916 name: Shravan Narayan
932 name: Greg Mierzwinski
944 name: Martin Stránský
951 name: Sylvestre Ledru
963 name: Teodor Tanasoaia
998 name: Toshihito Kikuchi
1030 name: William Durand
1038 name: Yulia Startsev
1049 name: Zibi Braniecki
1057 name: Tomislav Jovanovic
1064 - name: firefox-toplevel
1065 description: The top level directory for the Firefox/Gecko tree. Owned by the
1081 machine_name: _firefoxtoplevel
1083 - machine_name: android_components
1084 name: Android Components
1085 description: A collection of independent, reusable Android library components
1086 to make it easier to build browsers and browser-like applications.
1088 - mobile/android/android-components/**/*
1097 - machine_name: code_coverage
1099 description: Tools for code coverage instrumentation, and coverage data parsing
1102 - tools/code-coverage/**/*
1103 - python/mozbuild/mozbuild/codecoverage/**/*
1104 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1113 - 'Testing :: Code Coverage'
1114 - name: 'Core: Accessibility'
1115 description: Support for platform accessibility APIs. Accessibility APIs are used
1116 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1117 software, which need information about document content and UI controls, as
1118 well as important events like changes of focus.
1132 group: dev-accessibility
1133 url: https://developer.mozilla.org/docs/Web/Accessibility
1135 - Core::Disability Access APIs
1142 machine_name: core_accessibility
1144 - name: 'Core: Animation'
1145 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1146 API, and off-main thread animations.'
1148 - dom/animation/**/*
1149 # TODO "and animation-related and interpolation-related code
1150 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1154 - Core::DOM::Animation
1155 - Core::CSS Transitions and Animations
1163 machine_name: core_animation
1165 - name: 'Core: Anti-Tracking'
1166 description: Tracking detection and content-blocking.
1168 - toolkit/components/antitracking/**/*
1169 # several files under browser/ and netwerk/url-classifier/ **TODO**
1179 - 'Core::Privacy: Anti-Tracking'
1186 machine_name: core_antitracking
1188 - name: 'Core: APZ (Graphics submodule)'
1189 description: Asynchronous panning and zooming
1191 - gfx/layers/apz/**/*
1198 url: https://wiki.mozilla.org/Platform/GFX/APZ
1200 - Core::Panning and Zooming
1208 machine_name: core_apz_graphics_submodule
1210 - name: 'Core: Build and Release Tools'
1211 description: Tools related to build and release automation and configuration of
1214 - tools/update-packaging/**/*
1215 - tools/update-verify/**/*
1219 group: release-engineering
1220 url: https://wiki.mozilla.org/ReleaseEngineering
1222 - Release Engineering::*
1229 machine_name: core_build_and_release_tools
1231 - name: 'Core: Build Config'
1232 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1237 - python/mozbuild/**/*
1238 - browser/config/mozconfigs/**/*
1256 url: :ref:`Build System`
1258 - Core::Build Config
1265 - name: 'Core: Build Config - Fennec'
1266 description: Submodule of the build config covering Fennec's build system
1271 - Core::Build Config
1275 machine_name: core_build_config_fennec
1277 - name: 'Core: Build Config - Taskgraph'
1278 description: Support for task-graph generation in decision, action, and cron
1279 tasks, including configuration of all tasks including those for CI, nightlies,
1280 and releases; as well as Docker and VM images used to execute those tasks.
1285 - Firefox Build System::Task Configuration
1301 machine_name: core_build_config_taskgraph
1302 machine_name: core_build_config
1304 - name: 'Core: Code Analysis and Debugging Tools'
1305 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1306 and other characteristics of it.
1309 - tools/leak-gauge/**/*
1310 - tools/performance/**/*
1313 group: dev-performance
1318 machine_name: core_code_analysis_and_debugging_tools
1320 - name: 'Core: Content Security'
1321 description: 'Native content-based security features enforced in the ContentSecurityManager,
1322 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1323 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1324 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1325 and top-level data: URI blocking.'
1339 - 'Core::DOM: Security'
1346 machine_name: core_content_security
1348 - name: 'Core: Cookies'
1351 - netwerk/cookie/**/*
1360 - Christian Biesinger
1366 - 'Core::Networking: Cookies'
1375 machine_name: core_cookies
1377 - name: 'Core: Crash reporting'
1378 description: Infrastructure and tools used to generate, submit and process crash
1379 reports. This includes the in-tree google-breakpad fork, the crash report generation
1380 machinery as well as the host tools used to dump symbols, analyse minidumps
1381 and generate stack traces.
1383 - toolkit/crashreporter/**/*
1384 - toolkit/components/crashes/**/*
1385 - tools/crashreporter/**/*
1386 - ipc/glue/CrashReporter*
1387 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1392 url: :ref:`Crash Reporter`
1394 - Toolkit::Crash Reporting
1400 machine_name: core_crash_reporting
1402 - machine_name: core_credentials
1403 name: 'Core: Credentials'
1404 description: API Surface for FedCM and WebAuthn
1406 - toolkit/components/credentialmanagement/**/*
1407 - browser/components/credentialmanager/**/*
1408 - dom/credentialmanagement/**/*
1420 - 'Core::DOM: Credential Management'
1421 - 'Core::DOM: Web Authentication'
1423 - name: 'Core: C++/Rust usage, tools, and style'
1424 description: Aspects of C++ use such as language feature usage, standard library
1425 versions/usage, compiler/toolchain versions, formatting and naming style, and
1426 aspects of Rust use as needs arise
1428 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1429 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1430 # - docs/code-quality/**/*
1431 # - docs/testing-rust-code/**/*
1432 # - docs/writing-rust-code/**/*
1447 machine_name: core_crust_usage_tools_and_style
1449 - name: 'Core: Cycle Collector'
1450 description: Code to break and collect objects within reference cycles
1452 - xpcom/base/nsCycleCollect*
1453 # TODO "and some support headers"
1454 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1460 - Core::Cycle Collector
1466 machine_name: core_cycle_collector
1468 - name: 'Core: DLL Services'
1469 description: Windows dynamic linker instrumentation and blocking
1471 - toolkit/xre/dllservices/**/*
1477 - Core::DLL Services
1482 machine_name: core_dll_services
1484 - name: 'Core: docshell'
1488 - uriloader/base/**/*
1494 - Christian Biesinger
1500 - Core::DOM: Navigation
1507 machine_name: core_docshell
1509 - name: 'Core: Document Object Model'
1513 exclude_module_paths: true
1530 url: http://developer.mozilla.org/en/docs/DOM
1533 - 'Core::DOM: Core & HTML'
1534 review_group: dom-core
1550 machine_name: core_document_object_model
1552 - name: 'Core: DOM File'
1553 description: DOM Blob, File and FileSystem APIs
1556 - dom/filesystem/**/*
1559 url: http://developer.mozilla.org/en/docs/DOM
1566 machine_name: core_dom_file
1568 - machine_name: core_dom_streams
1569 name: 'Core: DOM Streams'
1570 description: Streams Specification implementation
1581 url: http://developer.mozilla.org/en/docs/DOM
1584 - 'Core::DOM: Streams'
1587 - name: 'Core: Editor'
1602 machine_name: core_editor
1604 - name: 'Core: Event Handling'
1605 description: DOM Events and Event Handling
1608 # TODO "and event handling related code elsewhere"
1613 url: http://developer.mozilla.org/en/docs/DOM
1615 - 'Core::DOM: Events'
1616 - 'Core::DOM: UI Events & Focus Handling'
1622 machine_name: core_event_handling
1624 - machine_name: core_firefox_source_documentation
1625 name: 'Core: Firefox Source Documentation'
1626 description: The infrastructure platform used to generate Firefox's source documentation,
1627 excluding editorial control over the content.
1630 - tools/moztreedocs/
1637 - Developer Infrastructure::Source Documentation
1638 url: https://firefox-source-docs.mozilla.org/
1639 - name: 'Core: Gecko Profiler'
1640 description: Gecko's built-in profiler
1642 - tools/profiler/**/*
1643 - mozglue/baseprofiler/**/*
1648 - Shu-yu Guo (JS integration)
1649 - Thinker Lee (TaskTracer)
1650 - Cervantes Yu (TaskTracer)
1651 - Nicholas Nethercote
1657 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1659 - Core::Gecko Profiler
1666 machine_name: core_gecko_profiler
1668 - name: 'Core: GeckoView'
1669 description: Framework for embedding Gecko into Android applications
1671 - mobile/android/**/*
1672 - widget/android/**/*
1675 - mobile/android/fenix/**/*
1676 - mobile/android/focus-android/**/*
1677 - mobile/android/android-components/**/*
1689 url: https://wiki.mozilla.org/Mobile/GeckoView
1691 - GeckoView::General
1698 machine_name: core_geckoview
1700 - name: 'Core: Global Key Bindings'
1701 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1702 and the like, as those are part of i18n.
1705 # TODO "and platform specific directories under it"
1707 group: dev-accessibility
1708 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1710 - 'Core::Keyboard: Navigation'
1715 machine_name: core_global_key_bindings
1717 - name: 'Core: Graphics'
1718 description: Mozilla graphics API
1726 - Benoit Girard(Compositor, Performance)
1728 - George Wright(Canvas2D)
1732 - John Daggett(text/fonts)
1733 - Benoit Jacob(gfx/gl)
1735 - Vladimir Vukicevic
1736 - James Willcox(Android)
1740 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1741 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1744 - 'Core::Graphics: Layers'
1745 - 'Core::Graphics: Text'
1746 - 'Core::Graphics: WebRender'
1747 - 'Core::GFX: Color Management'
1748 - 'Core::Canvas: 2D'
1749 - 'Core::Canvas: WebGL'
1763 machine_name: core_graphics
1766 description: Hardware Abstraction Layer
1772 - Core::Hardware Abstraction Layer (HAL)
1776 machine_name: core_hal
1778 - name: 'Core: HTML Parser'
1779 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1780 to the HTML specification, and is mostly translated automatically from Java
1786 url: http://about.validator.nu/
1788 - 'Core::HTML: Parser'
1793 machine_name: core_html_parser
1795 - name: 'Core: I18N Library'
1804 url: :ref:`Internationalization`
1806 - Core::Internationalization
1814 machine_name: core_i18n_library
1816 - name: 'Core: ImageLib'
1819 - media/libjpeg/**/*
1836 machine_name: core_imagelib
1838 - name: 'Core: IndexedDB'
1841 - dom/indexedDB/**/*
1851 url: https://developer.mozilla.org/en/IndexedDB
1853 - 'Core::DOM: IndexedDB'
1854 review_group: dom-storage-reviewers
1860 machine_name: core_indexeddb
1863 description: Native message-passing between threads and processes
1884 review_group: ipc-reviewers
1891 machine_name: core_ipc
1893 - name: 'Core: JavaScript'
1894 description: JavaScript engine (SpiderMonkey)
1918 - Nicholas Nethercote
1923 url: https://spidermonkey.dev/
1925 - Core::JavaScript Engine
1926 - 'Core::JavaScript: GC'
1927 - 'Core::JavaScript: Internationalization API'
1928 - 'Core::JavaScript: Standard Library'
1929 - 'Core::JavaScript: WebAssembly'
1951 machine_name: core_javascript
1953 - name: 'Core: JavaScript JIT'
1954 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1968 url: https://spidermonkey.dev/
1970 - 'Core::JavaScript Engine: JIT'
1980 machine_name: core_javascript_jit
1982 - name: 'Core: Layout Engine'
1983 description: rendering tree construction, layout (reflow), etc.
1989 - layout/generic/**/*
1990 - layout/printing/**/*
1991 - layout/tables/**/*
2002 url: https://wiki.mozilla.org/Gecko:Overview#Layout
2005 - 'Core::Layout: Block and Inline'
2006 - 'Core::Layout: Columns'
2007 - 'Core::Layout: Flexbox'
2008 - 'Core::Layout: Floats'
2009 - 'Core::Layout: Form Controls'
2010 - 'Core::Layout: Generated Content, Lists, and Counters'
2011 - 'Core::Layout: Grid'
2012 - 'Core::Layout: Images, Video, and HTML Frames'
2013 - 'Core::Layout: Positioned'
2014 - 'Core::Layout: Ruby'
2015 - 'Core::Layout: Scrolling and Overflow'
2016 - 'Core::Layout: Tables'
2017 - 'Core::Layout: Text and Fonts'
2018 - Core::Print Preview
2019 - 'Core::Printing: Output'
2029 machine_name: core_layout_engine
2031 - name: 'Core: Legacy HTML Parser'
2034 - parser/htmlparser/**/*
2041 url: http://www.mozilla.org/newlayout/doc/parser.html
2043 - 'Core::HTML: Parser'
2048 machine_name: core_legacy_html_parser
2050 - name: 'Core: libjar'
2051 description: The JAR handling code (protocol handler, stream implementation, and
2052 zipreader/zipwriter).
2054 - modules/libjar/**/*
2064 - 'Core::Networking: JAR'
2070 machine_name: core_libjar
2072 - name: 'Core: MathML'
2073 description: MathML is a low-level specification for describing mathematics which
2074 provides a foundation for the inclusion of mathematical expressions in Web pages.
2076 - layout/mathml/**/*
2078 group: dev-tech-mathml
2079 url: https://developer.mozilla.org/docs/Web/MathML
2091 machine_name: core_mathml
2093 - name: 'Core: Media Playback'
2094 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2095 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2098 - media/gmp-clearkey/**/*
2099 - media/libcubeb/**/*
2100 - media/libnestegg/**/*
2102 - media/libopus/**/*
2103 - media/libtheora/**/*
2104 - media/libtremor/**/*
2105 - media/libvorbis/**/*
2107 - dom/media/platforms/omx/**/*
2108 - dom/media/gmp/rlz/**/*
2123 machine_name: core_media_playback
2125 - name: 'Core: Media Transport'
2126 description: Pluggable transport for real-time media
2128 - dom/media/webrtc/transport/**/*
2132 - Core::WebRTC::Networking
2141 machine_name: core_media_transport
2143 - name: 'Core: Memory Allocator'
2144 description: Most things related to memory allocation in Gecko, including jemalloc,
2145 replace-malloc, DMD (dark matter detector), logalloc, etc.
2151 - Nicholas Nethercote
2159 machine_name: core_memory_allocator
2161 - name: 'Core: mfbt'
2162 description: mfbt is a collection of headers, macros, data structures, methods,
2163 and other functionality available for use and reuse throughout all Mozilla code
2164 (including SpiderMonkey and Gecko more broadly).
2178 machine_name: core_mfbt
2180 - name: 'Core: Moz2D (Graphics submodule)'
2181 description: Platform independent 2D graphics API
2186 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2194 machine_name: core_moz2d_graphics_submodule
2196 - name: 'Core: Mozglue'
2197 description: Glue library containing various low-level functionality, including
2198 a dynamic linker for Android, a DLL block list for Windows, etc.
2206 - Kartikaya Gupta (mozglue/android)
2211 machine_name: core_mozglue
2213 - name: 'Core: MSCOM'
2214 description: Integration with Microsoft Distributed COM
2225 - 'Core::IPC: MSCOM'
2231 machine_name: core_mscom
2233 - name: 'Core: Necko'
2234 description: The Mozilla Networking Library
2238 - netwerk/build/**/*
2239 - netwerk/cache2/**/*
2241 - netwerk/locales/**/*
2243 - netwerk/protocol/**/*
2244 - netwerk/socket/**/*
2245 - netwerk/streamconv/**/*
2246 - netwerk/system/**/*
2251 - dom/websocket/**/*
2252 - uriloader/prefetch/**/*
2253 - uriloader/preload/**/*
2256 - Dragana Damjanovic
2258 - Christian Biesinger
2269 group: dev-tech-network
2270 url: :ref:`Networking`
2273 - 'Core::Networking: Cache'
2274 - 'Core::Networking: Cookies'
2275 - 'Core::Networking: File'
2276 - 'Core::Networking: HTTP'
2277 - 'Core::Networking: JAR'
2278 - 'Core::Networking: Proxy'
2279 - 'Core::Networking: Websockets'
2280 - 'Core::DOM: Networking'
2286 machine_name: core_necko
2288 - name: 'Core: NodeJS usage, tools, and style'
2289 description: Advises on the use of NodeJS and npm packages at build and runtime.
2290 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2291 teams to maintain automated license and security audits of npm packages. Works
2292 with the security team and relevant developers to respond to vulnerabilities
2293 in NodeJS and vendored npm packages.
2298 # TODO: and others as appropriate
2302 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2312 machine_name: core_nodejs_usage_tools_and_style
2314 - name: 'Core: Notifications'
2315 description: The infrastructure for Web Notifications API and the Firefox Desktop
2318 - dom/notification/**/*
2319 - toolkit/components/alerts/**/*
2320 - toolkit/system/gnome/nsAlertsIconListener*
2321 - toolkit/system/gnome/nsSystemAlertsService*
2322 - widget/windows/ToastNotification*
2323 - widget/cocoa/OSXNotificationCenter*
2327 - 'Core::DOM: Notifications'
2328 - Toolkit::Alerts Service
2334 machine_name: core_notifications
2336 - name: 'Core: NSPR'
2337 description: Netscape Portable Runtime
2343 group: dev-tech-nspr
2351 machine_name: core_nspr
2354 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2357 - toolkit/components/pdfjs/**/*
2365 url: https://github.com/mozilla/pdf.js
2372 machine_name: core_pdf
2374 - name: 'Core: Permissions'
2377 - extensions/permissions/**/*
2386 - Christian Biesinger
2393 - 'Core :: Permission Manager'
2394 review_group: permissions-reviewers
2399 machine_name: core_permissions
2401 - name: 'Core: Plugins'
2402 description: ' NPAPI Plugin support.'
2414 url: https://wiki.mozilla.org/Plugins
2419 machine_name: core_plugins
2421 - name: 'Core: Preferences'
2422 description: Preference library
2424 - modules/libpref/**/*
2427 - Nicholas Nethercote
2433 - 'Core::Preferences: Backend'
2439 machine_name: core_preferences
2441 - name: 'Core: Private Browsing'
2442 description: Implementation of the Private Browsing mode, and the integration
2443 of other modules with Private Browsing APIs.
2446 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2447 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2455 url: https://wiki.mozilla.org/Private_Browsing
2457 - Firefox::Private Browsing
2462 machine_name: core_private_browsing
2464 - name: 'Core: Privilege Manager'
2465 description: Caps is the capabilities-based security system.
2475 url: http://www.mozilla.org/projects/security/components/index.html
2477 - 'Core::Security: CAPS'
2482 machine_name: core_privilege_manager
2484 - name: 'Core: Push Subscriptions'
2485 description: Push is a way for application developers to send messages to their
2489 - dom/interfaces/push/**/*
2496 - Dragana Damjanovic
2499 - 'Core::DOM: Push Subscriptions'
2501 machine_name: core_push_subscriptions
2503 - name: 'Core: Sandboxing (Linux)'
2504 description: Sandboxing for the Linux platform
2506 - security/sandbox/linux/**/*
2509 url: https://wiki.mozilla.org/Security/Sandbox
2511 - 'Core::Security: Process Sandboxing'
2516 machine_name: core_sandboxing_linux
2518 - name: 'Core: Sandboxing (OSX)'
2519 description: Sandboxing for the OSX platform
2521 - security/sandbox/mac/**/*
2524 url: https://wiki.mozilla.org/Security/Sandbox
2526 - 'Core::Security: Process Sandboxing'
2530 machine_name: core_sandboxing_osx
2532 - name: 'Core: Sandboxing (Windows)'
2533 description: Sandboxing for the Windows platform
2535 - security/sandbox/win/**/*
2545 url: https://wiki.mozilla.org/Security/Sandbox
2547 - 'Core::Security: Process Sandboxing'
2552 machine_name: core_sandboxing_windows
2554 - name: 'Core: security'
2555 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2568 group: dev-tech-crypto
2569 url: :ref:`Network Security Services (NSS)`
2574 - 'Core::Security: S/MIME'
2587 machine_name: core_security
2589 - name: 'Core: Security - Mozilla PSM Glue'
2590 description: Personal Security Manager
2592 - security/manager/**/*
2595 - Kai Engert (2001-2012)
2596 group: dev-tech-crypto
2598 - 'Core::Security: PSM'
2607 machine_name: core_security_mozilla_psm_glue
2609 - machine_name: core_security_rlbox
2610 name: Security - RLBox
2611 description: Sandboxing using WASM/RLBox libraries.
2615 - third_party/rlbox_wasm2c_sandbox
2625 - 'Core::Security: RLBox'
2626 - name: 'Core: Static analysis & rewriting for C++'
2627 description: Tools for checking C++ code looking for problems at compile time,
2628 plus tools for automated rewriting of C++ code.
2630 - build/clang-plugin/**/*
2631 - tools/rewriting/**/*
2632 # TODO among other out of tree tools
2635 - Birunthan Mohanathas
2639 - Core::Rewriting & Analysis
2646 machine_name: core_static_analysis_rewriting_for_c
2648 - name: 'Core: storage'
2649 description: Storage APIs with a SQLite backend
2651 - third_party/sqlite3/**/*
2655 url: http://developer.mozilla.org/en/docs/Storage
2657 - Toolkit::Storage, Core::SQL
2665 machine_name: core_storage
2667 - name: 'Core: String'
2672 group: dev-tech-xpcom
2673 url: :ref:`String Guide`
2682 machine_name: core_string
2684 - name: 'Core: Style System'
2685 description: CSS style sheet handling; style data computation
2696 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2698 - Core::CSS Parsing and Computation
2699 - 'Core::DOM: CSS Object Model'
2709 machine_name: core_style_system
2712 description: Scalable Vector Graphics
2719 url: https://developer.mozilla.org/docs/Web/SVG
2730 machine_name: core_svg
2732 - name: 'Core: UA String'
2733 description: User Agent String
2735 - netwerk/protocol/http/**/*
2738 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2740 - 'Core::Networking: HTTP'
2746 machine_name: core_ua_string
2748 - name: 'Core: View System'
2749 description: The View Manager is responsible for handling "heavyweight" rendering
2750 (some clipping, compositing) and event handling tasks.
2761 - 'Core::Layout: View Rendering'
2766 machine_name: core_view_system
2768 - name: 'Core: Web Audio'
2769 description: Support for the W3C Web Audio API specification.
2771 - dom/media/webaudio/**/*
2778 url: https://wiki.mozilla.org/Web_Audio_API
2785 machine_name: core_web_audio
2787 - name: 'Core: Web Painting'
2788 description: painting, display lists, and layer construction
2790 - layout/painting/**/*
2791 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2794 url: :ref:`Layout & CSS`
2796 - 'Core::Layout: Web Painting'
2808 machine_name: core_web_painting
2810 - name: 'Core: Web Workers'
2813 - dom/serviceworkers/**/*
2826 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2828 - 'Core::DOM: Workers'
2829 review_group: dom-worker-reviewers
2836 machine_name: core_web_workers
2838 - name: 'Core: WebGPU (Graphics submodule)'
2839 description: WebGPU implementation
2842 - gfx/wgpu_bindings/**/*
2843 - third_party/rust/naga/**/*
2844 - third_party/rust/wgpu-core/**/*
2845 - third_party/rust/wgpu-hal/**/*
2846 - third_party/rust/wgpu-types/**/*
2847 - testing/web-platform/tests/webgpu/**/*
2848 - testing/web-platform/meta/webgpu/**/*
2849 - testing/web-platform/mozilla/tests/webgpu/**/*
2850 - testing/web-platform/mozilla/meta/webgpu/**/*
2853 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2855 - Core::Graphics::WebGPU
2856 review_group: webgpu-reviewers
2868 machine_name: core_webgpu_graphics_submodule
2870 - name: 'Core: WebRTC'
2871 description: WebRTC is responsible for realtime audio and video communication,
2872 as well as related issues like low-level camera and microphone access
2875 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2882 url: https://wiki.mozilla.org/Media/webrtc
2885 - Core::WebRTC Networking
2890 machine_name: core_webrtc
2892 - name: 'Core: WebVR'
2893 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2894 including API, devices, graphics and integration
2900 - Vladimir Vukicevic
2903 url: https://mozvr.com/
2912 - name: 'Core: WebRTC Media'
2913 description: Submodule of WebRTC responsible for access to media input devices
2914 (microphones, cameras, screen capture), as well as realtime audiovisual
2915 codecs and packetization.
2918 - dom/media/webrtc/**/*
2919 - dom/media/systemservices/**/*
2925 url: https://wiki.mozilla.org/Media/webrtc
2927 - Core::WebRTC (Audio/Video)
2934 machine_name: core_webrtc_media
2936 - name: 'Core: WebRTC Signaling'
2937 description: Submodule of WebRTC responsible for implementation of PeerConnection
2938 API, WebRTC identity, and SDP/JSEP handling
2940 - media/webrtc/signaling/**/*
2948 url: https://wiki.mozilla.org/Media/webrtc
2950 - Core::WebRTC (Signaling)
2955 machine_name: core_webrtc_signaling
2956 machine_name: core_webvr
2958 - name: 'Core: Widget'
2959 description: Top level Widget
2964 - Vladimir Vukicevic
2971 - Core::Drag and Drop
2973 - 'Core::Printing: Setup'
2976 machine_name: core_widget
2978 - name: 'Core: Widget - Android'
2979 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2984 machine_name: core_widget_android
2986 - name: 'Core: Widget - GTK'
2987 description: GTK widget support
2994 url: http://www.mozilla.org/ports/gtk/
2996 - 'Core::Widget: Gtk'
3002 machine_name: core_widget_gtk
3004 - name: 'Core: Widget - Headless'
3005 description: Headless widget support
3007 - widget/headless/**/*
3016 machine_name: core_widget_headless
3018 - name: 'Core: Widget - macOS'
3019 description: ' macOS widget support'
3032 - 'Core::Widget: Cocoa'
3038 machine_name: core_widget_macos
3040 - name: 'Core: Widget - Windows'
3041 description: Windows widget support
3043 - widget/windows/**/*
3049 - Vladimir Vukicevic
3052 - Christian Biesinger
3054 - Josh 'timeless' Soref
3061 - 'Core::Widget: Win32'
3067 machine_name: core_widget_windows
3070 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
3071 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
3072 that are not covered by more specific projects.
3088 machine_name: core_xml
3090 - name: 'Core: XPApps'
3091 description: Cross-Platform Applications, mostly Navigator front end and application
3096 group: dev-apps-seamonkey
3100 - Josh 'timeless' Soref
3103 machine_name: core_xpapps
3105 - name: 'Core: XPCOM'
3106 description: The cross-platform object model and core data structures.
3112 - xpcom/components/**/*
3116 - xpcom/reflect/**/*
3120 - xpcom/threads/**/*
3121 - xpcom/windbgdlg/**/*
3133 review_group: xpcom-reviewers
3143 machine_name: core_xpcom
3145 - name: 'Core: XPConnect'
3146 description: Deep Magic
3165 machine_name: core_xpconnect
3167 - name: 'Core: XPIDL'
3168 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3169 runtime type description files from .idl interface description files.
3171 - xpcom/idl-parser/**/*
3178 - Josh 'timeless' Soref
3179 group: dev-tech-xpcom
3185 machine_name: core_xpidl
3187 - name: 'Core: XSLT Processor'
3188 description: XSLT transformations processor
3196 group: dev-tech-xslt
3197 url: https://developer.mozilla.org/docs/Web/XSLT
3203 machine_name: core_xslt_processor
3205 - name: Desktop Firefox
3206 description: Standalone Web Browser.
3219 - Tim Guan-tin Chien
3230 - Matthew Noorenberghe
3252 - name: Add-ons Manager
3253 description: Extension management back-end.
3255 - toolkit/mozapps/extensions/**/*
3269 machine_name: addons_manager
3271 - name: Add-ons Manager UI
3272 description: about:addons.
3274 - toolkit/mozapps/extensions/content/**/*
3287 machine_name: addons_manager_ui
3289 - name: Application Update
3290 description: The application update services.
3292 - toolkit/mozapps/update/**/*
3297 machine_name: application_update
3303 - name: Bookmarks & History
3304 description: The bookmarks and history services (Places).
3306 - browser/components/places/**/*
3307 - toolkit/components/places/**/*
3316 - Firefox::Bookmarks & History
3318 review_group: places-reviewers
3326 machine_name: bookmarks_history
3328 - name: Desktop Theme
3329 description: The style rules used in the desktop UI.
3331 - browser/themes/**/*
3332 - toolkit/themes/**/*
3349 machine_name: desktop_theme
3352 description: The main browser UI except where covered by more specific submodules.
3354 - browser/base/content/**/*
3367 machine_name: desktop_ui
3369 - name: Download Manager
3370 description: The downloads UI and service.
3372 - browser/components/downloads/**/*
3373 - toolkit/mozapps/downloads/**/*
3374 - uriloader/exthandler/**/*
3384 machine_name: download_manager
3386 - name: Enterprise Policies
3387 description: System policies for controlling Firefox.
3389 - browser/components/enterprisepolicies/**/*
3394 machine_name: enterprise_policies
3396 - name: Experiments/Rollouts
3397 description: Desktop clients for our experiments and off-train deployments
3400 - toolkit/components/normandy/**/*
3401 - toolkit/components/nimbus/**/*
3407 - Firefox::Nimbus Desktop Client
3408 url: https://experimenter.info/
3414 machine_name: normandy
3416 - machine_name: firefox_view
3418 description: The Firefox View page and its modules.
3420 - browser/components/firefoxview/**/*
3429 - name: Form Autofill
3430 description: Form detection and autocomplete.
3432 - browser/extensions/formautofill/**/*
3433 - toolkit/components/satchel/**/*
3436 - Matthew Noorenberghe
3442 machine_name: form_autofill
3444 - name: In-product Messaging
3445 description: The system for delivering in-product messaging and onboarding
3446 including Activity Stream Router, about:welcome, UI tour.
3448 - browser/components/asrouter/**/*
3449 - browser/components/aboutwelcome/**/*
3450 - browser/components/uitour/**/*
3451 - toolkit/components/messaging-system/**/*
3454 - Firefox::Messaging System
3468 machine_name: inproduct_messaging
3470 - name: Launcher Process
3471 description: Windows process for bootstrapping the browser process.
3473 - browser/app/winlauncher/**/*
3479 - Firefox::Launcher Process
3486 machine_name: launcher_process
3488 - machine_name: localization
3490 description: Tooling to enable translation and facilitate localization.
3498 - name: New Tab Page
3499 description: The new tab/home page.
3501 - browser/components/newtab/**/*
3504 - Firefox::New Tab Page
3514 machine_name: new_tab_page
3516 - name: Password Manager
3517 description: Managing, saving and filling logins.
3519 - toolkit/components/passwordmgr/**/*
3520 - browser/components/aboutlogins/**/*
3523 - Matthew Noorenberghe
3528 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3530 - Toolkit::Password Manager
3531 - 'Toolkit::Password Manager: Site'
3533 - Firefox::about:logins
3540 machine_name: password_manager
3542 - machine_name: firefox_pip
3543 name: Picture-in-Picture
3544 description: A component that allows video elements to be pulled out into
3545 an always-on-top window.
3547 - toolkit/components/pictureinpicture
3548 - browser/extensions/pictureinpicture
3560 - name: Profile Migration
3561 description: Migrating data from other browsers.
3563 - browser/components/migration/**/*
3571 machine_name: profile_migration
3574 description: Code relating to Screenshots functionality
3576 - browser/extensions/screenshots/**/*
3577 - browser/components/screenshots/**/*
3585 - Firefox::Screenshots
3591 machine_name: screenshots
3593 - name: Search and Address Bar
3594 description: The search service, address bar and address bar autocomplete.
3596 - browser/components/search/**/*
3597 - browser/components/urlbar/**/*
3598 - toolkit/components/search/**/*
3601 - Firefox::Address Bar
3614 machine_name: search_and_address_bar
3616 - name: Security and Privacy UI
3617 description: The front-end to our security and privacy features, including
3618 Protections UI, Site Identity, Site Permissions and Certificate Errors
3620 - browser/components/protections/**/*
3621 - browser/components/controlcenter/**/*
3625 - Nihanth Subramanya
3631 - Firefox::Protections UI
3632 - Firefox::Site Identity
3633 - Firefox::Site Permissions
3636 machine_name: security_and_privacy_ui
3638 - name: Session Restore
3639 description: Restoring a user's session after starting Firefox.
3641 - browser/components/sessionstore/**/*
3642 - toolkit/components/sessionstore/**/*
3652 - Firefox::Session Restore
3659 machine_name: session_restore
3662 description: The front-end settings user interface.
3664 - browser/components/preferences/**/*
3665 - browser/themes/*/preferences
3666 - toolkit/mozapps/preferences
3678 machine_name: settings_ui
3680 - name: Tabbed Browser
3681 description: The UI component controlling browser tabs.
3683 - browser/base/content/tabbrowser*
3684 - browser/base/content/browser-allTabsMenu.js
3685 - browser/base/content/browser-ctrlTab.js
3686 - browser/base/content/browser-fullZoom.js
3687 - browser/modules/AsyncTabSwitcher.sys.mjs
3688 - browser/modules/NewTabPagePreloading.sys.mjs
3689 - browser/modules/OpenInTabsUtils.sys.mjs
3690 - browser/modules/TabsList.sys.mjs
3691 - browser/modules/TabUnloader.sys.mjs
3694 - Firefox::Tabbed Browser
3703 machine_name: tabbed_browser
3705 - name: Windows Installer
3706 description: The installer for Windows.
3708 - browser/installer/**/*
3709 - toolkit/mozapps/installer/**/*
3712 - Firefox::Installer
3718 machine_name: windows_installer
3719 machine_name: desktop_firefox
3721 - machine_name: devtools
3723 description: Mozilla Developer Tools
3749 - Steve Fink (heapsnapshot code)
3759 - Panagiotis Astithas
3777 url: http://firefox-dev.tools/
3780 - machine_name: fenix
3782 description: Android Project to build Firefox for Android
3784 - mobile/android/fenix/**/*
3793 - machine_name: focus_android
3794 name: Focus for Android
3795 description: Android Project to build Focus for Android
3797 - mobile/android/focus-android/**/*
3805 - machine_name: javascript_usage
3806 name: JavaScript usage, tools, and style
3807 description: Aspects of JavaScript use such as language feature usage, tooling
3808 such as lint configurations, formatting and naming style.
3810 - .eslintrc-test-paths.js
3811 - '**/.eslintignore'
3813 - tools/lint/eslint/**/*
3822 review_group: frontend-codestyle-reviewers
3831 - machine_name: mozharness
3833 description: Configuration-driven script harness.
3835 - testing/mozharness/**/*
3848 - 'Release Engineering :: Applications: MozharnessCore'
3849 - machine_name: python_usage
3850 name: Python usage, tools, and style
3851 description: Aspects of Python use such as tooling, formatting and naming style
3853 - tools/lint/python/**/*
3863 - 'Developer Infrastructure :: Lint and Formatting'
3865 - machine_name: remote_protocol
3866 name: Remote Protocol
3867 description: Low-level remote protocol exposing interfaces for inspecting state
3868 and controlling execution of web documents, instrumenting various subsystems
3869 in the browser, simulating user interaction for automation purposes, and for
3870 subscribing to updates from the aforementioned.
3876 url: https://firefox-source-docs.mozilla.org/remote/
3885 - machine_name: remote_protocol_agent
3887 description: Underlying transport layer and server to allow remoting of Firefox
3888 for automation and debugging.
3893 - remote/marionette/*
3894 - remote/webdriver-bidi/*
3899 - Maja Frydrychowicz
3903 - 'Remote Protocol :: Agent'
3911 - machine_name: remote_protocol_cdp
3913 description: The core implementation for CDP support. Please file domain specific
3914 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3921 - Maja Frydrychowicz
3925 - 'Remote Protocol :: CDP'
3933 - machine_name: remote_protocol_marionette
3935 description: Marionette is a remote protocol that lets out-of-process programs
3936 communicate with, instrument, and control Gecko-based browsers. Combined
3937 with geckodriver, this forms our WebDriver classic implementation.
3939 - remote/marionette/*
3944 - Maja Frydrychowicz
3947 - 'Remote Protocol :: Marionette'
3948 group: dev-webdriver
3956 - machine_name: remote_protocol_webdriver_bidi
3957 name: WebDriver BiDi
3958 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3960 - remote/webdriver-bidi/*
3963 - 'Remote Protocol :: WebDriver BiDi'
3964 group: dev-webdriver
3972 - machine_name: sync
3974 description: Firefox Sync client
3976 - services/sync/**/*
3989 url: https://wiki.mozilla.org/Services/Process/Code_Review
3993 - machine_name: testing_firefox_ui
3995 description: Firefox UI test framework.
3997 - testing/firefox-ui/**/*
4000 - Maja Frydrychowicz
4002 - 'Testing :: Firefox UI'
4010 - machine_name: testing_geckodriver
4012 description: Proxy for using W3C WebDriver-compatible clients to interact with
4013 Gecko-based browsers.
4015 - testing/geckodriver/**/*
4023 - 'Testing :: geckodriver'
4024 group: dev-webdriver
4026 - machine_name: testing_gtest
4028 description: GTest test harness.
4030 - testing/gtest/**/*
4037 - 'Testing :: GTest'
4039 - machine_name: testing_marionette_client_harness
4040 name: Marionette Client & Harness
4041 description: Python client and harness for the Marionette remote protocol implementation.
4043 - testing/marionette/**/*
4048 - Maja Frydrychowicz
4051 - 'Testing :: Marionette Client & Harness'
4059 - machine_name: testing_mochitest
4061 description: Mochitest test framework
4063 - testing/mochitest/**/*
4072 - 'Testing :: Mochitest'
4073 - machine_name: testing_mozbase
4075 description: Base modules used for implementing test components.
4089 - 'Testing :: Mozbase'
4090 - 'Testing :: Mozbase Rust'
4091 - machine_name: testing_performance_testing
4092 name: Performance Testing
4094 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
4095 MozPerfTest, AWSY, JSShell, mach try perf, etc.. See our PerfDocs for more information on
4096 the owners/peers of the various components (linked below).
4098 - testing/raptor/**/*
4099 - testing/talos/**/*
4100 - python/mozperftest/**/*
4102 - testing/jsshell/**/*
4103 - tools/lint/perfdocs/**/*
4104 - testing/perfdocs/**/*
4105 - testing/performance/**/*
4106 - testing/condprofile/**/*
4107 - tools/browsertime/**/*
4108 - tools/tryselect/selectors/perf.py
4118 - 'Testing :: Raptor'
4119 - 'Testing :: Talos'
4121 - 'Testing :: Performance'
4122 - 'Testing :: mozperftest'
4123 - 'Testing :: Condprofile'
4124 url: :ref:`Performance Testing`
4125 - machine_name: testing_reftest
4126 name: Reftest (+ jsreftest + crashtest)
4127 description: Reftest test framework
4129 - layout/tools/reftest/**/*
4138 - 'Testing :: Reftest'
4139 - machine_name: testing_tryselect
4141 description: Frontend for selecting jobs on the try server.
4143 - tools/tryselect/**/*
4152 - 'Developer Infrastructure :: Try'
4153 - machine_name: testing_web_platform_tests_infrastructure
4154 name: web-platform-tests infrastructure
4155 description: Infrastructure for running the cross-browser web-platform-tests
4157 - testing/web-platform/**/*
4158 - testing/web-platform/tests/tools/**/*
4160 - testing/web-platform/tests/**/*
4161 - testing/web-platform/meta/**/*
4162 - testing/web-platform/mozilla/**/*
4168 - 'Testing :: web-platform-tests'
4169 - machine_name: testing_xpcshell
4171 description: XPCShell test harness.
4173 - testing/xpcshell/**/*
4181 - Testing::XPCShell Harness
4183 description: Components shared between desktop and mobile browsers.
4192 - Matthew Noorenberghe
4204 - name: Application Startup
4205 description: The profile system and startup process before the front-end launches.
4207 - toolkit/profile/**/*
4208 - toolkit/components/remote/**/*
4215 machine_name: application_startup
4219 The core infrastructure in the Firefox client to send back telemetry
4220 data. Includes the common mechanisms to record, view and submit data: Legacy
4221 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4222 does ''not'' include responsibility for every piece of submitted Telemetry
4223 data. Each team/module is responsible for their own measurements (histograms,
4224 scalars, other ping submissions, etc.).
4226 - toolkit/components/glean/**/*
4227 - toolkit/components/telemetry/**/*
4228 - toolkit/content/aboutTelemetry.*
4233 url: :ref:`Telemetry`
4242 machine_name: telemetry
4245 description: The base widgets used throughout the UI.
4247 - toolkit/content/widgets/**/*
4259 machine_name: ui_widgets
4261 - name: Webextensions
4262 description: Webextension APIs and integration.
4264 - browser/components/extensions/**/*
4265 - toolkit/components/extensions/**/*
4277 machine_name: webextensions
4278 machine_name: toolkit
4279 - machine_name: translation
4281 description: Support for translation in Firefox, and the infrastructure to train
4282 new translation language models.
4284 - toolkit/components/translations/**/*
4285 - toolkit/components/translation/**/*
4286 - browser/components/translations/**/*
4296 url: https://github.com/mozilla/firefox-translations-training https://github.com/mozilla/firefox-translations-models
4297 https://github.com/mozilla/firefox-translations-evaluations https://github.com/mozilla/firefox-translations
4299 - Firefox::Translation
4300 review_group: translations-reviewers
4301 - machine_name: url_classifier
4302 name: URL Classifier
4303 description: Database and list-based classification of URL resources, such as
4304 Tracking Protection and SafeBrowsing.
4306 - toolkit/components/url-classifier/**/*
4307 - netwerk/url-classifier/**/*
4316 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4317 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4325 config: 65aa296735762ec4d0ef10de19e83fc19537ff02
4326 export: 56ea460c0108eebb8a9de57b729558024ec4b4ad