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: '2023-09-12T17:27:25.112116'
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.
44 name: Andrew Halberstadt
48 name: Yoshi Cheng-Hao Huang
80 name: Andrew Sutherland
88 name: Andrea Marchesini
100 name: Benjamin Bouvier
108 name: Ben Dean-Kawamura
112 name: Benjamin Beurdouche
140 name: Hubert Boma Manilla
151 name: Bryce Seager van Dyk
162 name: Benjamin VanderSloot
178 name: Calixte Denizet
189 name: Nazım Can Altınova
193 name: Caroline Cullen
205 name: Christoph Kerschbaumer
217 name: Daisuke Akatsuka
253 name: Alessio Placitelli
285 name: Dragana Damjanovic
321 name: Emilio Cobos Álvarez
325 name: Masatoshi Kimura
348 name: Nick Fitzgerald
352 name: Francesco Lodolo
368 name: Gabriel Bustamante
376 name: Gian-Carlo Pascutto
402 name: Gabriele Svelto
406 name: Haik Aftandilian
414 name: Hiroyuki Ikezoe
422 name: Jan Honza Odvarko
446 name: Jan-Erik Rediger
466 name: Julian Descottes
494 name: Jan-Ivar Bruaroey
526 name: Jonathan Almeida
561 name: Jean-Yves Avenard
613 name: Dzmitry Malyshau
625 name: Lougenia Bailey
641 name: Marco Castelluccio
657 name: Masayuki Nakano
666 nick: MatsPalmgren_bugz
673 name: Andrew McCreight
705 name: Morgan Reschenberg
745 name: Nicolas Chevobbe
757 name: Niklas Baumgardner
777 name: Alexandre Poirot
785 name: Andrew Overholt
805 name: Andreas Pehrson
813 name: Peter Van der Beken
857 name: Alexandra Borovova
885 name: Shravan Narayan
901 name: Greg Mierzwinski
917 name: Martin Stránský
924 name: Sylvestre Ledru
940 name: Teodor Tanasoaia
971 name: Toshihito Kikuchi
1007 name: William Durand
1019 name: Yulia Startsev
1030 name: Zibi Braniecki
1038 name: Tomislav Jovanovic
1041 - name: firefox-toplevel
1042 description: The top level directory for the Firefox/Gecko tree. Owned by the
1057 machine_name: _firefoxtoplevel
1059 - machine_name: code_coverage
1061 description: Tools for code coverage instrumentation, and coverage data parsing
1064 - tools/code-coverage/**/*
1065 - python/mozbuild/mozbuild/codecoverage/**/*
1066 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1075 - 'Testing :: Code Coverage'
1076 - name: 'Core: Accessibility'
1077 description: Support for platform accessibility APIs. Accessibility APIs are used
1078 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1079 software, which need information about document content and UI controls, as
1080 well as important events like changes of focus.
1094 group: dev-accessibility
1095 url: https://developer.mozilla.org/docs/Web/Accessibility
1097 - Core::Disability Access APIs
1104 machine_name: core_accessibility
1106 - name: 'Core: Animation'
1107 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1108 API, and off-main thread animations.'
1110 - dom/animation/**/*
1111 # TODO "and animation-related and interpolation-related code
1112 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1116 - Core::DOM::Animation
1117 - Core::CSS Transitions and Animations
1125 machine_name: core_animation
1127 - name: 'Core: Anti-Tracking'
1128 description: Tracking detection and content-blocking.
1130 - toolkit/components/antitracking/**/*
1131 # several files under browser/ and netwerk/url-classifier/ **TODO**
1139 - 'Core::Privacy: Anti-Tracking'
1147 machine_name: core_antitracking
1149 - name: 'Core: APZ (Graphics submodule)'
1150 description: Asynchronous panning and zooming
1152 - gfx/layers/apz/**/*
1159 url: https://wiki.mozilla.org/Platform/GFX/APZ
1161 - Core::Panning and Zooming
1169 machine_name: core_apz_graphics_submodule
1171 - name: 'Core: Browser WebAPI'
1172 description: Web API for rendering apps, browser windows and widgets.
1174 - dom/browser-element/**/*
1185 machine_name: core_browser_webapi
1187 - name: 'Core: Build and Release Tools'
1188 description: Tools related to build and release automation and configuration of
1191 - tools/update-packaging/**/*
1192 - tools/update-verify/**/*
1196 group: release-engineering
1197 url: https://wiki.mozilla.org/ReleaseEngineering
1199 - Release Engineering::*
1206 machine_name: core_build_and_release_tools
1208 - name: 'Core: Build Config'
1209 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1214 - python/mozbuild/**/*
1215 - browser/config/mozconfigs/**/*
1233 url: :ref:`Build System`
1235 - Core::Build Config
1242 - name: 'Core: Build Config - Fennec'
1243 description: Submodule of the build config covering Fennec's build system
1248 - Core::Build Config
1252 machine_name: core_build_config_fennec
1254 - name: 'Core: Build Config - Taskgraph'
1255 description: Support for task-graph generation in decision, action, and cron
1256 tasks, including configuration of all tasks including those for CI, nightlies,
1257 and releases; as well as Docker and VM images used to execute those tasks.
1262 - Firefox Build System::Task Configuration
1278 machine_name: core_build_config_taskgraph
1279 machine_name: core_build_config
1281 - name: 'Core: Code Analysis and Debugging Tools'
1282 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1283 and other characteristics of it.
1286 - tools/leak-gauge/**/*
1287 - tools/performance/**/*
1290 group: dev-performance
1294 machine_name: core_code_analysis_and_debugging_tools
1296 - name: 'Core: Content Security'
1297 description: 'Native content-based security features enforced in the ContentSecurityManager,
1298 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1299 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1300 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1301 and top-level data: URI blocking.'
1313 - 'Core::DOM: Security'
1321 machine_name: core_content_security
1323 - name: 'Core: Cookies'
1326 - netwerk/cookie/**/*
1335 - Christian Biesinger
1341 - 'Core::Networking: Cookies'
1350 machine_name: core_cookies
1352 - name: 'Core: Crash reporting'
1353 description: Infrastructure and tools used to generate, submit and process crash
1354 reports. This includes the in-tree google-breakpad fork, the crash report generation
1355 machinery as well as the host tools used to dump symbols, analyse minidumps
1356 and generate stack traces.
1358 - toolkit/crashreporter/**/*
1359 - toolkit/components/crashes/**/*
1360 - tools/crashreporter/**/*
1361 - ipc/glue/CrashReporter*
1362 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1367 url: :ref:`Crash Reporter`
1369 - Toolkit::Crash Reporting
1375 machine_name: core_crash_reporting
1377 - machine_name: core_credentials
1378 name: 'Core: Credentials'
1379 description: API Surface for FedCM and WebAuthn
1381 - toolkit/components/credentialmanagement/**/*
1382 - browser/components/credentialmanager/**/*
1383 - dom/credentialmanagement/**/*
1395 - 'Core::DOM: Credential Management'
1396 - 'Core::DOM: Web Authentication'
1398 - name: 'Core: C++/Rust usage, tools, and style'
1399 description: Aspects of C++ use such as language feature usage, standard library
1400 versions/usage, compiler/toolchain versions, formatting and naming style, and
1401 aspects of Rust use as needs arise
1403 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1404 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1405 # - docs/code-quality/**/*
1406 # - docs/testing-rust-code/**/*
1407 # - docs/writing-rust-code/**/*
1422 machine_name: core_crust_usage_tools_and_style
1424 - name: 'Core: Cycle Collector'
1425 description: Code to break and collect objects within reference cycles
1427 - xpcom/base/nsCycleCollect*
1428 # TODO "and some support headers"
1429 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1435 - Core::Cycle Collector
1441 machine_name: core_cycle_collector
1443 - name: 'Core: DLL Services'
1444 description: Windows dynamic linker instrumentation and blocking
1446 - toolkit/xre/dllservices/**/*
1452 - Core::DLL Services
1457 machine_name: core_dll_services
1459 - name: 'Core: docshell'
1463 - uriloader/base/**/*
1469 - Christian Biesinger
1475 - Core::Document Navigation
1482 machine_name: core_docshell
1484 - name: 'Core: Document Object Model'
1488 exclude_module_paths: true
1505 url: http://developer.mozilla.org/en/docs/DOM
1508 - 'Core::DOM: Core & HTML'
1509 review_group: dom-core
1525 machine_name: core_document_object_model
1527 - name: 'Core: DOM File'
1528 description: DOM Blob, File and FileSystem APIs
1531 - dom/filesystem/**/*
1534 url: http://developer.mozilla.org/en/docs/DOM
1541 machine_name: core_dom_file
1543 - machine_name: core_dom_streams
1544 name: 'Core: DOM Streams'
1545 description: Streams Specification implementation
1556 url: http://developer.mozilla.org/en/docs/DOM
1559 - 'Core::DOM: Streams'
1562 - name: 'Core: Editor'
1577 machine_name: core_editor
1579 - name: 'Core: Event Handling'
1580 description: DOM Events and Event Handling
1583 # TODO "and event handling related code elsewhere"
1588 url: http://developer.mozilla.org/en/docs/DOM
1590 - 'Core::DOM: Events'
1591 - 'Core::DOM: UI Events & Focus Handling'
1597 machine_name: core_event_handling
1599 - machine_name: core_firefox_source_documentation
1600 name: 'Core: Firefox Source Documentation'
1601 description: The infrastructure platform used to generate Firefox's source documentation,
1602 excluding editorial control over the content.
1605 - tools/moztreedocs/
1612 - Developer Infrastructure::Source Documentation
1613 url: https://firefox-source-docs.mozilla.org/
1614 - name: 'Core: Gecko Profiler'
1615 description: Gecko's built-in profiler
1617 - tools/profiler/**/*
1618 - mozglue/baseprofiler/**/*
1623 - Shu-yu Guo (JS integration)
1624 - Thinker Lee (TaskTracer)
1625 - Cervantes Yu (TaskTracer)
1626 - Nicholas Nethercote
1632 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1634 - Core::Gecko Profiler
1641 machine_name: core_gecko_profiler
1643 - name: 'Core: GeckoView'
1644 description: Framework for embedding Gecko into Android applications
1646 - mobile/android/**/*
1647 - widget/android/**/*
1659 url: https://wiki.mozilla.org/Mobile/GeckoView
1661 - GeckoView::General
1669 machine_name: core_geckoview
1671 - name: 'Core: Global Key Bindings'
1672 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1673 and the like, as those are part of i18n.
1676 # TODO "and platform specific directories under it"
1678 group: dev-accessibility
1679 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1681 - 'Core::Keyboard: Navigation'
1686 machine_name: core_global_key_bindings
1688 - name: 'Core: Graphics'
1689 description: Mozilla graphics API
1697 - Benoit Girard(Compositor, Performance)
1699 - George Wright(Canvas2D)
1703 - John Daggett(text/fonts)
1704 - Benoit Jacob(gfx/gl)
1706 - Vladimir Vukicevic
1707 - James Willcox(Android)
1710 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1711 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1714 - 'Core::Graphics: Layers'
1715 - 'Core::Graphics: Text'
1716 - 'Core::Graphics: WebRender'
1717 - 'Core::GFX: Color Management'
1718 - 'Core::Canvas: 2D'
1719 - 'Core::Canvas: WebGL'
1731 machine_name: core_graphics
1734 description: Hardware Abstraction Layer
1740 - Core::Hardware Abstraction Layer (HAL)
1744 machine_name: core_hal
1746 - name: 'Core: HTML Parser'
1747 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1748 to the HTML specification, and is mostly translated automatically from Java
1754 url: http://about.validator.nu/
1756 - 'Core::HTML: Parser'
1761 machine_name: core_html_parser
1763 - name: 'Core: I18N Library'
1772 url: :ref:`Internationalization`
1774 - Core::Internationalization
1782 machine_name: core_i18n_library
1784 - name: 'Core: ImageLib'
1787 - media/libjpeg/**/*
1804 machine_name: core_imagelib
1806 - name: 'Core: IndexedDB'
1809 - dom/indexedDB/**/*
1817 url: https://developer.mozilla.org/en/IndexedDB
1819 - 'Core::DOM: IndexedDB'
1820 review_group: dom-storage-reviewers
1827 machine_name: core_indexeddb
1830 description: Native message-passing between threads and processes
1851 review_group: ipc-reviewers
1858 machine_name: core_ipc
1860 - name: 'Core: JavaScript'
1861 description: JavaScript engine (SpiderMonkey)
1885 - Nicholas Nethercote
1890 url: https://spidermonkey.dev/
1892 - Core::JavaScript Engine
1893 - 'Core::JavaScript: GC'
1894 - 'Core::JavaScript: Internationalization API'
1895 - 'Core::JavaScript: Standard Library'
1896 - 'Core::JavaScript: WebAssembly'
1918 machine_name: core_javascript
1920 - name: 'Core: JavaScript JIT'
1921 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1929 url: https://spidermonkey.dev/
1931 - 'Core::JavaScript Engine: JIT'
1947 machine_name: core_javascript_jit
1949 - name: 'Core: js-tests'
1950 description: JavaScript test suite
1954 group: dev-tech-js-engine
1955 url: http://www.mozilla.org/js/tests/library.html
1959 machine_name: core_jstests
1961 - name: 'Core: Layout Engine'
1962 description: rendering tree construction, layout (reflow), etc.
1968 - layout/generic/**/*
1969 - layout/printing/**/*
1970 - layout/tables/**/*
1979 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1982 - 'Core::Layout: Block and Inline'
1983 - 'Core::Layout: Columns'
1984 - 'Core::Layout: Flexbox'
1985 - 'Core::Layout: Floats'
1986 - 'Core::Layout: Form Controls'
1987 - 'Core::Layout: Generated Content, Lists, and Counters'
1988 - 'Core::Layout: Grid'
1989 - 'Core::Layout: Images, Video, and HTML Frames'
1990 - 'Core::Layout: Positioned'
1991 - 'Core::Layout: Ruby'
1992 - 'Core::Layout: Scrolling and Overflow'
1993 - 'Core::Layout: Tables'
1994 - 'Core::Layout: Text and Fonts'
1995 - Core::Print Preview
1996 - 'Core::Printing: Output'
2008 machine_name: core_layout_engine
2010 - name: 'Core: Legacy HTML Parser'
2013 - parser/htmlparser/**/*
2017 url: http://www.mozilla.org/newlayout/doc/parser.html
2019 - 'Core::HTML: Parser'
2026 machine_name: core_legacy_html_parser
2028 - name: 'Core: libjar'
2029 description: The JAR handling code (protocol handler, stream implementation, and
2030 zipreader/zipwriter).
2032 - modules/libjar/**/*
2042 - 'Core::Networking: JAR'
2048 machine_name: core_libjar
2050 - name: 'Core: MathML'
2051 description: MathML is a low-level specification for describing mathematics which
2052 provides a foundation for the inclusion of mathematical expressions in Web pages.
2054 - layout/mathml/**/*
2056 group: dev-tech-mathml
2057 url: https://developer.mozilla.org/docs/Web/MathML
2064 machine_name: core_mathml
2066 - name: 'Core: Media Playback'
2067 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2068 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2071 - media/gmp-clearkey/**/*
2072 - media/libcubeb/**/*
2073 - media/libnestegg/**/*
2075 - media/libopus/**/*
2076 - media/libtheora/**/*
2077 - media/libtremor/**/*
2078 - media/libvorbis/**/*
2080 - dom/media/platforms/omx/**/*
2081 - dom/media/gmp/rlz/**/*
2096 machine_name: core_media_playback
2098 - name: 'Core: Media Transport'
2099 description: Pluggable transport for real-time media
2101 - dom/media/webrtc/transport/**/*
2105 - Core::WebRTC::Networking
2112 machine_name: core_media_transport
2114 - name: 'Core: Memory Allocator'
2115 description: Most things related to memory allocation in Gecko, including jemalloc,
2116 replace-malloc, DMD (dark matter detector), logalloc, etc.
2122 - Nicholas Nethercote
2130 machine_name: core_memory_allocator
2132 - name: 'Core: mfbt'
2133 description: mfbt is a collection of headers, macros, data structures, methods,
2134 and other functionality available for use and reuse throughout all Mozilla code
2135 (including SpiderMonkey and Gecko more broadly).
2147 machine_name: core_mfbt
2149 - name: 'Core: Moz2D (Graphics submodule)'
2150 description: Platform independent 2D graphics API
2155 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2163 machine_name: core_moz2d_graphics_submodule
2165 - name: 'Core: Mozglue'
2166 description: Glue library containing various low-level functionality, including
2167 a dynamic linker for Android, a DLL block list for Windows, etc.
2175 - Kartikaya Gupta (mozglue/android)
2180 machine_name: core_mozglue
2182 - name: 'Core: MSCOM'
2183 description: Integration with Microsoft Distributed COM
2194 - 'Core::IPC: MSCOM'
2200 machine_name: core_mscom
2202 - name: 'Core: Necko'
2203 description: The Mozilla Networking Library
2207 - netwerk/build/**/*
2208 - netwerk/cache2/**/*
2210 - netwerk/locales/**/*
2212 - netwerk/protocol/**/*
2213 - netwerk/socket/**/*
2214 - netwerk/streamconv/**/*
2215 - netwerk/system/**/*
2220 - dom/websocket/**/*
2221 - uriloader/prefetch/**/*
2222 - uriloader/preload/**/*
2225 - Dragana Damjanovic
2227 - Christian Biesinger
2238 group: dev-tech-network
2239 url: :ref:`Networking`
2242 - 'Core::Networking: Cache'
2243 - 'Core::Networking: Cookies'
2244 - 'Core::Networking: FTP'
2245 - 'Core::Networking: File'
2246 - 'Core::Networking: HTTP'
2247 - 'Core::Networking: JAR'
2248 - 'Core::Networking: Websockets'
2249 - 'Core::DOM: Networking'
2255 machine_name: core_necko
2257 - name: 'Core: NodeJS usage, tools, and style'
2258 description: Advises on the use of NodeJS and npm packages at build and runtime.
2259 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2260 teams to maintain automated license and security audits of npm packages. Works
2261 with the security team and relevant developers to respond to vulnerabilities
2262 in NodeJS and vendored npm packages.
2267 # TODO: and others as appropriate
2271 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2280 machine_name: core_nodejs_usage_tools_and_style
2282 - name: 'Core: NSPR'
2283 description: Netscape Portable Runtime
2289 group: dev-tech-nspr
2297 machine_name: core_nspr
2300 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2303 - toolkit/components/pdfjs/**/*
2311 url: https://github.com/mozilla/pdf.js
2318 machine_name: core_pdf
2320 - name: 'Core: Permissions'
2323 - extensions/permissions/**/*
2332 - Christian Biesinger
2337 - 'Core :: Permission Manager'
2344 machine_name: core_permissions
2346 - name: 'Core: Plugins'
2347 description: ' NPAPI Plugin support.'
2359 url: https://wiki.mozilla.org/Plugins
2364 machine_name: core_plugins
2366 - name: 'Core: Preferences'
2367 description: Preference library
2369 - modules/libpref/**/*
2372 - Nicholas Nethercote
2378 - 'Core::Preferences: Backend'
2384 machine_name: core_preferences
2386 - name: 'Core: Private Browsing'
2387 description: Implementation of the Private Browsing mode, and the integration
2388 of other modules with Private Browsing APIs.
2391 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2392 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2400 url: https://wiki.mozilla.org/Private_Browsing
2402 - Firefox::Private Browsing
2407 machine_name: core_private_browsing
2409 - name: 'Core: Privilege Manager'
2410 description: Caps is the capabilities-based security system.
2419 url: http://www.mozilla.org/projects/security/components/index.html
2421 - 'Core::Security: CAPS'
2427 machine_name: core_privilege_manager
2429 - name: 'Core: Push Notifications'
2430 description: Push is a way for application developers to send messages to their
2441 - 'Core::DOM: Notifications'
2445 machine_name: core_push_notifications
2447 - name: 'Core: Sandboxing (Linux)'
2448 description: Sandboxing for the Linux platform
2450 - security/sandbox/linux/**/*
2453 url: https://wiki.mozilla.org/Security/Sandbox
2455 - 'Core::Security: Process Sandboxing'
2460 machine_name: core_sandboxing_linux
2462 - name: 'Core: Sandboxing (OSX)'
2463 description: Sandboxing for the OSX platform
2465 - security/sandbox/mac/**/*
2468 url: https://wiki.mozilla.org/Security/Sandbox
2470 - 'Core::Security: Process Sandboxing'
2474 machine_name: core_sandboxing_osx
2476 - name: 'Core: Sandboxing (Windows)'
2477 description: Sandboxing for the Windows platform
2479 - security/sandbox/win/**/*
2489 url: https://wiki.mozilla.org/Security/Sandbox
2491 - 'Core::Security: Process Sandboxing'
2496 machine_name: core_sandboxing_windows
2498 - name: 'Core: security'
2499 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2512 group: dev-tech-crypto
2513 url: :ref:`Network Security Services (NSS)`
2518 - 'Core::Security: S/MIME'
2531 machine_name: core_security
2533 - name: 'Core: Security - Mozilla PSM Glue'
2534 description: Personal Security Manager
2536 - security/manager/**/*
2539 - Kai Engert (2001-2012)
2540 group: dev-tech-crypto
2542 - 'Core::Security: PSM'
2551 machine_name: core_security_mozilla_psm_glue
2553 - machine_name: core_security_rlbox
2554 name: Security - RLBox
2555 description: Sandboxing using WASM/RLBox libraries.
2559 - third_party/rlbox_wasm2c_sandbox
2569 - 'Core::Security: RLBox'
2570 - name: 'Core: Static analysis & rewriting for C++'
2571 description: Tools for checking C++ code looking for problems at compile time,
2572 plus tools for automated rewriting of C++ code.
2574 - build/clang-plugin/**/*
2575 - tools/rewriting/**/*
2576 # TODO among other out of tree tools
2579 - Birunthan Mohanathas
2583 - Core::Rewriting & Analysis
2590 machine_name: core_static_analysis_rewriting_for_c
2592 - name: 'Core: storage'
2593 description: Storage APIs with a SQLite backend
2595 - third_party/sqlite3/**/*
2599 url: http://developer.mozilla.org/en/docs/Storage
2601 - Toolkit::Storage, Core::SQL
2609 machine_name: core_storage
2611 - name: 'Core: String'
2616 group: dev-tech-xpcom
2617 url: :ref:`String Guide`
2624 machine_name: core_string
2626 - name: 'Core: Style System'
2627 description: CSS style sheet handling; style data computation
2638 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2640 - Core::CSS Parsing and Computation
2641 - 'Core::DOM: CSS Object Model'
2647 machine_name: core_style_system
2650 description: Scalable Vector Graphics
2657 url: https://developer.mozilla.org/docs/Web/SVG
2667 machine_name: core_svg
2669 - name: 'Core: UA String'
2670 description: User Agent String
2672 - netwerk/protocol/http/**/*
2675 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2677 - 'Core::Networking: HTTP'
2683 machine_name: core_ua_string
2685 - name: 'Core: View System'
2686 description: The View Manager is responsible for handling "heavyweight" rendering
2687 (some clipping, compositing) and event handling tasks.
2695 - 'Core::Layout: View Rendering'
2701 machine_name: core_view_system
2703 - name: 'Core: Web Audio'
2704 description: Support for the W3C Web Audio API specification.
2706 - dom/media/webaudio/**/*
2711 url: https://wiki.mozilla.org/Web_Audio_API
2719 machine_name: core_web_audio
2721 - name: 'Core: Web Painting'
2722 description: painting, display lists, and layer construction
2724 - layout/painting/**/*
2725 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2728 url: :ref:`Layout & CSS`
2730 - 'Core::Layout: Web Painting'
2741 machine_name: core_web_painting
2743 - name: 'Core: Web Workers'
2756 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2758 - 'Core::DOM: Workers'
2759 review_group: dom-worker-reviewers
2765 machine_name: core_web_workers
2767 - name: 'Core: WebGPU (Graphics submodule)'
2768 description: WebGPU implementation
2771 - gfx/wgpu_bindings/**/*
2772 - third_party/rust/naga/**/*
2773 - third_party/rust/wgpu-core/**/*
2774 - third_party/rust/wgpu-hal/**/*
2775 - third_party/rust/wgpu-types/**/*
2778 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2780 - Core::Graphics::WebGPU
2781 review_group: webgpu-reviewers
2793 machine_name: core_webgpu_graphics_submodule
2795 - name: 'Core: WebRTC'
2796 description: WebRTC is responsible for realtime audio and video communication,
2797 as well as related issues like low-level camera and microphone access
2800 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2805 url: https://wiki.mozilla.org/Media/webrtc
2808 - Core::WebRTC Networking
2815 machine_name: core_webrtc
2817 - name: 'Core: WebVR'
2818 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2819 including API, devices, graphics and integration
2825 - Vladimir Vukicevic
2828 url: https://mozvr.com/
2837 - name: 'Core: WebRTC Media'
2838 description: Submodule of WebRTC responsible for access to media input devices
2839 (microphones, cameras, screen capture), as well as realtime audiovisual
2840 codecs and packetization.
2843 - dom/media/webrtc/**/*
2844 - dom/media/systemservices/**/*
2850 url: https://wiki.mozilla.org/Media/webrtc
2852 - Core::WebRTC (Audio/Video)
2859 machine_name: core_webrtc_media
2861 - name: 'Core: WebRTC Signaling'
2862 description: Submodule of WebRTC responsible for implementation of PeerConnection
2863 API, WebRTC identity, and SDP/JSEP handling
2865 - media/webrtc/signaling/**/*
2870 url: https://wiki.mozilla.org/Media/webrtc
2872 - Core::WebRTC (Signaling)
2880 machine_name: core_webrtc_signaling
2881 machine_name: core_webvr
2883 - name: 'Core: Widget'
2884 description: Top level Widget
2889 - Vladimir Vukicevic
2896 - Core::Drag and Drop
2898 - 'Core::Printing: Setup'
2901 machine_name: core_widget
2903 - name: 'Core: Widget - Android'
2904 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2909 machine_name: core_widget_android
2911 - name: 'Core: Widget - GTK'
2912 description: GTK widget support
2919 url: http://www.mozilla.org/ports/gtk/
2921 - 'Core::Widget: Gtk'
2926 machine_name: core_widget_gtk
2928 - name: 'Core: Widget - Headless'
2929 description: Headless widget support
2931 - widget/headless/**/*
2940 machine_name: core_widget_headless
2942 - name: 'Core: Widget - macOS'
2943 description: ' macOS widget support'
2956 - 'Core::Widget: Cocoa'
2962 machine_name: core_widget_macos
2964 - name: 'Core: Widget - Windows'
2965 description: Windows widget support
2967 - widget/windows/**/*
2973 - Vladimir Vukicevic
2976 - Christian Biesinger
2978 - Josh 'timeless' Soref
2985 - 'Core::Widget: Win32'
2991 machine_name: core_widget_windows
2994 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2995 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2996 that are not covered by more specific projects.
3012 machine_name: core_xml
3014 - name: 'Core: XPApps'
3015 description: Cross-Platform Applications, mostly Navigator front end and application
3020 group: dev-apps-seamonkey
3024 - Josh 'timeless' Soref
3027 machine_name: core_xpapps
3029 - name: 'Core: XPCOM'
3030 description: The cross-platform object model and core data structures.
3036 - xpcom/components/**/*
3040 - xpcom/reflect/**/*
3044 - xpcom/threads/**/*
3045 - xpcom/windbgdlg/**/*
3057 review_group: xpcom-reviewers
3067 machine_name: core_xpcom
3069 - name: 'Core: XPConnect'
3070 description: Deep Magic
3089 machine_name: core_xpconnect
3091 - name: 'Core: XPIDL'
3092 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3093 runtime type description files from .idl interface description files.
3095 - xpcom/idl-parser/**/*
3102 - Josh 'timeless' Soref
3103 group: dev-tech-xpcom
3109 machine_name: core_xpidl
3111 - name: 'Core: XSLT Processor'
3112 description: XSLT transformations processor
3120 group: dev-tech-xslt
3121 url: https://developer.mozilla.org/docs/Web/XSLT
3127 machine_name: core_xslt_processor
3129 - name: Desktop Firefox
3130 description: Standalone Web Browser.
3143 - Tim Guan-tin Chien
3173 - name: Add-ons Manager
3174 description: Extension management back-end.
3176 - toolkit/mozapps/extensions/**/*
3190 machine_name: addons_manager
3192 - name: Add-ons Manager UI
3193 description: about:addons.
3195 - toolkit/mozapps/extensions/content/**/*
3208 machine_name: addons_manager_ui
3210 - name: Application Update
3211 description: The application update services.
3213 - toolkit/mozapps/update/**/*
3220 machine_name: application_update
3222 - name: Bookmarks & History
3223 description: The bookmarks and history services (Places).
3225 - browser/components/places/**/*
3226 - toolkit/components/places/**/*
3235 - Firefox::Bookmarks & History
3237 review_group: places-reviewers
3245 machine_name: bookmarks_history
3247 - name: Desktop Theme
3248 description: The style rules used in the desktop UI.
3250 - browser/themes/**/*
3251 - toolkit/themes/**/*
3265 machine_name: desktop_theme
3268 description: The main browser UI except where covered by more specific submodules.
3270 - browser/base/content/**/*
3277 machine_name: desktop_ui
3279 - name: Download Manager
3280 description: The downloads UI and service.
3282 - browser/components/downloads/**/*
3283 - toolkit/mozapps/downloads/**/*
3284 - uriloader/exthandler/**/*
3294 machine_name: download_manager
3296 - name: Enterprise Policies
3297 description: System policies for controlling Firefox.
3299 - browser/components/enterprisepolicies/**/*
3304 machine_name: enterprise_policies
3306 - name: Experiments/Rollouts
3307 description: Desktop clients for our experiments and off-train deployments
3310 - toolkit/components/normandy/**/*
3311 - toolkit/components/nimbus/**/*
3317 - Firefox::Nimbus Desktop Client
3318 url: https://experimenter.info/
3324 machine_name: normandy
3326 - machine_name: firefox_view
3328 description: The Firefox View page and its modules.
3330 - browser/components/firefoxview/**/*
3338 - name: Form Autofill
3339 description: Form detection and autocomplete.
3341 - browser/extensions/formautofill/**/*
3342 - toolkit/components/satchel/**/*
3345 - Matthew Noorenberghe
3351 machine_name: form_autofill
3353 - name: In-product Messaging
3354 description: The system for delivering in-product messaging.
3356 - toolkit/components/messaging-system/**/*
3359 - Firefox::Messaging System
3366 machine_name: inproduct_messaging
3368 - name: Launcher Process
3369 description: Windows process for bootstrapping the browser process.
3371 - browser/app/winlauncher/**/*
3377 - Firefox::Launcher Process
3384 machine_name: launcher_process
3386 - machine_name: localization
3388 description: Tooling to enable translation and facilitate localization.
3396 - name: New Tab Page
3397 description: The new tab/home page.
3399 - browser/components/newtab/**/*
3402 - Firefox::New Tab Page
3409 machine_name: new_tab_page
3412 description: The onboarding experience including UI tours.
3414 - browser/components/uitour/**/*
3422 machine_name: onboarding
3424 - name: Password Manager
3425 description: Managing, saving and filling logins.
3427 - toolkit/components/passwordmgr/**/*
3428 - browser/components/aboutlogins/**/*
3431 - Matthew Noorenberghe
3435 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3437 - Toolkit::Password Manager
3438 - 'Toolkit::Password Manager: Site'
3440 - Firefox::about:logins
3448 machine_name: password_manager
3450 - machine_name: firefox_pip
3451 name: Picture-in-Picture
3452 description: A component that allows video elements to be pulled out into
3453 an always-on-top window.
3455 - toolkit/components/pictureinpicture
3456 - browser/extensions/pictureinpicture
3466 - name: Profile Migration
3467 description: Migrating data from other browsers.
3469 - browser/components/migration/**/*
3477 machine_name: profile_migration
3480 description: Code relating to Screenshots functionality
3482 - browser/extensions/screenshots/**/*
3483 - browser/components/screenshots/**/*
3491 - Firefox::Screenshots
3497 machine_name: screenshots
3499 - name: Search and Address Bar
3500 description: The search service, address bar and address bar autocomplete.
3502 - browser/components/search/**/*
3503 - browser/components/urlbar/**/*
3504 - toolkit/components/search/**/*
3507 - Firefox::Address Bar
3520 machine_name: search_and_address_bar
3522 - name: Security and Privacy UI
3523 description: The front-end to our security and privacy features, including
3524 Protections UI, Site Identity, Site Permissions and Certificate Errors
3526 - browser/components/protections/**/*
3527 - browser/components/controlcenter/**/*
3531 - Nihanth Subramanya
3536 - Firefox::Protections UI
3537 - Firefox::Site Identity
3538 - Firefox::Site Permissions
3543 machine_name: security_and_privacy_ui
3545 - name: Session Restore
3546 description: Restoring a user's session after starting Firefox.
3548 - browser/components/sessionstore/**/*
3549 - toolkit/components/sessionstore/**/*
3558 - Firefox::Session Restore
3566 machine_name: session_restore
3569 description: The front-end settings user interface.
3571 - browser/components/preferences/**/*
3572 - browser/themes/*/preferences
3573 - toolkit/mozapps/preferences
3584 machine_name: settings_ui
3586 - name: Tabbed Browser
3587 description: The UI component controlling browser tabs.
3589 - browser/base/content/tabbrowser*
3590 - browser/base/content/browser-allTabsMenu.js
3591 - browser/base/content/browser-ctrlTab.js
3592 - browser/base/content/browser-fullZoom.js
3593 - browser/modules/AsyncTabSwitcher.sys.mjs
3594 - browser/modules/NewTabPagePreloading.sys.mjs
3595 - browser/modules/OpenInTabsUtils.sys.mjs
3596 - browser/modules/TabsList.sys.mjs
3597 - browser/modules/TabUnloader.sys.mjs
3600 - Firefox::Tabbed Browser
3609 machine_name: tabbed_browser
3611 - name: Windows Installer
3612 description: The installer for Windows.
3614 - browser/installer/**/*
3615 - toolkit/mozapps/installer/**/*
3618 - Firefox::Installer
3624 machine_name: windows_installer
3625 machine_name: desktop_firefox
3627 - machine_name: devtools
3629 description: Mozilla Developer Tools
3655 - Steve Fink (heapsnapshot code)
3665 - Panagiotis Astithas
3683 url: http://firefox-dev.tools/
3686 - machine_name: javascript_usage
3687 name: JavaScript usage, tools, and style
3688 description: Aspects of JavaScript use such as language feature usage, tooling
3689 such as lint configurations, formatting and naming style.
3691 - .eslintrc-test-paths.js
3692 - '**/.eslintignore'
3694 - tools/lint/eslint/**/*
3711 - machine_name: mozharness
3713 description: Configuration-driven script harness.
3715 - testing/mozharness/**/*
3728 - 'Release Engineering :: Applications: MozharnessCore'
3729 - machine_name: python_usage
3730 name: Python usage, tools, and style
3731 description: Aspects of Python use such as tooling, formatting and naming style
3733 - tools/lint/python/**/*
3743 - 'Developer Infrastructure :: Lint and Formatting'
3745 - machine_name: remote_protocol
3746 name: Remote Protocol
3747 description: Low-level remote protocol exposing interfaces for inspecting state
3748 and controlling execution of web documents, instrumenting various subsystems
3749 in the browser, simulating user interaction for automation purposes, and for
3750 subscribing to updates from the aforementioned.
3756 url: https://firefox-source-docs.mozilla.org/remote/
3765 - machine_name: remote_protocol_agent
3767 description: Underlying transport layer and server to allow remoting of Firefox
3768 for automation and debugging.
3773 - remote/marionette/*
3774 - remote/webdriver-bidi/*
3779 - Maja Frydrychowicz
3783 - 'Remote Protocol :: Agent'
3791 - machine_name: remote_protocol_cdp
3793 description: The core implementation for CDP support. Please file domain specific
3794 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3801 - Maja Frydrychowicz
3805 - 'Remote Protocol :: CDP'
3813 - machine_name: remote_protocol_marionette
3815 description: Marionette is a remote protocol that lets out-of-process programs
3816 communicate with, instrument, and control Gecko-based browsers. Combined
3817 with geckodriver, this forms our WebDriver classic implementation.
3819 - remote/marionette/*
3824 - Maja Frydrychowicz
3827 - 'Remote Protocol :: Marionette'
3828 group: dev-webdriver
3836 - machine_name: remote_protocol_webdriver_bidi
3837 name: WebDriver BiDi
3838 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3840 - remote/webdriver-bidi/*
3843 - 'Remote Protocol :: WebDriver BiDi'
3844 group: dev-webdriver
3852 - machine_name: sync
3854 description: Firefox Sync client
3856 - services/sync/**/*
3869 url: https://wiki.mozilla.org/Services/Process/Code_Review
3873 - machine_name: testing_firefox_ui
3875 description: Firefox UI test framework.
3877 - testing/firefox-ui/**/*
3880 - Maja Frydrychowicz
3882 - 'Testing :: Firefox UI'
3890 - machine_name: testing_geckodriver
3892 description: Proxy for using W3C WebDriver-compatible clients to interact with
3893 Gecko-based browsers.
3895 - testing/geckodriver/**/*
3903 - 'Testing :: geckodriver'
3904 group: dev-webdriver
3906 - machine_name: testing_gtest
3908 description: GTest test harness.
3910 - testing/gtest/**/*
3917 - 'Testing :: GTest'
3919 - machine_name: testing_marionette_client_harness
3920 name: Marionette Client & Harness
3921 description: Python client and harness for the Marionette remote protocol implementation.
3923 - testing/marionette/**/*
3928 - Maja Frydrychowicz
3931 - 'Testing :: Marionette Client & Harness'
3939 - machine_name: testing_mochitest
3941 description: Mochitest test framework
3943 - testing/mochitest/**/*
3952 - 'Testing :: Mochitest'
3953 - machine_name: testing_mozbase
3955 description: Base modules used for implementing test components.
3969 - 'Testing :: Mozbase'
3970 - 'Testing :: Mozbase Rust'
3971 - machine_name: testing_performance_testing
3972 name: Performance Testing
3974 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3975 MozPerfTest, AWSY, JSShell, mach try perf, etc.. See our PerfDocs for more information on
3976 the owners/peers of the various components (linked below).
3978 - testing/raptor/**/*
3979 - testing/talos/**/*
3980 - python/mozperftest/**/*
3982 - testing/jsshell/**/*
3983 - tools/lint/perfdocs/**/*
3984 - testing/perfdocs/**/*
3985 - testing/performance/**/*
3986 - testing/condprofile/**/*
3987 - tools/browsertime/**/*
3988 - tools/tryselect/selectors/perf.py
3998 - 'Testing :: Raptor'
3999 - 'Testing :: Talos'
4001 - 'Testing :: Performance'
4002 - 'Testing :: mozperftest'
4003 - 'Testing :: Condprofile'
4004 url: :ref:`Performance Testing`
4005 - machine_name: testing_reftest
4006 name: Reftest (+ jsreftest + crashtest)
4007 description: Reftest test framework
4009 - layout/tools/reftest/**/*
4018 - 'Testing :: Reftest'
4019 - machine_name: testing_tryselect
4021 description: Frontend for selecting jobs on the try server.
4023 - tools/tryselect/**/*
4032 - 'Developer Infrastructure :: Try'
4033 - machine_name: testing_web_platform_tests_infrastructure
4034 name: web-platform-tests infrastructure
4035 description: Infrastructure for running the cross-browser web-platform-tests
4037 - testing/web-platform/**/*
4038 - testing/web-platform/tests/tools/**/*
4040 - testing/web-platform/tests/**/*
4041 - testing/web-platform/meta/**/*
4042 - testing/web-platform/mozilla/**/*
4048 - 'Testing :: web-platform-tests'
4049 - machine_name: testing_xpcshell
4051 description: XPCShell test harness.
4053 - testing/xpcshell/**/*
4061 - Testing::XPCShell Harness
4063 description: Components shared between desktop and mobile browsers.
4080 - name: Application Startup
4081 description: The profile system and startup process before the front-end launches.
4083 - toolkit/profile/**/*
4084 - toolkit/components/remote/**/*
4091 machine_name: application_startup
4095 The core infrastructure in the Firefox client to send back telemetry
4096 data. Includes the common mechanisms to record, view and submit data: Legacy
4097 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4098 does ''not'' include responsibility for every piece of submitted Telemetry
4099 data. Each team/module is responsible for their own measurements (histograms,
4100 scalars, other ping submissions, etc.).
4102 - toolkit/components/glean/**/*
4103 - toolkit/components/telemetry/**/*
4104 - toolkit/content/aboutTelemetry.*
4109 url: :ref:`Telemetry`
4117 machine_name: telemetry
4120 description: The base widgets used throughout the UI.
4122 - toolkit/content/widgets/**/*
4129 machine_name: ui_widgets
4131 - name: Webextensions
4132 description: Webextension APIs and integration.
4134 - browser/components/extensions/**/*
4135 - toolkit/components/extensions/**/*
4147 machine_name: webextensions
4148 machine_name: toolkit
4149 - machine_name: url_classifier
4150 name: URL Classifier
4151 description: Database and list-based classification of URL resources, such as
4152 Tracking Protection and SafeBrowsing.
4154 - toolkit/components/url-classifier/**/*
4155 - netwerk/url-classifier/**/*
4164 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4165 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4173 config: b3a3e5b0f7a9103c3b94e31d4ad7920a66789df2
4174 export: 98ee1308e0a2c5ec27e6a448c5a8d0fda7c6bfa7