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-14T11:58:24.742161'
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
347 name: Nick Fitzgerald
351 name: Francesco Lodolo
367 name: Gabriel Bustamante
375 name: Gian-Carlo Pascutto
401 name: Gabriele Svelto
405 name: Haik Aftandilian
413 name: Hiroyuki Ikezoe
425 name: Jan Honza Odvarko
449 name: Jan-Erik Rediger
469 name: Julian Descottes
497 name: Jan-Ivar Bruaroey
529 name: Jonathan Almeida
564 name: Jean-Yves Avenard
616 name: Dzmitry Malyshau
628 name: Lougenia Bailey
644 name: Marco Castelluccio
660 name: Masayuki Nakano
669 nick: MatsPalmgren_bugz
676 name: Andrew McCreight
708 name: Morgan Reschenberg
748 name: Nicolas Chevobbe
760 name: Niklas Baumgardner
780 name: Alexandre Poirot
788 name: Andrew Overholt
808 name: Andreas Pehrson
816 name: Peter Van der Beken
860 name: Alexandra Borovova
888 name: Shravan Narayan
904 name: Greg Mierzwinski
920 name: Martin Stránský
927 name: Sylvestre Ledru
943 name: Teodor Tanasoaia
974 name: Toshihito Kikuchi
1010 name: William Durand
1022 name: Yulia Startsev
1033 name: Zibi Braniecki
1041 name: Tomislav Jovanovic
1044 - name: firefox-toplevel
1045 description: The top level directory for the Firefox/Gecko tree. Owned by the
1060 machine_name: _firefoxtoplevel
1062 - machine_name: code_coverage
1064 description: Tools for code coverage instrumentation, and coverage data parsing
1067 - tools/code-coverage/**/*
1068 - python/mozbuild/mozbuild/codecoverage/**/*
1069 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1078 - 'Testing :: Code Coverage'
1079 - name: 'Core: Accessibility'
1080 description: Support for platform accessibility APIs. Accessibility APIs are used
1081 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1082 software, which need information about document content and UI controls, as
1083 well as important events like changes of focus.
1097 group: dev-accessibility
1098 url: https://developer.mozilla.org/docs/Web/Accessibility
1100 - Core::Disability Access APIs
1107 machine_name: core_accessibility
1109 - name: 'Core: Animation'
1110 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1111 API, and off-main thread animations.'
1113 - dom/animation/**/*
1114 # TODO "and animation-related and interpolation-related code
1115 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1119 - Core::DOM::Animation
1120 - Core::CSS Transitions and Animations
1128 machine_name: core_animation
1130 - name: 'Core: Anti-Tracking'
1131 description: Tracking detection and content-blocking.
1133 - toolkit/components/antitracking/**/*
1134 # several files under browser/ and netwerk/url-classifier/ **TODO**
1142 - 'Core::Privacy: Anti-Tracking'
1150 machine_name: core_antitracking
1152 - name: 'Core: APZ (Graphics submodule)'
1153 description: Asynchronous panning and zooming
1155 - gfx/layers/apz/**/*
1162 url: https://wiki.mozilla.org/Platform/GFX/APZ
1164 - Core::Panning and Zooming
1172 machine_name: core_apz_graphics_submodule
1174 - name: 'Core: Browser WebAPI'
1175 description: Web API for rendering apps, browser windows and widgets.
1177 - dom/browser-element/**/*
1188 machine_name: core_browser_webapi
1190 - name: 'Core: Build and Release Tools'
1191 description: Tools related to build and release automation and configuration of
1194 - tools/update-packaging/**/*
1195 - tools/update-verify/**/*
1199 group: release-engineering
1200 url: https://wiki.mozilla.org/ReleaseEngineering
1202 - Release Engineering::*
1209 machine_name: core_build_and_release_tools
1211 - name: 'Core: Build Config'
1212 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1217 - python/mozbuild/**/*
1218 - browser/config/mozconfigs/**/*
1236 url: :ref:`Build System`
1238 - Core::Build Config
1245 - name: 'Core: Build Config - Fennec'
1246 description: Submodule of the build config covering Fennec's build system
1251 - Core::Build Config
1255 machine_name: core_build_config_fennec
1257 - name: 'Core: Build Config - Taskgraph'
1258 description: Support for task-graph generation in decision, action, and cron
1259 tasks, including configuration of all tasks including those for CI, nightlies,
1260 and releases; as well as Docker and VM images used to execute those tasks.
1265 - Firefox Build System::Task Configuration
1281 machine_name: core_build_config_taskgraph
1282 machine_name: core_build_config
1284 - name: 'Core: Code Analysis and Debugging Tools'
1285 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1286 and other characteristics of it.
1289 - tools/leak-gauge/**/*
1290 - tools/performance/**/*
1293 group: dev-performance
1297 machine_name: core_code_analysis_and_debugging_tools
1299 - name: 'Core: Content Security'
1300 description: 'Native content-based security features enforced in the ContentSecurityManager,
1301 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1302 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1303 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1304 and top-level data: URI blocking.'
1316 - 'Core::DOM: Security'
1324 machine_name: core_content_security
1326 - name: 'Core: Cookies'
1329 - netwerk/cookie/**/*
1338 - Christian Biesinger
1344 - 'Core::Networking: Cookies'
1353 machine_name: core_cookies
1355 - name: 'Core: Crash reporting'
1356 description: Infrastructure and tools used to generate, submit and process crash
1357 reports. This includes the in-tree google-breakpad fork, the crash report generation
1358 machinery as well as the host tools used to dump symbols, analyse minidumps
1359 and generate stack traces.
1361 - toolkit/crashreporter/**/*
1362 - toolkit/components/crashes/**/*
1363 - tools/crashreporter/**/*
1364 - ipc/glue/CrashReporter*
1365 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1370 url: :ref:`Crash Reporter`
1372 - Toolkit::Crash Reporting
1378 machine_name: core_crash_reporting
1380 - machine_name: core_credentials
1381 name: 'Core: Credentials'
1382 description: API Surface for FedCM and WebAuthn
1384 - toolkit/components/credentialmanagement/**/*
1385 - browser/components/credentialmanager/**/*
1386 - dom/credentialmanagement/**/*
1398 - 'Core::DOM: Credential Management'
1399 - 'Core::DOM: Web Authentication'
1401 - name: 'Core: C++/Rust usage, tools, and style'
1402 description: Aspects of C++ use such as language feature usage, standard library
1403 versions/usage, compiler/toolchain versions, formatting and naming style, and
1404 aspects of Rust use as needs arise
1406 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1407 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1408 # - docs/code-quality/**/*
1409 # - docs/testing-rust-code/**/*
1410 # - docs/writing-rust-code/**/*
1425 machine_name: core_crust_usage_tools_and_style
1427 - name: 'Core: Cycle Collector'
1428 description: Code to break and collect objects within reference cycles
1430 - xpcom/base/nsCycleCollect*
1431 # TODO "and some support headers"
1432 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1438 - Core::Cycle Collector
1444 machine_name: core_cycle_collector
1446 - name: 'Core: DLL Services'
1447 description: Windows dynamic linker instrumentation and blocking
1449 - toolkit/xre/dllservices/**/*
1455 - Core::DLL Services
1460 machine_name: core_dll_services
1462 - name: 'Core: docshell'
1466 - uriloader/base/**/*
1472 - Christian Biesinger
1478 - Core::Document Navigation
1485 machine_name: core_docshell
1487 - name: 'Core: Document Object Model'
1491 exclude_module_paths: true
1508 url: http://developer.mozilla.org/en/docs/DOM
1511 - 'Core::DOM: Core & HTML'
1512 review_group: dom-core
1528 machine_name: core_document_object_model
1530 - name: 'Core: DOM File'
1531 description: DOM Blob, File and FileSystem APIs
1534 - dom/filesystem/**/*
1537 url: http://developer.mozilla.org/en/docs/DOM
1544 machine_name: core_dom_file
1546 - machine_name: core_dom_streams
1547 name: 'Core: DOM Streams'
1548 description: Streams Specification implementation
1559 url: http://developer.mozilla.org/en/docs/DOM
1562 - 'Core::DOM: Streams'
1565 - name: 'Core: Editor'
1580 machine_name: core_editor
1582 - name: 'Core: Event Handling'
1583 description: DOM Events and Event Handling
1586 # TODO "and event handling related code elsewhere"
1591 url: http://developer.mozilla.org/en/docs/DOM
1593 - 'Core::DOM: Events'
1594 - 'Core::DOM: UI Events & Focus Handling'
1600 machine_name: core_event_handling
1602 - machine_name: core_firefox_source_documentation
1603 name: 'Core: Firefox Source Documentation'
1604 description: The infrastructure platform used to generate Firefox's source documentation,
1605 excluding editorial control over the content.
1608 - tools/moztreedocs/
1615 - Developer Infrastructure::Source Documentation
1616 url: https://firefox-source-docs.mozilla.org/
1617 - name: 'Core: Gecko Profiler'
1618 description: Gecko's built-in profiler
1620 - tools/profiler/**/*
1621 - mozglue/baseprofiler/**/*
1626 - Shu-yu Guo (JS integration)
1627 - Thinker Lee (TaskTracer)
1628 - Cervantes Yu (TaskTracer)
1629 - Nicholas Nethercote
1635 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1637 - Core::Gecko Profiler
1644 machine_name: core_gecko_profiler
1646 - name: 'Core: GeckoView'
1647 description: Framework for embedding Gecko into Android applications
1649 - mobile/android/**/*
1650 - widget/android/**/*
1662 url: https://wiki.mozilla.org/Mobile/GeckoView
1664 - GeckoView::General
1672 machine_name: core_geckoview
1674 - name: 'Core: Global Key Bindings'
1675 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1676 and the like, as those are part of i18n.
1679 # TODO "and platform specific directories under it"
1681 group: dev-accessibility
1682 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1684 - 'Core::Keyboard: Navigation'
1689 machine_name: core_global_key_bindings
1691 - name: 'Core: Graphics'
1692 description: Mozilla graphics API
1700 - Benoit Girard(Compositor, Performance)
1702 - George Wright(Canvas2D)
1706 - John Daggett(text/fonts)
1707 - Benoit Jacob(gfx/gl)
1709 - Vladimir Vukicevic
1710 - James Willcox(Android)
1713 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1714 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1717 - 'Core::Graphics: Layers'
1718 - 'Core::Graphics: Text'
1719 - 'Core::Graphics: WebRender'
1720 - 'Core::GFX: Color Management'
1721 - 'Core::Canvas: 2D'
1722 - 'Core::Canvas: WebGL'
1734 machine_name: core_graphics
1737 description: Hardware Abstraction Layer
1743 - Core::Hardware Abstraction Layer (HAL)
1747 machine_name: core_hal
1749 - name: 'Core: HTML Parser'
1750 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1751 to the HTML specification, and is mostly translated automatically from Java
1757 url: http://about.validator.nu/
1759 - 'Core::HTML: Parser'
1764 machine_name: core_html_parser
1766 - name: 'Core: I18N Library'
1775 url: :ref:`Internationalization`
1777 - Core::Internationalization
1785 machine_name: core_i18n_library
1787 - name: 'Core: ImageLib'
1790 - media/libjpeg/**/*
1807 machine_name: core_imagelib
1809 - name: 'Core: IndexedDB'
1812 - dom/indexedDB/**/*
1820 url: https://developer.mozilla.org/en/IndexedDB
1822 - 'Core::DOM: IndexedDB'
1823 review_group: dom-storage-reviewers
1830 machine_name: core_indexeddb
1833 description: Native message-passing between threads and processes
1854 review_group: ipc-reviewers
1861 machine_name: core_ipc
1863 - name: 'Core: JavaScript'
1864 description: JavaScript engine (SpiderMonkey)
1888 - Nicholas Nethercote
1893 url: https://spidermonkey.dev/
1895 - Core::JavaScript Engine
1896 - 'Core::JavaScript: GC'
1897 - 'Core::JavaScript: Internationalization API'
1898 - 'Core::JavaScript: Standard Library'
1899 - 'Core::JavaScript: WebAssembly'
1921 machine_name: core_javascript
1923 - name: 'Core: JavaScript JIT'
1924 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1932 url: https://spidermonkey.dev/
1934 - 'Core::JavaScript Engine: JIT'
1950 machine_name: core_javascript_jit
1952 - name: 'Core: js-tests'
1953 description: JavaScript test suite
1957 group: dev-tech-js-engine
1958 url: http://www.mozilla.org/js/tests/library.html
1962 machine_name: core_jstests
1964 - name: 'Core: Layout Engine'
1965 description: rendering tree construction, layout (reflow), etc.
1971 - layout/generic/**/*
1972 - layout/printing/**/*
1973 - layout/tables/**/*
1982 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1985 - 'Core::Layout: Block and Inline'
1986 - 'Core::Layout: Columns'
1987 - 'Core::Layout: Flexbox'
1988 - 'Core::Layout: Floats'
1989 - 'Core::Layout: Form Controls'
1990 - 'Core::Layout: Generated Content, Lists, and Counters'
1991 - 'Core::Layout: Grid'
1992 - 'Core::Layout: Images, Video, and HTML Frames'
1993 - 'Core::Layout: Positioned'
1994 - 'Core::Layout: Ruby'
1995 - 'Core::Layout: Scrolling and Overflow'
1996 - 'Core::Layout: Tables'
1997 - 'Core::Layout: Text and Fonts'
1998 - Core::Print Preview
1999 - 'Core::Printing: Output'
2011 machine_name: core_layout_engine
2013 - name: 'Core: Legacy HTML Parser'
2016 - parser/htmlparser/**/*
2020 url: http://www.mozilla.org/newlayout/doc/parser.html
2022 - 'Core::HTML: Parser'
2029 machine_name: core_legacy_html_parser
2031 - name: 'Core: libjar'
2032 description: The JAR handling code (protocol handler, stream implementation, and
2033 zipreader/zipwriter).
2035 - modules/libjar/**/*
2045 - 'Core::Networking: JAR'
2051 machine_name: core_libjar
2053 - name: 'Core: MathML'
2054 description: MathML is a low-level specification for describing mathematics which
2055 provides a foundation for the inclusion of mathematical expressions in Web pages.
2057 - layout/mathml/**/*
2059 group: dev-tech-mathml
2060 url: https://developer.mozilla.org/docs/Web/MathML
2067 machine_name: core_mathml
2069 - name: 'Core: Media Playback'
2070 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2071 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2074 - media/gmp-clearkey/**/*
2075 - media/libcubeb/**/*
2076 - media/libnestegg/**/*
2078 - media/libopus/**/*
2079 - media/libtheora/**/*
2080 - media/libtremor/**/*
2081 - media/libvorbis/**/*
2083 - dom/media/platforms/omx/**/*
2084 - dom/media/gmp/rlz/**/*
2099 machine_name: core_media_playback
2101 - name: 'Core: Media Transport'
2102 description: Pluggable transport for real-time media
2104 - dom/media/webrtc/transport/**/*
2108 - Core::WebRTC::Networking
2115 machine_name: core_media_transport
2117 - name: 'Core: Memory Allocator'
2118 description: Most things related to memory allocation in Gecko, including jemalloc,
2119 replace-malloc, DMD (dark matter detector), logalloc, etc.
2125 - Nicholas Nethercote
2133 machine_name: core_memory_allocator
2135 - name: 'Core: mfbt'
2136 description: mfbt is a collection of headers, macros, data structures, methods,
2137 and other functionality available for use and reuse throughout all Mozilla code
2138 (including SpiderMonkey and Gecko more broadly).
2150 machine_name: core_mfbt
2152 - name: 'Core: Moz2D (Graphics submodule)'
2153 description: Platform independent 2D graphics API
2158 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2166 machine_name: core_moz2d_graphics_submodule
2168 - name: 'Core: Mozglue'
2169 description: Glue library containing various low-level functionality, including
2170 a dynamic linker for Android, a DLL block list for Windows, etc.
2178 - Kartikaya Gupta (mozglue/android)
2183 machine_name: core_mozglue
2185 - name: 'Core: MSCOM'
2186 description: Integration with Microsoft Distributed COM
2197 - 'Core::IPC: MSCOM'
2203 machine_name: core_mscom
2205 - name: 'Core: Necko'
2206 description: The Mozilla Networking Library
2210 - netwerk/build/**/*
2211 - netwerk/cache2/**/*
2213 - netwerk/locales/**/*
2215 - netwerk/protocol/**/*
2216 - netwerk/socket/**/*
2217 - netwerk/streamconv/**/*
2218 - netwerk/system/**/*
2223 - dom/websocket/**/*
2224 - uriloader/prefetch/**/*
2225 - uriloader/preload/**/*
2228 - Dragana Damjanovic
2230 - Christian Biesinger
2241 group: dev-tech-network
2242 url: :ref:`Networking`
2245 - 'Core::Networking: Cache'
2246 - 'Core::Networking: Cookies'
2247 - 'Core::Networking: FTP'
2248 - 'Core::Networking: File'
2249 - 'Core::Networking: HTTP'
2250 - 'Core::Networking: JAR'
2251 - 'Core::Networking: Websockets'
2252 - 'Core::DOM: Networking'
2258 machine_name: core_necko
2260 - name: 'Core: NodeJS usage, tools, and style'
2261 description: Advises on the use of NodeJS and npm packages at build and runtime.
2262 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2263 teams to maintain automated license and security audits of npm packages. Works
2264 with the security team and relevant developers to respond to vulnerabilities
2265 in NodeJS and vendored npm packages.
2270 # TODO: and others as appropriate
2274 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2283 machine_name: core_nodejs_usage_tools_and_style
2285 - name: 'Core: NSPR'
2286 description: Netscape Portable Runtime
2292 group: dev-tech-nspr
2300 machine_name: core_nspr
2303 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2306 - toolkit/components/pdfjs/**/*
2314 url: https://github.com/mozilla/pdf.js
2321 machine_name: core_pdf
2323 - name: 'Core: Permissions'
2326 - extensions/permissions/**/*
2335 - Christian Biesinger
2340 - 'Core :: Permission Manager'
2347 machine_name: core_permissions
2349 - name: 'Core: Plugins'
2350 description: ' NPAPI Plugin support.'
2362 url: https://wiki.mozilla.org/Plugins
2367 machine_name: core_plugins
2369 - name: 'Core: Preferences'
2370 description: Preference library
2372 - modules/libpref/**/*
2375 - Nicholas Nethercote
2381 - 'Core::Preferences: Backend'
2387 machine_name: core_preferences
2389 - name: 'Core: Private Browsing'
2390 description: Implementation of the Private Browsing mode, and the integration
2391 of other modules with Private Browsing APIs.
2394 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2395 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2403 url: https://wiki.mozilla.org/Private_Browsing
2405 - Firefox::Private Browsing
2410 machine_name: core_private_browsing
2412 - name: 'Core: Privilege Manager'
2413 description: Caps is the capabilities-based security system.
2422 url: http://www.mozilla.org/projects/security/components/index.html
2424 - 'Core::Security: CAPS'
2430 machine_name: core_privilege_manager
2432 - name: 'Core: Push Notifications'
2433 description: Push is a way for application developers to send messages to their
2444 - 'Core::DOM: Notifications'
2448 machine_name: core_push_notifications
2450 - name: 'Core: Sandboxing (Linux)'
2451 description: Sandboxing for the Linux platform
2453 - security/sandbox/linux/**/*
2456 url: https://wiki.mozilla.org/Security/Sandbox
2458 - 'Core::Security: Process Sandboxing'
2463 machine_name: core_sandboxing_linux
2465 - name: 'Core: Sandboxing (OSX)'
2466 description: Sandboxing for the OSX platform
2468 - security/sandbox/mac/**/*
2471 url: https://wiki.mozilla.org/Security/Sandbox
2473 - 'Core::Security: Process Sandboxing'
2477 machine_name: core_sandboxing_osx
2479 - name: 'Core: Sandboxing (Windows)'
2480 description: Sandboxing for the Windows platform
2482 - security/sandbox/win/**/*
2492 url: https://wiki.mozilla.org/Security/Sandbox
2494 - 'Core::Security: Process Sandboxing'
2499 machine_name: core_sandboxing_windows
2501 - name: 'Core: security'
2502 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2515 group: dev-tech-crypto
2516 url: :ref:`Network Security Services (NSS)`
2521 - 'Core::Security: S/MIME'
2534 machine_name: core_security
2536 - name: 'Core: Security - Mozilla PSM Glue'
2537 description: Personal Security Manager
2539 - security/manager/**/*
2542 - Kai Engert (2001-2012)
2543 group: dev-tech-crypto
2545 - 'Core::Security: PSM'
2554 machine_name: core_security_mozilla_psm_glue
2556 - machine_name: core_security_rlbox
2557 name: Security - RLBox
2558 description: Sandboxing using WASM/RLBox libraries.
2562 - third_party/rlbox_wasm2c_sandbox
2572 - 'Core::Security: RLBox'
2573 - name: 'Core: Static analysis & rewriting for C++'
2574 description: Tools for checking C++ code looking for problems at compile time,
2575 plus tools for automated rewriting of C++ code.
2577 - build/clang-plugin/**/*
2578 - tools/rewriting/**/*
2579 # TODO among other out of tree tools
2582 - Birunthan Mohanathas
2586 - Core::Rewriting & Analysis
2593 machine_name: core_static_analysis_rewriting_for_c
2595 - name: 'Core: storage'
2596 description: Storage APIs with a SQLite backend
2598 - third_party/sqlite3/**/*
2602 url: http://developer.mozilla.org/en/docs/Storage
2604 - Toolkit::Storage, Core::SQL
2612 machine_name: core_storage
2614 - name: 'Core: String'
2619 group: dev-tech-xpcom
2620 url: :ref:`String Guide`
2627 machine_name: core_string
2629 - name: 'Core: Style System'
2630 description: CSS style sheet handling; style data computation
2641 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2643 - Core::CSS Parsing and Computation
2644 - 'Core::DOM: CSS Object Model'
2650 machine_name: core_style_system
2653 description: Scalable Vector Graphics
2660 url: https://developer.mozilla.org/docs/Web/SVG
2670 machine_name: core_svg
2672 - name: 'Core: UA String'
2673 description: User Agent String
2675 - netwerk/protocol/http/**/*
2678 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2680 - 'Core::Networking: HTTP'
2686 machine_name: core_ua_string
2688 - name: 'Core: View System'
2689 description: The View Manager is responsible for handling "heavyweight" rendering
2690 (some clipping, compositing) and event handling tasks.
2698 - 'Core::Layout: View Rendering'
2704 machine_name: core_view_system
2706 - name: 'Core: Web Audio'
2707 description: Support for the W3C Web Audio API specification.
2709 - dom/media/webaudio/**/*
2714 url: https://wiki.mozilla.org/Web_Audio_API
2722 machine_name: core_web_audio
2724 - name: 'Core: Web Painting'
2725 description: painting, display lists, and layer construction
2727 - layout/painting/**/*
2728 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2731 url: :ref:`Layout & CSS`
2733 - 'Core::Layout: Web Painting'
2744 machine_name: core_web_painting
2746 - name: 'Core: Web Workers'
2759 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2761 - 'Core::DOM: Workers'
2762 review_group: dom-worker-reviewers
2768 machine_name: core_web_workers
2770 - name: 'Core: WebGPU (Graphics submodule)'
2771 description: WebGPU implementation
2774 - gfx/wgpu_bindings/**/*
2775 - third_party/rust/naga/**/*
2776 - third_party/rust/wgpu-core/**/*
2777 - third_party/rust/wgpu-hal/**/*
2778 - third_party/rust/wgpu-types/**/*
2781 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2783 - Core::Graphics::WebGPU
2784 review_group: webgpu-reviewers
2796 machine_name: core_webgpu_graphics_submodule
2798 - name: 'Core: WebRTC'
2799 description: WebRTC is responsible for realtime audio and video communication,
2800 as well as related issues like low-level camera and microphone access
2803 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2808 url: https://wiki.mozilla.org/Media/webrtc
2811 - Core::WebRTC Networking
2818 machine_name: core_webrtc
2820 - name: 'Core: WebVR'
2821 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2822 including API, devices, graphics and integration
2828 - Vladimir Vukicevic
2831 url: https://mozvr.com/
2840 - name: 'Core: WebRTC Media'
2841 description: Submodule of WebRTC responsible for access to media input devices
2842 (microphones, cameras, screen capture), as well as realtime audiovisual
2843 codecs and packetization.
2846 - dom/media/webrtc/**/*
2847 - dom/media/systemservices/**/*
2853 url: https://wiki.mozilla.org/Media/webrtc
2855 - Core::WebRTC (Audio/Video)
2862 machine_name: core_webrtc_media
2864 - name: 'Core: WebRTC Signaling'
2865 description: Submodule of WebRTC responsible for implementation of PeerConnection
2866 API, WebRTC identity, and SDP/JSEP handling
2868 - media/webrtc/signaling/**/*
2873 url: https://wiki.mozilla.org/Media/webrtc
2875 - Core::WebRTC (Signaling)
2883 machine_name: core_webrtc_signaling
2884 machine_name: core_webvr
2886 - name: 'Core: Widget'
2887 description: Top level Widget
2892 - Vladimir Vukicevic
2899 - Core::Drag and Drop
2901 - 'Core::Printing: Setup'
2904 machine_name: core_widget
2906 - name: 'Core: Widget - Android'
2907 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2912 machine_name: core_widget_android
2914 - name: 'Core: Widget - GTK'
2915 description: GTK widget support
2922 url: http://www.mozilla.org/ports/gtk/
2924 - 'Core::Widget: Gtk'
2929 machine_name: core_widget_gtk
2931 - name: 'Core: Widget - Headless'
2932 description: Headless widget support
2934 - widget/headless/**/*
2943 machine_name: core_widget_headless
2945 - name: 'Core: Widget - macOS'
2946 description: ' macOS widget support'
2959 - 'Core::Widget: Cocoa'
2965 machine_name: core_widget_macos
2967 - name: 'Core: Widget - Windows'
2968 description: Windows widget support
2970 - widget/windows/**/*
2976 - Vladimir Vukicevic
2979 - Christian Biesinger
2981 - Josh 'timeless' Soref
2988 - 'Core::Widget: Win32'
2994 machine_name: core_widget_windows
2997 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2998 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2999 that are not covered by more specific projects.
3015 machine_name: core_xml
3017 - name: 'Core: XPApps'
3018 description: Cross-Platform Applications, mostly Navigator front end and application
3023 group: dev-apps-seamonkey
3027 - Josh 'timeless' Soref
3030 machine_name: core_xpapps
3032 - name: 'Core: XPCOM'
3033 description: The cross-platform object model and core data structures.
3039 - xpcom/components/**/*
3043 - xpcom/reflect/**/*
3047 - xpcom/threads/**/*
3048 - xpcom/windbgdlg/**/*
3060 review_group: xpcom-reviewers
3070 machine_name: core_xpcom
3072 - name: 'Core: XPConnect'
3073 description: Deep Magic
3092 machine_name: core_xpconnect
3094 - name: 'Core: XPIDL'
3095 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3096 runtime type description files from .idl interface description files.
3098 - xpcom/idl-parser/**/*
3105 - Josh 'timeless' Soref
3106 group: dev-tech-xpcom
3112 machine_name: core_xpidl
3114 - name: 'Core: XSLT Processor'
3115 description: XSLT transformations processor
3123 group: dev-tech-xslt
3124 url: https://developer.mozilla.org/docs/Web/XSLT
3130 machine_name: core_xslt_processor
3132 - name: Desktop Firefox
3133 description: Standalone Web Browser.
3146 - Tim Guan-tin Chien
3176 - name: Add-ons Manager
3177 description: Extension management back-end.
3179 - toolkit/mozapps/extensions/**/*
3193 machine_name: addons_manager
3195 - name: Add-ons Manager UI
3196 description: about:addons.
3198 - toolkit/mozapps/extensions/content/**/*
3211 machine_name: addons_manager_ui
3213 - name: Application Update
3214 description: The application update services.
3216 - toolkit/mozapps/update/**/*
3223 machine_name: application_update
3225 - name: Bookmarks & History
3226 description: The bookmarks and history services (Places).
3228 - browser/components/places/**/*
3229 - toolkit/components/places/**/*
3238 - Firefox::Bookmarks & History
3240 review_group: places-reviewers
3248 machine_name: bookmarks_history
3250 - name: Desktop Theme
3251 description: The style rules used in the desktop UI.
3253 - browser/themes/**/*
3254 - toolkit/themes/**/*
3268 machine_name: desktop_theme
3271 description: The main browser UI except where covered by more specific submodules.
3273 - browser/base/content/**/*
3280 machine_name: desktop_ui
3282 - name: Download Manager
3283 description: The downloads UI and service.
3285 - browser/components/downloads/**/*
3286 - toolkit/mozapps/downloads/**/*
3287 - uriloader/exthandler/**/*
3297 machine_name: download_manager
3299 - name: Enterprise Policies
3300 description: System policies for controlling Firefox.
3302 - browser/components/enterprisepolicies/**/*
3307 machine_name: enterprise_policies
3309 - name: Experiments/Rollouts
3310 description: Desktop clients for our experiments and off-train deployments
3313 - toolkit/components/normandy/**/*
3314 - toolkit/components/nimbus/**/*
3320 - Firefox::Nimbus Desktop Client
3321 url: https://experimenter.info/
3327 machine_name: normandy
3329 - machine_name: firefox_view
3331 description: The Firefox View page and its modules.
3333 - browser/components/firefoxview/**/*
3341 - name: Form Autofill
3342 description: Form detection and autocomplete.
3344 - browser/extensions/formautofill/**/*
3345 - toolkit/components/satchel/**/*
3348 - Matthew Noorenberghe
3354 machine_name: form_autofill
3356 - name: In-product Messaging
3357 description: The system for delivering in-product messaging.
3359 - toolkit/components/messaging-system/**/*
3362 - Firefox::Messaging System
3369 machine_name: inproduct_messaging
3371 - name: Launcher Process
3372 description: Windows process for bootstrapping the browser process.
3374 - browser/app/winlauncher/**/*
3380 - Firefox::Launcher Process
3387 machine_name: launcher_process
3389 - machine_name: localization
3391 description: Tooling to enable translation and facilitate localization.
3399 - name: New Tab Page
3400 description: The new tab/home page.
3402 - browser/components/newtab/**/*
3405 - Firefox::New Tab Page
3412 machine_name: new_tab_page
3415 description: The onboarding experience including UI tours.
3417 - browser/components/uitour/**/*
3425 machine_name: onboarding
3427 - name: Password Manager
3428 description: Managing, saving and filling logins.
3430 - toolkit/components/passwordmgr/**/*
3431 - browser/components/aboutlogins/**/*
3434 - Matthew Noorenberghe
3438 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3440 - Toolkit::Password Manager
3441 - 'Toolkit::Password Manager: Site'
3443 - Firefox::about:logins
3451 machine_name: password_manager
3453 - machine_name: firefox_pip
3454 name: Picture-in-Picture
3455 description: A component that allows video elements to be pulled out into
3456 an always-on-top window.
3458 - toolkit/components/pictureinpicture
3459 - browser/extensions/pictureinpicture
3469 - name: Profile Migration
3470 description: Migrating data from other browsers.
3472 - browser/components/migration/**/*
3480 machine_name: profile_migration
3483 description: Code relating to Screenshots functionality
3485 - browser/extensions/screenshots/**/*
3486 - browser/components/screenshots/**/*
3494 - Firefox::Screenshots
3500 machine_name: screenshots
3502 - name: Search and Address Bar
3503 description: The search service, address bar and address bar autocomplete.
3505 - browser/components/search/**/*
3506 - browser/components/urlbar/**/*
3507 - toolkit/components/search/**/*
3510 - Firefox::Address Bar
3523 machine_name: search_and_address_bar
3525 - name: Security and Privacy UI
3526 description: The front-end to our security and privacy features, including
3527 Protections UI, Site Identity, Site Permissions and Certificate Errors
3529 - browser/components/protections/**/*
3530 - browser/components/controlcenter/**/*
3534 - Nihanth Subramanya
3539 - Firefox::Protections UI
3540 - Firefox::Site Identity
3541 - Firefox::Site Permissions
3546 machine_name: security_and_privacy_ui
3548 - name: Session Restore
3549 description: Restoring a user's session after starting Firefox.
3551 - browser/components/sessionstore/**/*
3552 - toolkit/components/sessionstore/**/*
3561 - Firefox::Session Restore
3569 machine_name: session_restore
3572 description: The front-end settings user interface.
3574 - browser/components/preferences/**/*
3575 - browser/themes/*/preferences
3576 - toolkit/mozapps/preferences
3587 machine_name: settings_ui
3589 - name: Tabbed Browser
3590 description: The UI component controlling browser tabs.
3592 - browser/base/content/tabbrowser*
3593 - browser/base/content/browser-allTabsMenu.js
3594 - browser/base/content/browser-ctrlTab.js
3595 - browser/base/content/browser-fullZoom.js
3596 - browser/modules/AsyncTabSwitcher.sys.mjs
3597 - browser/modules/NewTabPagePreloading.sys.mjs
3598 - browser/modules/OpenInTabsUtils.sys.mjs
3599 - browser/modules/TabsList.sys.mjs
3600 - browser/modules/TabUnloader.sys.mjs
3603 - Firefox::Tabbed Browser
3612 machine_name: tabbed_browser
3614 - name: Windows Installer
3615 description: The installer for Windows.
3617 - browser/installer/**/*
3618 - toolkit/mozapps/installer/**/*
3621 - Firefox::Installer
3627 machine_name: windows_installer
3628 machine_name: desktop_firefox
3630 - machine_name: devtools
3632 description: Mozilla Developer Tools
3658 - Steve Fink (heapsnapshot code)
3668 - Panagiotis Astithas
3686 url: http://firefox-dev.tools/
3689 - machine_name: javascript_usage
3690 name: JavaScript usage, tools, and style
3691 description: Aspects of JavaScript use such as language feature usage, tooling
3692 such as lint configurations, formatting and naming style.
3694 - .eslintrc-test-paths.js
3695 - '**/.eslintignore'
3697 - tools/lint/eslint/**/*
3714 - machine_name: mozharness
3716 description: Configuration-driven script harness.
3718 - testing/mozharness/**/*
3731 - 'Release Engineering :: Applications: MozharnessCore'
3732 - machine_name: python_usage
3733 name: Python usage, tools, and style
3734 description: Aspects of Python use such as tooling, formatting and naming style
3736 - tools/lint/python/**/*
3746 - 'Developer Infrastructure :: Lint and Formatting'
3748 - machine_name: remote_protocol
3749 name: Remote Protocol
3750 description: Low-level remote protocol exposing interfaces for inspecting state
3751 and controlling execution of web documents, instrumenting various subsystems
3752 in the browser, simulating user interaction for automation purposes, and for
3753 subscribing to updates from the aforementioned.
3759 url: https://firefox-source-docs.mozilla.org/remote/
3768 - machine_name: remote_protocol_agent
3770 description: Underlying transport layer and server to allow remoting of Firefox
3771 for automation and debugging.
3776 - remote/marionette/*
3777 - remote/webdriver-bidi/*
3782 - Maja Frydrychowicz
3786 - 'Remote Protocol :: Agent'
3794 - machine_name: remote_protocol_cdp
3796 description: The core implementation for CDP support. Please file domain specific
3797 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3804 - Maja Frydrychowicz
3808 - 'Remote Protocol :: CDP'
3816 - machine_name: remote_protocol_marionette
3818 description: Marionette is a remote protocol that lets out-of-process programs
3819 communicate with, instrument, and control Gecko-based browsers. Combined
3820 with geckodriver, this forms our WebDriver classic implementation.
3822 - remote/marionette/*
3827 - Maja Frydrychowicz
3830 - 'Remote Protocol :: Marionette'
3831 group: dev-webdriver
3839 - machine_name: remote_protocol_webdriver_bidi
3840 name: WebDriver BiDi
3841 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3843 - remote/webdriver-bidi/*
3846 - 'Remote Protocol :: WebDriver BiDi'
3847 group: dev-webdriver
3855 - machine_name: sync
3857 description: Firefox Sync client
3859 - services/sync/**/*
3872 url: https://wiki.mozilla.org/Services/Process/Code_Review
3876 - machine_name: testing_firefox_ui
3878 description: Firefox UI test framework.
3880 - testing/firefox-ui/**/*
3883 - Maja Frydrychowicz
3885 - 'Testing :: Firefox UI'
3893 - machine_name: testing_geckodriver
3895 description: Proxy for using W3C WebDriver-compatible clients to interact with
3896 Gecko-based browsers.
3898 - testing/geckodriver/**/*
3906 - 'Testing :: geckodriver'
3907 group: dev-webdriver
3909 - machine_name: testing_gtest
3911 description: GTest test harness.
3913 - testing/gtest/**/*
3920 - 'Testing :: GTest'
3922 - machine_name: testing_marionette_client_harness
3923 name: Marionette Client & Harness
3924 description: Python client and harness for the Marionette remote protocol implementation.
3926 - testing/marionette/**/*
3931 - Maja Frydrychowicz
3934 - 'Testing :: Marionette Client & Harness'
3942 - machine_name: testing_mochitest
3944 description: Mochitest test framework
3946 - testing/mochitest/**/*
3955 - 'Testing :: Mochitest'
3956 - machine_name: testing_mozbase
3958 description: Base modules used for implementing test components.
3972 - 'Testing :: Mozbase'
3973 - 'Testing :: Mozbase Rust'
3974 - machine_name: testing_performance_testing
3975 name: Performance Testing
3977 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3978 MozPerfTest, AWSY, JSShell, mach try perf, etc.. See our PerfDocs for more information on
3979 the owners/peers of the various components (linked below).
3981 - testing/raptor/**/*
3982 - testing/talos/**/*
3983 - python/mozperftest/**/*
3985 - testing/jsshell/**/*
3986 - tools/lint/perfdocs/**/*
3987 - testing/perfdocs/**/*
3988 - testing/performance/**/*
3989 - testing/condprofile/**/*
3990 - tools/browsertime/**/*
3991 - tools/tryselect/selectors/perf.py
4001 - 'Testing :: Raptor'
4002 - 'Testing :: Talos'
4004 - 'Testing :: Performance'
4005 - 'Testing :: mozperftest'
4006 - 'Testing :: Condprofile'
4007 url: :ref:`Performance Testing`
4008 - machine_name: testing_reftest
4009 name: Reftest (+ jsreftest + crashtest)
4010 description: Reftest test framework
4012 - layout/tools/reftest/**/*
4021 - 'Testing :: Reftest'
4022 - machine_name: testing_tryselect
4024 description: Frontend for selecting jobs on the try server.
4026 - tools/tryselect/**/*
4035 - 'Developer Infrastructure :: Try'
4036 - machine_name: testing_web_platform_tests_infrastructure
4037 name: web-platform-tests infrastructure
4038 description: Infrastructure for running the cross-browser web-platform-tests
4040 - testing/web-platform/**/*
4041 - testing/web-platform/tests/tools/**/*
4043 - testing/web-platform/tests/**/*
4044 - testing/web-platform/meta/**/*
4045 - testing/web-platform/mozilla/**/*
4051 - 'Testing :: web-platform-tests'
4052 - machine_name: testing_xpcshell
4054 description: XPCShell test harness.
4056 - testing/xpcshell/**/*
4064 - Testing::XPCShell Harness
4066 description: Components shared between desktop and mobile browsers.
4083 - name: Application Startup
4084 description: The profile system and startup process before the front-end launches.
4086 - toolkit/profile/**/*
4087 - toolkit/components/remote/**/*
4094 machine_name: application_startup
4098 The core infrastructure in the Firefox client to send back telemetry
4099 data. Includes the common mechanisms to record, view and submit data: Legacy
4100 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4101 does ''not'' include responsibility for every piece of submitted Telemetry
4102 data. Each team/module is responsible for their own measurements (histograms,
4103 scalars, other ping submissions, etc.).
4105 - toolkit/components/glean/**/*
4106 - toolkit/components/telemetry/**/*
4107 - toolkit/content/aboutTelemetry.*
4112 url: :ref:`Telemetry`
4120 machine_name: telemetry
4123 description: The base widgets used throughout the UI.
4125 - toolkit/content/widgets/**/*
4137 machine_name: ui_widgets
4139 - name: Webextensions
4140 description: Webextension APIs and integration.
4142 - browser/components/extensions/**/*
4143 - toolkit/components/extensions/**/*
4155 machine_name: webextensions
4156 machine_name: toolkit
4157 - machine_name: url_classifier
4158 name: URL Classifier
4159 description: Database and list-based classification of URL resources, such as
4160 Tracking Protection and SafeBrowsing.
4162 - toolkit/components/url-classifier/**/*
4163 - netwerk/url-classifier/**/*
4172 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4173 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4181 config: e4da3d7c66a8363251a20f6cc684a59269e31e91
4182 export: 947138f76a52089e6c48e4f689dfe612158f3a88