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-01-28T14:50:15.474360'
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
80 name: Andrew Sutherland
88 name: Andrea Marchesini
104 name: Ben Dean-Kawamura
112 name: Benjamin Beurdouche
136 name: Hubert Boma Manilla
147 name: Bryce Seager van Dyk
158 name: Benjamin VanderSloot
170 name: Calixte Denizet
181 name: Nazım Can Altınova
193 name: Christoph Kerschbaumer
209 name: Daisuke Akatsuka
244 name: Alessio Placitelli
304 name: Emilio Cobos Álvarez
308 name: Masatoshi Kimura
330 name: Nick Fitzgerald
334 name: Francesco Lodolo
354 name: Gabriel Bustamante
362 name: Gian-Carlo Pascutto
389 name: Gabriele Svelto
397 name: Haik Aftandilian
405 name: Hiroyuki Ikezoe
417 name: Jan Honza Odvarko
441 name: Jan-Erik Rediger
457 name: Julian Descottes
485 name: Jan-Ivar Bruaroey
513 name: Jonathan Almeida
541 name: Jonathan Sudiaman
549 name: Jules Simplicio
556 name: Jean-Yves Avenard
608 name: Dzmitry Malyshau
620 name: Lougenia Bailey
636 name: Marco Castelluccio
652 name: Masayuki Nakano
664 name: Andrew McCreight
700 name: Morgan Reschenberg
736 name: Nicolas Chevobbe
748 name: Niklas Baumgardner
772 name: Alexandre Poirot
780 name: Andrew Overholt
800 name: Andreas Pehrson
808 name: Peter Van der Beken
848 name: Alexandra Borovova
872 name: Shravan Narayan
888 name: Greg Mierzwinski
900 name: Martin Stránský
907 name: Sylvestre Ledru
919 name: Teodor Tanasoaia
950 name: Toshihito Kikuchi
1001 name: Zibi Braniecki
1009 name: Tomislav Jovanovic
1012 - name: firefox-toplevel
1013 description: The top level directory for the Firefox/Gecko tree. Owned by the
1029 machine_name: _firefoxtoplevel
1031 - machine_name: code_coverage
1033 description: Tools for code coverage instrumentation, and coverage data parsing
1036 - tools/code-coverage/**/*
1037 - python/mozbuild/mozbuild/codecoverage/**/*
1038 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1047 - 'Testing :: Code Coverage'
1048 - name: 'Core: Accessibility'
1049 description: Support for platform accessibility APIs. Accessibility APIs are used
1050 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1051 software, which need information about document content and UI controls, as
1052 well as important events like changes of focus.
1066 group: dev-accessibility
1067 url: https://developer.mozilla.org/docs/Web/Accessibility
1069 - Core::Disability Access APIs
1076 machine_name: core_accessibility
1078 - name: 'Core: Animation'
1079 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1080 API, and off-main thread animations.'
1082 - dom/animation/**/*
1083 # TODO "and animation-related and interpolation-related code
1084 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1088 - Core::DOM::Animation
1089 - Core::CSS Transitions and Animations
1097 machine_name: core_animation
1099 - name: 'Core: Anti-Tracking'
1100 description: Tracking detection and content-blocking.
1102 - toolkit/components/antitracking/**/*
1103 # several files under browser/ and netwerk/url-classifier/ **TODO**
1113 - 'Core::Privacy: Anti-Tracking'
1120 machine_name: core_antitracking
1122 - name: 'Core: APZ (Graphics submodule)'
1123 description: Asynchronous panning and zooming
1125 - gfx/layers/apz/**/*
1132 url: https://wiki.mozilla.org/Platform/GFX/APZ
1134 - Core::Panning and Zooming
1142 machine_name: core_apz_graphics_submodule
1144 - name: 'Core: Browser WebAPI'
1145 description: Web API for rendering apps, browser windows and widgets.
1147 - dom/browser-element/**/*
1158 machine_name: core_browser_webapi
1160 - name: 'Core: Build and Release Tools'
1161 description: Tools related to build and release automation and configuration of
1164 - tools/update-packaging/**/*
1165 - tools/update-verify/**/*
1169 group: release-engineering
1170 url: https://wiki.mozilla.org/ReleaseEngineering
1172 - Release Engineering::*
1179 machine_name: core_build_and_release_tools
1181 - name: 'Core: Build Config'
1182 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1187 - python/mozbuild/**/*
1188 - browser/config/mozconfigs/**/*
1206 url: :ref:`Build System`
1208 - Core::Build Config
1215 - name: 'Core: Build Config - Fennec'
1216 description: Submodule of the build config covering Fennec's build system
1221 - Core::Build Config
1225 machine_name: core_build_config_fennec
1227 - name: 'Core: Build Config - Taskgraph'
1228 description: Support for task-graph generation in decision, action, and cron
1229 tasks, including configuration of all tasks including those for CI, nightlies,
1230 and releases; as well as Docker and VM images used to execute those tasks.
1235 - Firefox Build System::Task Configuration
1251 machine_name: core_build_config_taskgraph
1252 machine_name: core_build_config
1254 - name: 'Core: Code Analysis and Debugging Tools'
1255 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1256 and other characteristics of it.
1259 - tools/leak-gauge/**/*
1260 - tools/performance/**/*
1263 group: dev-performance
1268 machine_name: core_code_analysis_and_debugging_tools
1270 - name: 'Core: Content Security'
1271 description: 'Native content-based security features enforced in the ContentSecurityManager,
1272 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1273 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1274 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1275 and top-level data: URI blocking.'
1289 - 'Core::DOM: Security'
1296 machine_name: core_content_security
1298 - name: 'Core: Cookies'
1301 - netwerk/cookie/**/*
1310 - Christian Biesinger
1316 - 'Core::Networking: Cookies'
1325 machine_name: core_cookies
1327 - name: 'Core: Crash reporting'
1328 description: Infrastructure and tools used to generate, submit and process crash
1329 reports. This includes the in-tree google-breakpad fork, the crash report generation
1330 machinery as well as the host tools used to dump symbols, analyse minidumps
1331 and generate stack traces.
1333 - toolkit/crashreporter/**/*
1334 - toolkit/components/crashes/**/*
1335 - tools/crashreporter/**/*
1336 - ipc/glue/CrashReporter*
1337 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1342 url: :ref:`Crash Reporter`
1344 - Toolkit::Crash Reporting
1350 machine_name: core_crash_reporting
1352 - machine_name: core_credentials
1353 name: 'Core: Credentials'
1354 description: API Surface for FedCM and WebAuthn
1356 - toolkit/components/credentialmanagement/**/*
1357 - browser/components/credentialmanager/**/*
1358 - dom/credentialmanagement/**/*
1370 - 'Core::DOM: Credential Management'
1371 - 'Core::DOM: Web Authentication'
1373 - name: 'Core: C++/Rust usage, tools, and style'
1374 description: Aspects of C++ use such as language feature usage, standard library
1375 versions/usage, compiler/toolchain versions, formatting and naming style, and
1376 aspects of Rust use as needs arise
1378 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1379 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1380 # - docs/code-quality/**/*
1381 # - docs/testing-rust-code/**/*
1382 # - docs/writing-rust-code/**/*
1397 machine_name: core_crust_usage_tools_and_style
1399 - name: 'Core: Cycle Collector'
1400 description: Code to break and collect objects within reference cycles
1402 - xpcom/base/nsCycleCollect*
1403 # TODO "and some support headers"
1404 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1410 - Core::Cycle Collector
1416 machine_name: core_cycle_collector
1418 - name: 'Core: DLL Services'
1419 description: Windows dynamic linker instrumentation and blocking
1421 - toolkit/xre/dllservices/**/*
1427 - Core::DLL Services
1432 machine_name: core_dll_services
1434 - name: 'Core: docshell'
1438 - uriloader/base/**/*
1444 - Christian Biesinger
1450 - Core::DOM: Navigation
1457 machine_name: core_docshell
1459 - name: 'Core: Document Object Model'
1463 exclude_module_paths: true
1480 url: http://developer.mozilla.org/en/docs/DOM
1483 - 'Core::DOM: Core & HTML'
1484 review_group: dom-core
1500 machine_name: core_document_object_model
1502 - name: 'Core: DOM File'
1503 description: DOM Blob, File and FileSystem APIs
1506 - dom/filesystem/**/*
1509 url: http://developer.mozilla.org/en/docs/DOM
1516 machine_name: core_dom_file
1518 - machine_name: core_dom_streams
1519 name: 'Core: DOM Streams'
1520 description: Streams Specification implementation
1531 url: http://developer.mozilla.org/en/docs/DOM
1534 - 'Core::DOM: Streams'
1537 - name: 'Core: Editor'
1552 machine_name: core_editor
1554 - name: 'Core: Event Handling'
1555 description: DOM Events and Event Handling
1558 # TODO "and event handling related code elsewhere"
1563 url: http://developer.mozilla.org/en/docs/DOM
1565 - 'Core::DOM: Events'
1566 - 'Core::DOM: UI Events & Focus Handling'
1572 machine_name: core_event_handling
1574 - machine_name: core_firefox_source_documentation
1575 name: 'Core: Firefox Source Documentation'
1576 description: The infrastructure platform used to generate Firefox's source documentation,
1577 excluding editorial control over the content.
1580 - tools/moztreedocs/
1587 - Developer Infrastructure::Source Documentation
1588 url: https://firefox-source-docs.mozilla.org/
1589 - name: 'Core: Gecko Profiler'
1590 description: Gecko's built-in profiler
1592 - tools/profiler/**/*
1593 - mozglue/baseprofiler/**/*
1598 - Shu-yu Guo (JS integration)
1599 - Thinker Lee (TaskTracer)
1600 - Cervantes Yu (TaskTracer)
1601 - Nicholas Nethercote
1607 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1609 - Core::Gecko Profiler
1616 machine_name: core_gecko_profiler
1618 - name: 'Core: GeckoView'
1619 description: Framework for embedding Gecko into Android applications
1621 - mobile/android/**/*
1622 - widget/android/**/*
1634 url: https://wiki.mozilla.org/Mobile/GeckoView
1636 - GeckoView::General
1644 machine_name: core_geckoview
1646 - name: 'Core: Global Key Bindings'
1647 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1648 and the like, as those are part of i18n.
1651 # TODO "and platform specific directories under it"
1653 group: dev-accessibility
1654 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1656 - 'Core::Keyboard: Navigation'
1661 machine_name: core_global_key_bindings
1663 - name: 'Core: Graphics'
1664 description: Mozilla graphics API
1672 - Benoit Girard(Compositor, Performance)
1674 - George Wright(Canvas2D)
1678 - John Daggett(text/fonts)
1679 - Benoit Jacob(gfx/gl)
1681 - Vladimir Vukicevic
1682 - James Willcox(Android)
1686 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1687 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1690 - 'Core::Graphics: Layers'
1691 - 'Core::Graphics: Text'
1692 - 'Core::Graphics: WebRender'
1693 - 'Core::GFX: Color Management'
1694 - 'Core::Canvas: 2D'
1695 - 'Core::Canvas: WebGL'
1709 machine_name: core_graphics
1712 description: Hardware Abstraction Layer
1718 - Core::Hardware Abstraction Layer (HAL)
1722 machine_name: core_hal
1724 - name: 'Core: HTML Parser'
1725 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1726 to the HTML specification, and is mostly translated automatically from Java
1732 url: http://about.validator.nu/
1734 - 'Core::HTML: Parser'
1739 machine_name: core_html_parser
1741 - name: 'Core: I18N Library'
1750 url: :ref:`Internationalization`
1752 - Core::Internationalization
1760 machine_name: core_i18n_library
1762 - name: 'Core: ImageLib'
1765 - media/libjpeg/**/*
1782 machine_name: core_imagelib
1784 - name: 'Core: IndexedDB'
1787 - dom/indexedDB/**/*
1795 url: https://developer.mozilla.org/en/IndexedDB
1797 - 'Core::DOM: IndexedDB'
1798 review_group: dom-storage-reviewers
1805 machine_name: core_indexeddb
1808 description: Native message-passing between threads and processes
1829 review_group: ipc-reviewers
1836 machine_name: core_ipc
1838 - name: 'Core: JavaScript'
1839 description: JavaScript engine (SpiderMonkey)
1863 - Nicholas Nethercote
1868 url: https://spidermonkey.dev/
1870 - Core::JavaScript Engine
1871 - 'Core::JavaScript: GC'
1872 - 'Core::JavaScript: Internationalization API'
1873 - 'Core::JavaScript: Standard Library'
1874 - 'Core::JavaScript: WebAssembly'
1896 machine_name: core_javascript
1898 - name: 'Core: JavaScript JIT'
1899 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1913 url: https://spidermonkey.dev/
1915 - 'Core::JavaScript Engine: JIT'
1925 machine_name: core_javascript_jit
1927 - name: 'Core: Layout Engine'
1928 description: rendering tree construction, layout (reflow), etc.
1934 - layout/generic/**/*
1935 - layout/printing/**/*
1936 - layout/tables/**/*
1947 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1950 - 'Core::Layout: Block and Inline'
1951 - 'Core::Layout: Columns'
1952 - 'Core::Layout: Flexbox'
1953 - 'Core::Layout: Floats'
1954 - 'Core::Layout: Form Controls'
1955 - 'Core::Layout: Generated Content, Lists, and Counters'
1956 - 'Core::Layout: Grid'
1957 - 'Core::Layout: Images, Video, and HTML Frames'
1958 - 'Core::Layout: Positioned'
1959 - 'Core::Layout: Ruby'
1960 - 'Core::Layout: Scrolling and Overflow'
1961 - 'Core::Layout: Tables'
1962 - 'Core::Layout: Text and Fonts'
1963 - Core::Print Preview
1964 - 'Core::Printing: Output'
1974 machine_name: core_layout_engine
1976 - name: 'Core: Legacy HTML Parser'
1979 - parser/htmlparser/**/*
1986 url: http://www.mozilla.org/newlayout/doc/parser.html
1988 - 'Core::HTML: Parser'
1993 machine_name: core_legacy_html_parser
1995 - name: 'Core: libjar'
1996 description: The JAR handling code (protocol handler, stream implementation, and
1997 zipreader/zipwriter).
1999 - modules/libjar/**/*
2009 - 'Core::Networking: JAR'
2015 machine_name: core_libjar
2017 - name: 'Core: MathML'
2018 description: MathML is a low-level specification for describing mathematics which
2019 provides a foundation for the inclusion of mathematical expressions in Web pages.
2021 - layout/mathml/**/*
2023 group: dev-tech-mathml
2024 url: https://developer.mozilla.org/docs/Web/MathML
2036 machine_name: core_mathml
2038 - name: 'Core: Media Playback'
2039 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2040 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2043 - media/gmp-clearkey/**/*
2044 - media/libcubeb/**/*
2045 - media/libnestegg/**/*
2047 - media/libopus/**/*
2048 - media/libtheora/**/*
2049 - media/libtremor/**/*
2050 - media/libvorbis/**/*
2052 - dom/media/platforms/omx/**/*
2053 - dom/media/gmp/rlz/**/*
2068 machine_name: core_media_playback
2070 - name: 'Core: Media Transport'
2071 description: Pluggable transport for real-time media
2073 - dom/media/webrtc/transport/**/*
2077 - Core::WebRTC::Networking
2086 machine_name: core_media_transport
2088 - name: 'Core: Memory Allocator'
2089 description: Most things related to memory allocation in Gecko, including jemalloc,
2090 replace-malloc, DMD (dark matter detector), logalloc, etc.
2096 - Nicholas Nethercote
2104 machine_name: core_memory_allocator
2106 - name: 'Core: mfbt'
2107 description: mfbt is a collection of headers, macros, data structures, methods,
2108 and other functionality available for use and reuse throughout all Mozilla code
2109 (including SpiderMonkey and Gecko more broadly).
2123 machine_name: core_mfbt
2125 - name: 'Core: Moz2D (Graphics submodule)'
2126 description: Platform independent 2D graphics API
2131 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2139 machine_name: core_moz2d_graphics_submodule
2141 - name: 'Core: Mozglue'
2142 description: Glue library containing various low-level functionality, including
2143 a dynamic linker for Android, a DLL block list for Windows, etc.
2151 - Kartikaya Gupta (mozglue/android)
2156 machine_name: core_mozglue
2158 - name: 'Core: MSCOM'
2159 description: Integration with Microsoft Distributed COM
2170 - 'Core::IPC: MSCOM'
2176 machine_name: core_mscom
2178 - name: 'Core: Necko'
2179 description: The Mozilla Networking Library
2183 - netwerk/build/**/*
2184 - netwerk/cache2/**/*
2186 - netwerk/locales/**/*
2188 - netwerk/protocol/**/*
2189 - netwerk/socket/**/*
2190 - netwerk/streamconv/**/*
2191 - netwerk/system/**/*
2196 - dom/websocket/**/*
2197 - uriloader/prefetch/**/*
2198 - uriloader/preload/**/*
2201 - Dragana Damjanovic
2203 - Christian Biesinger
2214 group: dev-tech-network
2215 url: :ref:`Networking`
2218 - 'Core::Networking: Cache'
2219 - 'Core::Networking: Cookies'
2220 - 'Core::Networking: FTP'
2221 - 'Core::Networking: File'
2222 - 'Core::Networking: HTTP'
2223 - 'Core::Networking: JAR'
2224 - 'Core::Networking: Websockets'
2225 - 'Core::DOM: Networking'
2231 machine_name: core_necko
2233 - name: 'Core: NodeJS usage, tools, and style'
2234 description: Advises on the use of NodeJS and npm packages at build and runtime.
2235 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2236 teams to maintain automated license and security audits of npm packages. Works
2237 with the security team and relevant developers to respond to vulnerabilities
2238 in NodeJS and vendored npm packages.
2243 # TODO: and others as appropriate
2247 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2257 machine_name: core_nodejs_usage_tools_and_style
2259 - name: 'Core: NSPR'
2260 description: Netscape Portable Runtime
2266 group: dev-tech-nspr
2274 machine_name: core_nspr
2277 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2280 - toolkit/components/pdfjs/**/*
2288 url: https://github.com/mozilla/pdf.js
2295 machine_name: core_pdf
2297 - name: 'Core: Permissions'
2300 - extensions/permissions/**/*
2309 - Christian Biesinger
2316 - 'Core :: Permission Manager'
2317 review_group: permissions-reviewers
2322 machine_name: core_permissions
2324 - name: 'Core: Plugins'
2325 description: ' NPAPI Plugin support.'
2337 url: https://wiki.mozilla.org/Plugins
2342 machine_name: core_plugins
2344 - name: 'Core: Preferences'
2345 description: Preference library
2347 - modules/libpref/**/*
2350 - Nicholas Nethercote
2356 - 'Core::Preferences: Backend'
2362 machine_name: core_preferences
2364 - name: 'Core: Private Browsing'
2365 description: Implementation of the Private Browsing mode, and the integration
2366 of other modules with Private Browsing APIs.
2369 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2370 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2378 url: https://wiki.mozilla.org/Private_Browsing
2380 - Firefox::Private Browsing
2385 machine_name: core_private_browsing
2387 - name: 'Core: Privilege Manager'
2388 description: Caps is the capabilities-based security system.
2398 url: http://www.mozilla.org/projects/security/components/index.html
2400 - 'Core::Security: CAPS'
2405 machine_name: core_privilege_manager
2407 - name: 'Core: Push Notifications'
2408 description: Push is a way for application developers to send messages to their
2418 - Dragana Damjanovic
2420 - 'Core::DOM: Notifications'
2423 machine_name: core_push_notifications
2425 - name: 'Core: Sandboxing (Linux)'
2426 description: Sandboxing for the Linux platform
2428 - security/sandbox/linux/**/*
2431 url: https://wiki.mozilla.org/Security/Sandbox
2433 - 'Core::Security: Process Sandboxing'
2438 machine_name: core_sandboxing_linux
2440 - name: 'Core: Sandboxing (OSX)'
2441 description: Sandboxing for the OSX platform
2443 - security/sandbox/mac/**/*
2446 url: https://wiki.mozilla.org/Security/Sandbox
2448 - 'Core::Security: Process Sandboxing'
2452 machine_name: core_sandboxing_osx
2454 - name: 'Core: Sandboxing (Windows)'
2455 description: Sandboxing for the Windows platform
2457 - security/sandbox/win/**/*
2467 url: https://wiki.mozilla.org/Security/Sandbox
2469 - 'Core::Security: Process Sandboxing'
2474 machine_name: core_sandboxing_windows
2476 - name: 'Core: security'
2477 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2490 group: dev-tech-crypto
2491 url: :ref:`Network Security Services (NSS)`
2496 - 'Core::Security: S/MIME'
2509 machine_name: core_security
2511 - name: 'Core: Security - Mozilla PSM Glue'
2512 description: Personal Security Manager
2514 - security/manager/**/*
2517 - Kai Engert (2001-2012)
2518 group: dev-tech-crypto
2520 - 'Core::Security: PSM'
2529 machine_name: core_security_mozilla_psm_glue
2531 - machine_name: core_security_rlbox
2532 name: Security - RLBox
2533 description: Sandboxing using WASM/RLBox libraries.
2537 - third_party/rlbox_wasm2c_sandbox
2547 - 'Core::Security: RLBox'
2548 - name: 'Core: Static analysis & rewriting for C++'
2549 description: Tools for checking C++ code looking for problems at compile time,
2550 plus tools for automated rewriting of C++ code.
2552 - build/clang-plugin/**/*
2553 - tools/rewriting/**/*
2554 # TODO among other out of tree tools
2557 - Birunthan Mohanathas
2561 - Core::Rewriting & Analysis
2568 machine_name: core_static_analysis_rewriting_for_c
2570 - name: 'Core: storage'
2571 description: Storage APIs with a SQLite backend
2573 - third_party/sqlite3/**/*
2577 url: http://developer.mozilla.org/en/docs/Storage
2579 - Toolkit::Storage, Core::SQL
2587 machine_name: core_storage
2589 - name: 'Core: String'
2594 group: dev-tech-xpcom
2595 url: :ref:`String Guide`
2604 machine_name: core_string
2606 - name: 'Core: Style System'
2607 description: CSS style sheet handling; style data computation
2618 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2620 - Core::CSS Parsing and Computation
2621 - 'Core::DOM: CSS Object Model'
2627 machine_name: core_style_system
2630 description: Scalable Vector Graphics
2637 url: https://developer.mozilla.org/docs/Web/SVG
2648 machine_name: core_svg
2650 - name: 'Core: UA String'
2651 description: User Agent String
2653 - netwerk/protocol/http/**/*
2656 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2658 - 'Core::Networking: HTTP'
2664 machine_name: core_ua_string
2666 - name: 'Core: View System'
2667 description: The View Manager is responsible for handling "heavyweight" rendering
2668 (some clipping, compositing) and event handling tasks.
2679 - 'Core::Layout: View Rendering'
2684 machine_name: core_view_system
2686 - name: 'Core: Web Audio'
2687 description: Support for the W3C Web Audio API specification.
2689 - dom/media/webaudio/**/*
2696 url: https://wiki.mozilla.org/Web_Audio_API
2703 machine_name: core_web_audio
2705 - name: 'Core: Web Painting'
2706 description: painting, display lists, and layer construction
2708 - layout/painting/**/*
2709 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2712 url: :ref:`Layout & CSS`
2714 - 'Core::Layout: Web Painting'
2726 machine_name: core_web_painting
2728 - name: 'Core: Web Workers'
2742 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2744 - 'Core::DOM: Workers'
2745 review_group: dom-worker-reviewers
2750 machine_name: core_web_workers
2752 - name: 'Core: WebGPU (Graphics submodule)'
2753 description: WebGPU implementation
2756 - gfx/wgpu_bindings/**/*
2757 - third_party/rust/naga/**/*
2758 - third_party/rust/wgpu-core/**/*
2759 - third_party/rust/wgpu-hal/**/*
2760 - third_party/rust/wgpu-types/**/*
2761 - testing/web-platform/tests/webgpu/**/*
2762 - testing/web-platform/meta/webgpu/**/*
2763 - testing/web-platform/mozilla/tests/webgpu/**/*
2764 - testing/web-platform/mozilla/meta/webgpu/**/*
2767 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2769 - Core::Graphics::WebGPU
2770 review_group: webgpu-reviewers
2782 machine_name: core_webgpu_graphics_submodule
2784 - name: 'Core: WebRTC'
2785 description: WebRTC is responsible for realtime audio and video communication,
2786 as well as related issues like low-level camera and microphone access
2789 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2796 url: https://wiki.mozilla.org/Media/webrtc
2799 - Core::WebRTC Networking
2804 machine_name: core_webrtc
2806 - name: 'Core: WebVR'
2807 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2808 including API, devices, graphics and integration
2814 - Vladimir Vukicevic
2817 url: https://mozvr.com/
2826 - name: 'Core: WebRTC Media'
2827 description: Submodule of WebRTC responsible for access to media input devices
2828 (microphones, cameras, screen capture), as well as realtime audiovisual
2829 codecs and packetization.
2832 - dom/media/webrtc/**/*
2833 - dom/media/systemservices/**/*
2839 url: https://wiki.mozilla.org/Media/webrtc
2841 - Core::WebRTC (Audio/Video)
2848 machine_name: core_webrtc_media
2850 - name: 'Core: WebRTC Signaling'
2851 description: Submodule of WebRTC responsible for implementation of PeerConnection
2852 API, WebRTC identity, and SDP/JSEP handling
2854 - media/webrtc/signaling/**/*
2862 url: https://wiki.mozilla.org/Media/webrtc
2864 - Core::WebRTC (Signaling)
2869 machine_name: core_webrtc_signaling
2870 machine_name: core_webvr
2872 - name: 'Core: Widget'
2873 description: Top level Widget
2878 - Vladimir Vukicevic
2885 - Core::Drag and Drop
2887 - 'Core::Printing: Setup'
2890 machine_name: core_widget
2892 - name: 'Core: Widget - Android'
2893 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2898 machine_name: core_widget_android
2900 - name: 'Core: Widget - GTK'
2901 description: GTK widget support
2908 url: http://www.mozilla.org/ports/gtk/
2910 - 'Core::Widget: Gtk'
2915 machine_name: core_widget_gtk
2917 - name: 'Core: Widget - Headless'
2918 description: Headless widget support
2920 - widget/headless/**/*
2929 machine_name: core_widget_headless
2931 - name: 'Core: Widget - macOS'
2932 description: ' macOS widget support'
2945 - 'Core::Widget: Cocoa'
2951 machine_name: core_widget_macos
2953 - name: 'Core: Widget - Windows'
2954 description: Windows widget support
2956 - widget/windows/**/*
2962 - Vladimir Vukicevic
2965 - Christian Biesinger
2967 - Josh 'timeless' Soref
2974 - 'Core::Widget: Win32'
2980 machine_name: core_widget_windows
2983 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2984 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2985 that are not covered by more specific projects.
3001 machine_name: core_xml
3003 - name: 'Core: XPApps'
3004 description: Cross-Platform Applications, mostly Navigator front end and application
3009 group: dev-apps-seamonkey
3013 - Josh 'timeless' Soref
3016 machine_name: core_xpapps
3018 - name: 'Core: XPCOM'
3019 description: The cross-platform object model and core data structures.
3025 - xpcom/components/**/*
3029 - xpcom/reflect/**/*
3033 - xpcom/threads/**/*
3034 - xpcom/windbgdlg/**/*
3046 review_group: xpcom-reviewers
3056 machine_name: core_xpcom
3058 - name: 'Core: XPConnect'
3059 description: Deep Magic
3078 machine_name: core_xpconnect
3080 - name: 'Core: XPIDL'
3081 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3082 runtime type description files from .idl interface description files.
3084 - xpcom/idl-parser/**/*
3091 - Josh 'timeless' Soref
3092 group: dev-tech-xpcom
3098 machine_name: core_xpidl
3100 - name: 'Core: XSLT Processor'
3101 description: XSLT transformations processor
3109 group: dev-tech-xslt
3110 url: https://developer.mozilla.org/docs/Web/XSLT
3116 machine_name: core_xslt_processor
3118 - name: Desktop Firefox
3119 description: Standalone Web Browser.
3132 - Tim Guan-tin Chien
3142 - Matthew Noorenberghe
3164 - name: Add-ons Manager
3165 description: Extension management back-end.
3167 - toolkit/mozapps/extensions/**/*
3181 machine_name: addons_manager
3183 - name: Add-ons Manager UI
3184 description: about:addons.
3186 - toolkit/mozapps/extensions/content/**/*
3199 machine_name: addons_manager_ui
3201 - name: Application Update
3202 description: The application update services.
3204 - toolkit/mozapps/update/**/*
3209 machine_name: application_update
3215 - name: Bookmarks & History
3216 description: The bookmarks and history services (Places).
3218 - browser/components/places/**/*
3219 - toolkit/components/places/**/*
3228 - Firefox::Bookmarks & History
3230 review_group: places-reviewers
3238 machine_name: bookmarks_history
3240 - name: Desktop Theme
3241 description: The style rules used in the desktop UI.
3243 - browser/themes/**/*
3244 - toolkit/themes/**/*
3259 machine_name: desktop_theme
3262 description: The main browser UI except where covered by more specific submodules.
3264 - 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/**/*
3339 - name: Form Autofill
3340 description: Form detection and autocomplete.
3342 - browser/extensions/formautofill/**/*
3343 - toolkit/components/satchel/**/*
3346 - Matthew Noorenberghe
3352 machine_name: form_autofill
3354 - name: In-product Messaging
3355 description: The system for delivering in-product messaging and onboarding
3356 including Activity Stream Router, about:welcome, UI tour.
3358 - browser/components/asrouter/**/*
3359 - browser/components/aboutwelcome/**/*
3360 - browser/components/uitour/**/*
3361 - toolkit/components/messaging-system/**/*
3364 - Firefox::Messaging System
3378 machine_name: inproduct_messaging
3380 - name: Launcher Process
3381 description: Windows process for bootstrapping the browser process.
3383 - browser/app/winlauncher/**/*
3389 - Firefox::Launcher Process
3396 machine_name: launcher_process
3398 - machine_name: localization
3400 description: Tooling to enable translation and facilitate localization.
3408 - name: New Tab Page
3409 description: The new tab/home page.
3411 - browser/components/newtab/**/*
3414 - Firefox::New Tab Page
3424 machine_name: new_tab_page
3426 - name: Password Manager
3427 description: Managing, saving and filling logins.
3429 - toolkit/components/passwordmgr/**/*
3430 - browser/components/aboutlogins/**/*
3433 - Matthew Noorenberghe
3438 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3440 - Toolkit::Password Manager
3441 - 'Toolkit::Password Manager: Site'
3443 - Firefox::about:logins
3450 machine_name: password_manager
3452 - machine_name: firefox_pip
3453 name: Picture-in-Picture
3454 description: A component that allows video elements to be pulled out into
3455 an always-on-top window.
3457 - toolkit/components/pictureinpicture
3458 - browser/extensions/pictureinpicture
3468 - name: Profile Migration
3469 description: Migrating data from other browsers.
3471 - browser/components/migration/**/*
3479 machine_name: profile_migration
3482 description: Code relating to Screenshots functionality
3484 - browser/extensions/screenshots/**/*
3485 - browser/components/screenshots/**/*
3493 - Firefox::Screenshots
3499 machine_name: screenshots
3501 - name: Search and Address Bar
3502 description: The search service, address bar and address bar autocomplete.
3504 - browser/components/search/**/*
3505 - browser/components/urlbar/**/*
3506 - toolkit/components/search/**/*
3509 - Firefox::Address Bar
3522 machine_name: search_and_address_bar
3524 - name: Security and Privacy UI
3525 description: The front-end to our security and privacy features, including
3526 Protections UI, Site Identity, Site Permissions and Certificate Errors
3528 - browser/components/protections/**/*
3529 - browser/components/controlcenter/**/*
3533 - Nihanth Subramanya
3539 - Firefox::Protections UI
3540 - Firefox::Site Identity
3541 - Firefox::Site Permissions
3544 machine_name: security_and_privacy_ui
3546 - name: Session Restore
3547 description: Restoring a user's session after starting Firefox.
3549 - browser/components/sessionstore/**/*
3550 - toolkit/components/sessionstore/**/*
3560 - Firefox::Session Restore
3567 machine_name: session_restore
3570 description: The front-end settings user interface.
3572 - browser/components/preferences/**/*
3573 - browser/themes/*/preferences
3574 - toolkit/mozapps/preferences
3586 machine_name: settings_ui
3588 - name: Tabbed Browser
3589 description: The UI component controlling browser tabs.
3591 - browser/base/content/tabbrowser*
3592 - browser/base/content/browser-allTabsMenu.js
3593 - browser/base/content/browser-ctrlTab.js
3594 - browser/base/content/browser-fullZoom.js
3595 - browser/modules/AsyncTabSwitcher.sys.mjs
3596 - browser/modules/NewTabPagePreloading.sys.mjs
3597 - browser/modules/OpenInTabsUtils.sys.mjs
3598 - browser/modules/TabsList.sys.mjs
3599 - browser/modules/TabUnloader.sys.mjs
3602 - Firefox::Tabbed Browser
3611 machine_name: tabbed_browser
3613 - name: Windows Installer
3614 description: The installer for Windows.
3616 - browser/installer/**/*
3617 - toolkit/mozapps/installer/**/*
3620 - Firefox::Installer
3626 machine_name: windows_installer
3627 machine_name: desktop_firefox
3629 - machine_name: devtools
3631 description: Mozilla Developer Tools
3657 - Steve Fink (heapsnapshot code)
3667 - Panagiotis Astithas
3685 url: http://firefox-dev.tools/
3688 - machine_name: javascript_usage
3689 name: JavaScript usage, tools, and style
3690 description: Aspects of JavaScript use such as language feature usage, tooling
3691 such as lint configurations, formatting and naming style.
3693 - .eslintrc-test-paths.js
3694 - '**/.eslintignore'
3696 - tools/lint/eslint/**/*
3713 - machine_name: mozharness
3715 description: Configuration-driven script harness.
3717 - testing/mozharness/**/*
3730 - 'Release Engineering :: Applications: MozharnessCore'
3731 - machine_name: python_usage
3732 name: Python usage, tools, and style
3733 description: Aspects of Python use such as tooling, formatting and naming style
3735 - tools/lint/python/**/*
3745 - 'Developer Infrastructure :: Lint and Formatting'
3747 - machine_name: remote_protocol
3748 name: Remote Protocol
3749 description: Low-level remote protocol exposing interfaces for inspecting state
3750 and controlling execution of web documents, instrumenting various subsystems
3751 in the browser, simulating user interaction for automation purposes, and for
3752 subscribing to updates from the aforementioned.
3758 url: https://firefox-source-docs.mozilla.org/remote/
3767 - machine_name: remote_protocol_agent
3769 description: Underlying transport layer and server to allow remoting of Firefox
3770 for automation and debugging.
3775 - remote/marionette/*
3776 - remote/webdriver-bidi/*
3781 - Maja Frydrychowicz
3785 - 'Remote Protocol :: Agent'
3793 - machine_name: remote_protocol_cdp
3795 description: The core implementation for CDP support. Please file domain specific
3796 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3803 - Maja Frydrychowicz
3807 - 'Remote Protocol :: CDP'
3815 - machine_name: remote_protocol_marionette
3817 description: Marionette is a remote protocol that lets out-of-process programs
3818 communicate with, instrument, and control Gecko-based browsers. Combined
3819 with geckodriver, this forms our WebDriver classic implementation.
3821 - remote/marionette/*
3826 - Maja Frydrychowicz
3829 - 'Remote Protocol :: Marionette'
3830 group: dev-webdriver
3838 - machine_name: remote_protocol_webdriver_bidi
3839 name: WebDriver BiDi
3840 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3842 - remote/webdriver-bidi/*
3845 - 'Remote Protocol :: WebDriver BiDi'
3846 group: dev-webdriver
3854 - machine_name: sync
3856 description: Firefox Sync client
3858 - services/sync/**/*
3871 url: https://wiki.mozilla.org/Services/Process/Code_Review
3875 - machine_name: testing_firefox_ui
3877 description: Firefox UI test framework.
3879 - testing/firefox-ui/**/*
3882 - Maja Frydrychowicz
3884 - 'Testing :: Firefox UI'
3892 - machine_name: testing_geckodriver
3894 description: Proxy for using W3C WebDriver-compatible clients to interact with
3895 Gecko-based browsers.
3897 - testing/geckodriver/**/*
3905 - 'Testing :: geckodriver'
3906 group: dev-webdriver
3908 - machine_name: testing_gtest
3910 description: GTest test harness.
3912 - testing/gtest/**/*
3919 - 'Testing :: GTest'
3921 - machine_name: testing_marionette_client_harness
3922 name: Marionette Client & Harness
3923 description: Python client and harness for the Marionette remote protocol implementation.
3925 - testing/marionette/**/*
3930 - Maja Frydrychowicz
3933 - 'Testing :: Marionette Client & Harness'
3941 - machine_name: testing_mochitest
3943 description: Mochitest test framework
3945 - testing/mochitest/**/*
3954 - 'Testing :: Mochitest'
3955 - machine_name: testing_mozbase
3957 description: Base modules used for implementing test components.
3971 - 'Testing :: Mozbase'
3972 - 'Testing :: Mozbase Rust'
3973 - machine_name: testing_performance_testing
3974 name: Performance Testing
3976 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3977 MozPerfTest, AWSY, JSShell, mach try perf, etc.. See our PerfDocs for more information on
3978 the owners/peers of the various components (linked below).
3980 - testing/raptor/**/*
3981 - testing/talos/**/*
3982 - python/mozperftest/**/*
3984 - testing/jsshell/**/*
3985 - tools/lint/perfdocs/**/*
3986 - testing/perfdocs/**/*
3987 - testing/performance/**/*
3988 - testing/condprofile/**/*
3989 - tools/browsertime/**/*
3990 - tools/tryselect/selectors/perf.py
4000 - 'Testing :: Raptor'
4001 - 'Testing :: Talos'
4003 - 'Testing :: Performance'
4004 - 'Testing :: mozperftest'
4005 - 'Testing :: Condprofile'
4006 url: :ref:`Performance Testing`
4007 - machine_name: testing_reftest
4008 name: Reftest (+ jsreftest + crashtest)
4009 description: Reftest test framework
4011 - layout/tools/reftest/**/*
4020 - 'Testing :: Reftest'
4021 - machine_name: testing_tryselect
4023 description: Frontend for selecting jobs on the try server.
4025 - tools/tryselect/**/*
4034 - 'Developer Infrastructure :: Try'
4035 - machine_name: testing_web_platform_tests_infrastructure
4036 name: web-platform-tests infrastructure
4037 description: Infrastructure for running the cross-browser web-platform-tests
4039 - testing/web-platform/**/*
4040 - testing/web-platform/tests/tools/**/*
4042 - testing/web-platform/tests/**/*
4043 - testing/web-platform/meta/**/*
4044 - testing/web-platform/mozilla/**/*
4050 - 'Testing :: web-platform-tests'
4051 - machine_name: testing_xpcshell
4053 description: XPCShell test harness.
4055 - testing/xpcshell/**/*
4063 - Testing::XPCShell Harness
4065 description: Components shared between desktop and mobile browsers.
4074 - Matthew Noorenberghe
4086 - name: Application Startup
4087 description: The profile system and startup process before the front-end launches.
4089 - toolkit/profile/**/*
4090 - toolkit/components/remote/**/*
4097 machine_name: application_startup
4101 The core infrastructure in the Firefox client to send back telemetry
4102 data. Includes the common mechanisms to record, view and submit data: Legacy
4103 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4104 does ''not'' include responsibility for every piece of submitted Telemetry
4105 data. Each team/module is responsible for their own measurements (histograms,
4106 scalars, other ping submissions, etc.).
4108 - toolkit/components/glean/**/*
4109 - toolkit/components/telemetry/**/*
4110 - toolkit/content/aboutTelemetry.*
4115 url: :ref:`Telemetry`
4123 machine_name: telemetry
4126 description: The base widgets used throughout the UI.
4128 - toolkit/content/widgets/**/*
4140 machine_name: ui_widgets
4142 - name: Webextensions
4143 description: Webextension APIs and integration.
4145 - browser/components/extensions/**/*
4146 - toolkit/components/extensions/**/*
4158 machine_name: webextensions
4159 machine_name: toolkit
4160 - machine_name: translation
4162 description: Support for translation in Firefox, and the infrastructure to train
4163 new translation language models.
4165 - toolkit/components/translations/**/*
4166 - toolkit/components/translation/**/*
4167 - browser/components/translations/**/*
4177 url: https://github.com/mozilla/firefox-translations-training https://github.com/mozilla/firefox-translations-models
4178 https://github.com/mozilla/firefox-translations-evaluations https://github.com/mozilla/firefox-translations
4180 - Firefox::Translation
4181 review_group: translations-reviewers
4182 - machine_name: url_classifier
4183 name: URL Classifier
4184 description: Database and list-based classification of URL resources, such as
4185 Tracking Protection and SafeBrowsing.
4187 - toolkit/components/url-classifier/**/*
4188 - netwerk/url-classifier/**/*
4197 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4198 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4206 config: 40b9a7ee05e463fa260f24f217af11652df147cd
4207 export: 32abed7d90a5cb2a9baf904d3b4b41aa30712d23