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-05T11:25:41.469505'
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
372 name: Gian-Carlo Pascutto
398 name: Gabriele Svelto
402 name: Haik Aftandilian
410 name: Hiroyuki Ikezoe
418 name: Jan Honza Odvarko
442 name: Jan-Erik Rediger
462 name: Julian Descottes
490 name: Jan-Ivar Bruaroey
522 name: Jonathan Almeida
557 name: Jean-Yves Avenard
609 name: Dzmitry Malyshau
621 name: Lougenia Bailey
637 name: Marco Castelluccio
653 name: Masayuki Nakano
662 nick: MatsPalmgren_bugz
669 name: Andrew McCreight
701 name: Morgan Reschenberg
741 name: Nicolas Chevobbe
753 name: Niklas Baumgardner
773 name: Alexandre Poirot
781 name: Andrew Overholt
801 name: Andreas Pehrson
809 name: Peter Van der Beken
853 name: Alexandra Borovova
881 name: Shravan Narayan
897 name: Greg Mierzwinski
913 name: Martin Stránský
920 name: Sylvestre Ledru
936 name: Teodor Tanasoaia
967 name: Toshihito Kikuchi
1003 name: William Durand
1015 name: Yulia Startsev
1026 name: Zibi Braniecki
1034 name: Tomislav Jovanovic
1037 - name: firefox-toplevel
1038 description: The top level directory for the Firefox/Gecko tree. Owned by the
1053 machine_name: _firefoxtoplevel
1055 - machine_name: code_coverage
1057 description: Tools for code coverage instrumentation, and coverage data parsing
1060 - tools/code-coverage/**/*
1061 - python/mozbuild/mozbuild/codecoverage/**/*
1062 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1071 - 'Testing :: Code Coverage'
1072 - name: 'Core: Accessibility'
1073 description: Support for platform accessibility APIs. Accessibility APIs are used
1074 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1075 software, which need information about document content and UI controls, as
1076 well as important events like changes of focus.
1090 group: dev-accessibility
1091 url: https://developer.mozilla.org/docs/Web/Accessibility
1093 - Core::Disability Access APIs
1100 machine_name: core_accessibility
1102 - name: 'Core: Animation'
1103 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1104 API, and off-main thread animations.'
1106 - dom/animation/**/*
1107 # TODO "and animation-related and interpolation-related code
1108 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1112 - Core::DOM::Animation
1113 - Core::CSS Transitions and Animations
1121 machine_name: core_animation
1123 - name: 'Core: Anti-Tracking'
1124 description: Tracking detection and content-blocking.
1126 - toolkit/components/antitracking/**/*
1127 # several files under browser/ and netwerk/url-classifier/ **TODO**
1135 - 'Core::Privacy: Anti-Tracking'
1143 machine_name: core_antitracking
1145 - name: 'Core: APZ (Graphics submodule)'
1146 description: Asynchronous panning and zooming
1148 - gfx/layers/apz/**/*
1155 url: https://wiki.mozilla.org/Platform/GFX/APZ
1157 - Core::Panning and Zooming
1165 machine_name: core_apz_graphics_submodule
1167 - name: 'Core: Browser WebAPI'
1168 description: Web API for rendering apps, browser windows and widgets.
1170 - dom/browser-element/**/*
1181 machine_name: core_browser_webapi
1183 - name: 'Core: Build and Release Tools'
1184 description: Tools related to build and release automation and configuration of
1187 - tools/update-packaging/**/*
1188 - tools/update-verify/**/*
1192 group: release-engineering
1193 url: https://wiki.mozilla.org/ReleaseEngineering
1195 - Release Engineering::*
1201 machine_name: core_build_and_release_tools
1203 - name: 'Core: Build Config'
1204 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1209 - python/mozbuild/**/*
1210 - browser/config/mozconfigs/**/*
1228 url: :ref:`Build System`
1230 - Core::Build Config
1237 - name: 'Core: Build Config - Fennec'
1238 description: Submodule of the build config covering Fennec's build system
1243 - Core::Build Config
1247 machine_name: core_build_config_fennec
1249 - name: 'Core: Build Config - Taskgraph'
1250 description: Support for task-graph generation in decision, action, and cron
1251 tasks, including configuration of all tasks including those for CI, nightlies,
1252 and releases; as well as Docker and VM images used to execute those tasks.
1257 - Firefox Build System::Task Configuration
1273 machine_name: core_build_config_taskgraph
1274 machine_name: core_build_config
1276 - name: 'Core: Code Analysis and Debugging Tools'
1277 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1278 and other characteristics of it.
1281 - tools/leak-gauge/**/*
1282 - tools/performance/**/*
1285 group: dev-performance
1289 machine_name: core_code_analysis_and_debugging_tools
1291 - name: 'Core: Content Security'
1292 description: 'Native content-based security features enforced in the ContentSecurityManager,
1293 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1294 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1295 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1296 and top-level data: URI blocking.'
1308 - 'Core::DOM: Security'
1316 machine_name: core_content_security
1318 - name: 'Core: Cookies'
1321 - netwerk/cookie/**/*
1330 - Christian Biesinger
1336 - 'Core::Networking: Cookies'
1345 machine_name: core_cookies
1347 - name: 'Core: Crash reporting'
1348 description: Infrastructure and tools used to generate, submit and process crash
1349 reports. This includes the in-tree google-breakpad fork, the crash report generation
1350 machinery as well as the host tools used to dump symbols, analyse minidumps
1351 and generate stack traces.
1353 - toolkit/crashreporter/**/*
1354 - toolkit/components/crashes/**/*
1355 - tools/crashreporter/**/*
1356 - ipc/glue/CrashReporter*
1357 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1362 url: :ref:`Crash Reporter`
1364 - Toolkit::Crash Reporting
1370 machine_name: core_crash_reporting
1372 - machine_name: core_credentials
1373 name: 'Core: Credentials'
1374 description: API Surface for FedCM and WebAuthn
1376 - toolkit/components/credentialmanagement/**/*
1377 - browser/components/credentialmanager/**/*
1378 - dom/credentialmanagement/**/*
1390 - 'Core::DOM: Credential Management'
1391 - 'Core::DOM: Web Authentication'
1393 - name: 'Core: C++/Rust usage, tools, and style'
1394 description: Aspects of C++ use such as language feature usage, standard library
1395 versions/usage, compiler/toolchain versions, formatting and naming style, and
1396 aspects of Rust use as needs arise
1398 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1399 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1400 # - docs/code-quality/**/*
1401 # - docs/testing-rust-code/**/*
1402 # - docs/writing-rust-code/**/*
1417 machine_name: core_crust_usage_tools_and_style
1419 - name: 'Core: Cycle Collector'
1420 description: Code to break and collect objects within reference cycles
1422 - xpcom/base/nsCycleCollect*
1423 # TODO "and some support headers"
1424 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1430 - Core::Cycle Collector
1436 machine_name: core_cycle_collector
1438 - name: 'Core: DLL Services'
1439 description: Windows dynamic linker instrumentation and blocking
1441 - toolkit/xre/dllservices/**/*
1447 - Core::DLL Services
1452 machine_name: core_dll_services
1454 - name: 'Core: docshell'
1458 - uriloader/base/**/*
1464 - Christian Biesinger
1470 - Core::Document Navigation
1477 machine_name: core_docshell
1479 - name: 'Core: Document Object Model'
1483 exclude_module_paths: true
1500 url: http://developer.mozilla.org/en/docs/DOM
1503 - 'Core::DOM: Core & HTML'
1504 review_group: dom-core
1520 machine_name: core_document_object_model
1522 - name: 'Core: DOM File'
1523 description: DOM Blob, File and FileSystem APIs
1526 - dom/filesystem/**/*
1529 url: http://developer.mozilla.org/en/docs/DOM
1536 machine_name: core_dom_file
1538 - machine_name: core_dom_streams
1539 name: 'Core: DOM Streams'
1540 description: Streams Specification implementation
1551 url: http://developer.mozilla.org/en/docs/DOM
1554 - 'Core::DOM: Streams'
1557 - name: 'Core: Editor'
1572 machine_name: core_editor
1574 - name: 'Core: Event Handling'
1575 description: DOM Events and Event Handling
1578 # TODO "and event handling related code elsewhere"
1583 url: http://developer.mozilla.org/en/docs/DOM
1585 - 'Core::DOM: Events'
1586 - 'Core::DOM: UI Events & Focus Handling'
1592 machine_name: core_event_handling
1594 - machine_name: core_firefox_source_documentation
1595 name: 'Core: Firefox Source Documentation'
1596 description: The infrastructure platform used to generate Firefox's source documentation,
1597 excluding editorial control over the content.
1600 - tools/moztreedocs/
1607 - Developer Infrastructure::Source Documentation
1608 url: https://firefox-source-docs.mozilla.org/
1609 - name: 'Core: Gecko Profiler'
1610 description: Gecko's built-in profiler
1612 - tools/profiler/**/*
1613 - mozglue/baseprofiler/**/*
1618 - Shu-yu Guo (JS integration)
1619 - Thinker Lee (TaskTracer)
1620 - Cervantes Yu (TaskTracer)
1621 - Nicholas Nethercote
1627 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1629 - Core::Gecko Profiler
1636 machine_name: core_gecko_profiler
1638 - name: 'Core: GeckoView'
1639 description: Framework for embedding Gecko into Android applications
1641 - mobile/android/**/*
1642 - widget/android/**/*
1654 url: https://wiki.mozilla.org/Mobile/GeckoView
1656 - GeckoView::General
1664 machine_name: core_geckoview
1666 - name: 'Core: Global Key Bindings'
1667 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1668 and the like, as those are part of i18n.
1671 # TODO "and platform specific directories under it"
1673 group: dev-accessibility
1674 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1676 - 'Core::Keyboard: Navigation'
1681 machine_name: core_global_key_bindings
1683 - name: 'Core: Graphics'
1684 description: Mozilla graphics API
1692 - Benoit Girard(Compositor, Performance)
1694 - George Wright(Canvas2D)
1698 - John Daggett(text/fonts)
1699 - Benoit Jacob(gfx/gl)
1701 - Vladimir Vukicevic
1702 - James Willcox(Android)
1705 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1706 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1709 - 'Core::Graphics: Layers'
1710 - 'Core::Graphics: Text'
1711 - 'Core::Graphics: WebRender'
1712 - 'Core::GFX: Color Management'
1713 - 'Core::Canvas: 2D'
1714 - 'Core::Canvas: WebGL'
1726 machine_name: core_graphics
1729 description: Hardware Abstraction Layer
1735 - Core::Hardware Abstraction Layer (HAL)
1739 machine_name: core_hal
1741 - name: 'Core: HTML Parser'
1742 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1743 to the HTML specification, and is mostly translated automatically from Java
1749 url: http://about.validator.nu/
1751 - 'Core::HTML: Parser'
1756 machine_name: core_html_parser
1758 - name: 'Core: I18N Library'
1767 url: :ref:`Internationalization`
1769 - Core::Internationalization
1777 machine_name: core_i18n_library
1779 - name: 'Core: ImageLib'
1782 - media/libjpeg/**/*
1799 machine_name: core_imagelib
1801 - name: 'Core: IndexedDB'
1804 - dom/indexedDB/**/*
1812 url: https://developer.mozilla.org/en/IndexedDB
1814 - 'Core::DOM: IndexedDB'
1815 review_group: dom-storage-reviewers
1822 machine_name: core_indexeddb
1825 description: Native message-passing between threads and processes
1846 review_group: ipc-reviewers
1853 machine_name: core_ipc
1855 - name: 'Core: JavaScript'
1856 description: JavaScript engine (SpiderMonkey)
1880 - Nicholas Nethercote
1885 url: https://spidermonkey.dev/
1887 - Core::JavaScript Engine
1888 - 'Core::JavaScript: GC'
1889 - 'Core::JavaScript: Internationalization API'
1890 - 'Core::JavaScript: Standard Library'
1891 - 'Core::JavaScript: WebAssembly'
1913 machine_name: core_javascript
1915 - name: 'Core: JavaScript JIT'
1916 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1924 url: https://spidermonkey.dev/
1926 - 'Core::JavaScript Engine: JIT'
1942 machine_name: core_javascript_jit
1944 - name: 'Core: js-tests'
1945 description: JavaScript test suite
1949 group: dev-tech-js-engine
1950 url: http://www.mozilla.org/js/tests/library.html
1954 machine_name: core_jstests
1956 - name: 'Core: Layout Engine'
1957 description: rendering tree construction, layout (reflow), etc.
1963 - layout/generic/**/*
1964 - layout/printing/**/*
1965 - layout/tables/**/*
1974 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1977 - 'Core::Layout: Block and Inline'
1978 - 'Core::Layout: Columns'
1979 - 'Core::Layout: Flexbox'
1980 - 'Core::Layout: Floats'
1981 - 'Core::Layout: Form Controls'
1982 - 'Core::Layout: Generated Content, Lists, and Counters'
1983 - 'Core::Layout: Grid'
1984 - 'Core::Layout: Images, Video, and HTML Frames'
1985 - 'Core::Layout: Positioned'
1986 - 'Core::Layout: Ruby'
1987 - 'Core::Layout: Scrolling and Overflow'
1988 - 'Core::Layout: Tables'
1989 - 'Core::Layout: Text and Fonts'
1990 - Core::Print Preview
1991 - 'Core::Printing: Output'
2003 machine_name: core_layout_engine
2005 - name: 'Core: Legacy HTML Parser'
2008 - parser/htmlparser/**/*
2012 url: http://www.mozilla.org/newlayout/doc/parser.html
2014 - 'Core::HTML: Parser'
2021 machine_name: core_legacy_html_parser
2023 - name: 'Core: libjar'
2024 description: The JAR handling code (protocol handler, stream implementation, and
2025 zipreader/zipwriter).
2027 - modules/libjar/**/*
2037 - 'Core::Networking: JAR'
2043 machine_name: core_libjar
2045 - name: 'Core: MathML'
2046 description: MathML is a low-level specification for describing mathematics which
2047 provides a foundation for the inclusion of mathematical expressions in Web pages.
2049 - layout/mathml/**/*
2051 group: dev-tech-mathml
2052 url: https://developer.mozilla.org/docs/Web/MathML
2059 machine_name: core_mathml
2061 - name: 'Core: Media Playback'
2062 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2063 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2066 - media/gmp-clearkey/**/*
2067 - media/libcubeb/**/*
2068 - media/libnestegg/**/*
2070 - media/libopus/**/*
2071 - media/libtheora/**/*
2072 - media/libtremor/**/*
2073 - media/libvorbis/**/*
2075 - dom/media/platforms/omx/**/*
2076 - dom/media/gmp/rlz/**/*
2091 machine_name: core_media_playback
2093 - name: 'Core: Media Transport'
2094 description: Pluggable transport for real-time media
2096 - dom/media/webrtc/transport/**/*
2100 - Core::WebRTC::Networking
2107 machine_name: core_media_transport
2109 - name: 'Core: Memory Allocator'
2110 description: Most things related to memory allocation in Gecko, including jemalloc,
2111 replace-malloc, DMD (dark matter detector), logalloc, etc.
2117 - Nicholas Nethercote
2125 machine_name: core_memory_allocator
2127 - name: 'Core: mfbt'
2128 description: mfbt is a collection of headers, macros, data structures, methods,
2129 and other functionality available for use and reuse throughout all Mozilla code
2130 (including SpiderMonkey and Gecko more broadly).
2142 machine_name: core_mfbt
2144 - name: 'Core: Moz2D (Graphics submodule)'
2145 description: Platform independent 2D graphics API
2150 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2158 machine_name: core_moz2d_graphics_submodule
2160 - name: 'Core: Mozglue'
2161 description: Glue library containing various low-level functionality, including
2162 a dynamic linker for Android, a DLL block list for Windows, etc.
2170 - Kartikaya Gupta (mozglue/android)
2175 machine_name: core_mozglue
2177 - name: 'Core: MSCOM'
2178 description: Integration with Microsoft Distributed COM
2189 - 'Core::IPC: MSCOM'
2195 machine_name: core_mscom
2197 - name: 'Core: Necko'
2198 description: The Mozilla Networking Library
2202 - netwerk/build/**/*
2203 - netwerk/cache2/**/*
2205 - netwerk/locales/**/*
2207 - netwerk/protocol/**/*
2208 - netwerk/socket/**/*
2209 - netwerk/streamconv/**/*
2210 - netwerk/system/**/*
2215 - dom/websocket/**/*
2216 - uriloader/prefetch/**/*
2217 - uriloader/preload/**/*
2220 - Dragana Damjanovic
2222 - Christian Biesinger
2233 group: dev-tech-network
2234 url: :ref:`Networking`
2237 - 'Core::Networking: Cache'
2238 - 'Core::Networking: Cookies'
2239 - 'Core::Networking: FTP'
2240 - 'Core::Networking: File'
2241 - 'Core::Networking: HTTP'
2242 - 'Core::Networking: JAR'
2243 - 'Core::Networking: Websockets'
2244 - 'Core::DOM: Networking'
2250 machine_name: core_necko
2252 - name: 'Core: NodeJS usage, tools, and style'
2253 description: Advises on the use of NodeJS and npm packages at build and runtime.
2254 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2255 teams to maintain automated license and security audits of npm packages. Works
2256 with the security team and relevant developers to respond to vulnerabilities
2257 in NodeJS and vendored npm packages.
2262 # TODO: and others as appropriate
2266 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2275 machine_name: core_nodejs_usage_tools_and_style
2277 - name: 'Core: NSPR'
2278 description: Netscape Portable Runtime
2284 group: dev-tech-nspr
2292 machine_name: core_nspr
2295 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2298 - toolkit/components/pdfjs/**/*
2306 url: https://github.com/mozilla/pdf.js
2313 machine_name: core_pdf
2315 - name: 'Core: Permissions'
2318 - extensions/permissions/**/*
2327 - Christian Biesinger
2332 - 'Core :: Permission Manager'
2339 machine_name: core_permissions
2341 - name: 'Core: Plugins'
2342 description: ' NPAPI Plugin support.'
2354 url: https://wiki.mozilla.org/Plugins
2359 machine_name: core_plugins
2361 - name: 'Core: Preferences'
2362 description: Preference library
2364 - modules/libpref/**/*
2367 - Nicholas Nethercote
2373 - 'Core::Preferences: Backend'
2379 machine_name: core_preferences
2381 - name: 'Core: Private Browsing'
2382 description: Implementation of the Private Browsing mode, and the integration
2383 of other modules with Private Browsing APIs.
2386 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2387 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2395 url: https://wiki.mozilla.org/Private_Browsing
2397 - Firefox::Private Browsing
2402 machine_name: core_private_browsing
2404 - name: 'Core: Privilege Manager'
2405 description: Caps is the capabilities-based security system.
2414 url: http://www.mozilla.org/projects/security/components/index.html
2416 - 'Core::Security: CAPS'
2422 machine_name: core_privilege_manager
2424 - name: 'Core: Push Notifications'
2425 description: Push is a way for application developers to send messages to their
2436 - 'Core::DOM: Notifications'
2440 machine_name: core_push_notifications
2442 - name: 'Core: Sandboxing (Linux)'
2443 description: Sandboxing for the Linux platform
2445 - security/sandbox/linux/**/*
2448 url: https://wiki.mozilla.org/Security/Sandbox
2450 - 'Core::Security: Process Sandboxing'
2455 machine_name: core_sandboxing_linux
2457 - name: 'Core: Sandboxing (OSX)'
2458 description: Sandboxing for the OSX platform
2460 - security/sandbox/mac/**/*
2463 url: https://wiki.mozilla.org/Security/Sandbox
2465 - 'Core::Security: Process Sandboxing'
2469 machine_name: core_sandboxing_osx
2471 - name: 'Core: Sandboxing (Windows)'
2472 description: Sandboxing for the Windows platform
2474 - security/sandbox/win/**/*
2484 url: https://wiki.mozilla.org/Security/Sandbox
2486 - 'Core::Security: Process Sandboxing'
2491 machine_name: core_sandboxing_windows
2493 - name: 'Core: security'
2494 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2507 group: dev-tech-crypto
2508 url: :ref:`Network Security Services (NSS)`
2513 - 'Core::Security: S/MIME'
2526 machine_name: core_security
2528 - name: 'Core: Security - Mozilla PSM Glue'
2529 description: Personal Security Manager
2531 - security/manager/**/*
2534 - Kai Engert (2001-2012)
2535 group: dev-tech-crypto
2537 - 'Core::Security: PSM'
2546 machine_name: core_security_mozilla_psm_glue
2548 - machine_name: core_security_rlbox
2549 name: Security - RLBox
2550 description: Sandboxing using WASM/RLBox libraries.
2554 - third_party/rlbox_wasm2c_sandbox
2564 - 'Core::Security: RLBox'
2565 - name: 'Core: Static analysis & rewriting for C++'
2566 description: Tools for checking C++ code looking for problems at compile time,
2567 plus tools for automated rewriting of C++ code.
2569 - build/clang-plugin/**/*
2570 - tools/rewriting/**/*
2571 # TODO among other out of tree tools
2574 - Birunthan Mohanathas
2578 - Core::Rewriting & Analysis
2585 machine_name: core_static_analysis_rewriting_for_c
2587 - name: 'Core: storage'
2588 description: Storage APIs with a SQLite backend
2590 - third_party/sqlite3/**/*
2594 url: http://developer.mozilla.org/en/docs/Storage
2596 - Toolkit::Storage, Core::SQL
2604 machine_name: core_storage
2606 - name: 'Core: String'
2611 group: dev-tech-xpcom
2612 url: :ref:`String Guide`
2619 machine_name: core_string
2621 - name: 'Core: Style System'
2622 description: CSS style sheet handling; style data computation
2633 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2635 - Core::CSS Parsing and Computation
2636 - 'Core::DOM: CSS Object Model'
2642 machine_name: core_style_system
2645 description: Scalable Vector Graphics
2652 url: https://developer.mozilla.org/docs/Web/SVG
2662 machine_name: core_svg
2664 - name: 'Core: UA String'
2665 description: User Agent String
2667 - netwerk/protocol/http/**/*
2670 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2672 - 'Core::Networking: HTTP'
2678 machine_name: core_ua_string
2680 - name: 'Core: View System'
2681 description: The View Manager is responsible for handling "heavyweight" rendering
2682 (some clipping, compositing) and event handling tasks.
2690 - 'Core::Layout: View Rendering'
2696 machine_name: core_view_system
2698 - name: 'Core: Web Audio'
2699 description: Support for the W3C Web Audio API specification.
2701 - dom/media/webaudio/**/*
2706 url: https://wiki.mozilla.org/Web_Audio_API
2714 machine_name: core_web_audio
2716 - name: 'Core: Web Painting'
2717 description: painting, display lists, and layer construction
2719 - layout/painting/**/*
2720 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2723 url: :ref:`Layout & CSS`
2725 - 'Core::Layout: Web Painting'
2736 machine_name: core_web_painting
2738 - name: 'Core: Web Workers'
2751 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2753 - 'Core::DOM: Workers'
2754 review_group: dom-worker-reviewers
2760 machine_name: core_web_workers
2762 - name: 'Core: WebGPU (Graphics submodule)'
2763 description: WebGPU implementation
2766 - gfx/wgpu_bindings/**/*
2767 - third_party/rust/naga/**/*
2768 - third_party/rust/wgpu-core/**/*
2769 - third_party/rust/wgpu-hal/**/*
2770 - third_party/rust/wgpu-types/**/*
2773 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2775 - Core::Graphics::WebGPU
2776 review_group: webgpu-reviewers
2788 machine_name: core_webgpu_graphics_submodule
2790 - name: 'Core: WebRTC'
2791 description: WebRTC is responsible for realtime audio and video communication,
2792 as well as related issues like low-level camera and microphone access
2795 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2800 url: https://wiki.mozilla.org/Media/webrtc
2803 - Core::WebRTC Networking
2810 machine_name: core_webrtc
2812 - name: 'Core: WebVR'
2813 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2814 including API, devices, graphics and integration
2820 - Vladimir Vukicevic
2823 url: https://mozvr.com/
2832 - name: 'Core: WebRTC Media'
2833 description: Submodule of WebRTC responsible for access to media input devices
2834 (microphones, cameras, screen capture), as well as realtime audiovisual
2835 codecs and packetization.
2838 - dom/media/webrtc/**/*
2839 - dom/media/systemservices/**/*
2845 url: https://wiki.mozilla.org/Media/webrtc
2847 - Core::WebRTC (Audio/Video)
2854 machine_name: core_webrtc_media
2856 - name: 'Core: WebRTC Signaling'
2857 description: Submodule of WebRTC responsible for implementation of PeerConnection
2858 API, WebRTC identity, and SDP/JSEP handling
2860 - media/webrtc/signaling/**/*
2865 url: https://wiki.mozilla.org/Media/webrtc
2867 - Core::WebRTC (Signaling)
2875 machine_name: core_webrtc_signaling
2876 machine_name: core_webvr
2878 - name: 'Core: Widget'
2879 description: Top level Widget
2884 - Vladimir Vukicevic
2891 - Core::Drag and Drop
2893 - 'Core::Printing: Setup'
2896 machine_name: core_widget
2898 - name: 'Core: Widget - Android'
2899 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2904 machine_name: core_widget_android
2906 - name: 'Core: Widget - GTK'
2907 description: GTK widget support
2914 url: http://www.mozilla.org/ports/gtk/
2916 - 'Core::Widget: Gtk'
2921 machine_name: core_widget_gtk
2923 - name: 'Core: Widget - Headless'
2924 description: Headless widget support
2926 - widget/headless/**/*
2935 machine_name: core_widget_headless
2937 - name: 'Core: Widget - macOS'
2938 description: ' macOS widget support'
2951 - 'Core::Widget: Cocoa'
2957 machine_name: core_widget_macos
2959 - name: 'Core: Widget - Windows'
2960 description: Windows widget support
2962 - widget/windows/**/*
2968 - Vladimir Vukicevic
2971 - Christian Biesinger
2973 - Josh 'timeless' Soref
2980 - 'Core::Widget: Win32'
2986 machine_name: core_widget_windows
2989 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2990 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2991 that are not covered by more specific projects.
3007 machine_name: core_xml
3009 - name: 'Core: XPApps'
3010 description: Cross-Platform Applications, mostly Navigator front end and application
3015 group: dev-apps-seamonkey
3019 - Josh 'timeless' Soref
3022 machine_name: core_xpapps
3024 - name: 'Core: XPCOM'
3025 description: The cross-platform object model and core data structures.
3031 - xpcom/components/**/*
3035 - xpcom/reflect/**/*
3039 - xpcom/threads/**/*
3040 - xpcom/windbgdlg/**/*
3052 review_group: xpcom-reviewers
3062 machine_name: core_xpcom
3064 - name: 'Core: XPConnect'
3065 description: Deep Magic
3084 machine_name: core_xpconnect
3086 - name: 'Core: XPIDL'
3087 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3088 runtime type description files from .idl interface description files.
3090 - xpcom/idl-parser/**/*
3097 - Josh 'timeless' Soref
3098 group: dev-tech-xpcom
3104 machine_name: core_xpidl
3106 - name: 'Core: XSLT Processor'
3107 description: XSLT transformations processor
3115 group: dev-tech-xslt
3116 url: https://developer.mozilla.org/docs/Web/XSLT
3122 machine_name: core_xslt_processor
3124 - name: Desktop Firefox
3125 description: Standalone Web Browser.
3138 - Tim Guan-tin Chien
3168 - name: Add-ons Manager
3169 description: Extension management back-end.
3171 - toolkit/mozapps/extensions/**/*
3185 machine_name: addons_manager
3187 - name: Add-ons Manager UI
3188 description: about:addons.
3190 - toolkit/mozapps/extensions/content/**/*
3203 machine_name: addons_manager_ui
3205 - name: Application Update
3206 description: The application update services.
3208 - toolkit/mozapps/update/**/*
3215 machine_name: application_update
3217 - name: Bookmarks & History
3218 description: The bookmarks and history services (Places).
3220 - browser/components/places/**/*
3221 - toolkit/components/places/**/*
3230 - Firefox::Bookmarks & History
3232 review_group: places-reviewers
3240 machine_name: bookmarks_history
3242 - name: Desktop Theme
3243 description: The style rules used in the desktop UI.
3245 - browser/themes/**/*
3246 - toolkit/themes/**/*
3260 machine_name: desktop_theme
3263 description: The main browser UI except where covered by more specific submodules.
3265 - browser/base/content/**/*
3272 machine_name: desktop_ui
3274 - name: Download Manager
3275 description: The downloads UI and service.
3277 - browser/components/downloads/**/*
3278 - toolkit/mozapps/downloads/**/*
3279 - uriloader/exthandler/**/*
3289 machine_name: download_manager
3291 - name: Enterprise Policies
3292 description: System policies for controlling Firefox.
3294 - browser/components/enterprisepolicies/**/*
3299 machine_name: enterprise_policies
3301 - name: Experiments/Rollouts
3302 description: Desktop clients for our experiments and off-train deployments
3305 - toolkit/components/normandy/**/*
3306 - toolkit/components/nimbus/**/*
3312 - Firefox::Nimbus Desktop Client
3313 url: https://experimenter.info/
3319 machine_name: normandy
3321 - machine_name: firefox_view
3323 description: The Firefox View page and its modules.
3325 - browser/components/firefoxview/**/*
3333 - name: Form Autofill
3334 description: Form detection and autocomplete.
3336 - browser/extensions/formautofill/**/*
3337 - toolkit/components/satchel/**/*
3340 - Matthew Noorenberghe
3346 machine_name: form_autofill
3348 - name: In-product Messaging
3349 description: The system for delivering in-product messaging.
3351 - toolkit/components/messaging-system/**/*
3354 - Firefox::Messaging System
3361 machine_name: inproduct_messaging
3363 - name: Launcher Process
3364 description: Windows process for bootstrapping the browser process.
3366 - browser/app/winlauncher/**/*
3372 - Firefox::Launcher Process
3379 machine_name: launcher_process
3381 - machine_name: localization
3383 description: Tooling to enable translation and facilitate localization.
3391 - name: New Tab Page
3392 description: The new tab/home page.
3394 - browser/components/newtab/**/*
3397 - Firefox::New Tab Page
3404 machine_name: new_tab_page
3407 description: The onboarding experience including UI tours.
3409 - browser/components/uitour/**/*
3417 machine_name: onboarding
3419 - name: Password Manager
3420 description: Managing, saving and filling logins.
3422 - toolkit/components/passwordmgr/**/*
3423 - browser/components/aboutlogins/**/*
3426 - Matthew Noorenberghe
3430 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3432 - Toolkit::Password Manager
3433 - 'Toolkit::Password Manager: Site'
3435 - Firefox::about:logins
3443 machine_name: password_manager
3445 - machine_name: firefox_pip
3446 name: Picture-in-Picture
3447 description: A component that allows video elements to be pulled out into
3448 an always-on-top window.
3450 - toolkit/components/pictureinpicture
3451 - browser/extensions/pictureinpicture
3461 - name: Profile Migration
3462 description: Migrating data from other browsers.
3464 - browser/components/migration/**/*
3472 machine_name: profile_migration
3475 description: Code relating to Screenshots functionality
3477 - browser/extensions/screenshots/**/*
3478 - browser/components/screenshots/**/*
3486 - Firefox::Screenshots
3492 machine_name: screenshots
3494 - name: Search and Address Bar
3495 description: The search service, address bar and address bar autocomplete.
3497 - browser/components/search/**/*
3498 - browser/components/urlbar/**/*
3499 - toolkit/components/search/**/*
3502 - Firefox::Address Bar
3515 machine_name: search_and_address_bar
3517 - name: Security and Privacy UI
3518 description: The front-end to our security and privacy features, including
3519 Protections UI, Site Identity, Site Permissions and Certificate Errors
3521 - browser/components/protections/**/*
3522 - browser/components/controlcenter/**/*
3526 - Nihanth Subramanya
3531 - Firefox::Protections UI
3532 - Firefox::Site Identity
3533 - Firefox::Site Permissions
3538 machine_name: security_and_privacy_ui
3540 - name: Session Restore
3541 description: Restoring a user's session after starting Firefox.
3543 - browser/components/sessionstore/**/*
3544 - toolkit/components/sessionstore/**/*
3553 - Firefox::Session Restore
3561 machine_name: session_restore
3564 description: The front-end settings user interface.
3566 - browser/components/preferences/**/*
3567 - browser/themes/*/preferences
3568 - toolkit/mozapps/preferences
3579 machine_name: settings_ui
3581 - name: Tabbed Browser
3582 description: The UI component controlling browser tabs.
3584 - browser/base/content/tabbrowser*
3585 - browser/base/content/browser-allTabsMenu.js
3586 - browser/base/content/browser-ctrlTab.js
3587 - browser/base/content/browser-fullZoom.js
3588 - browser/modules/AsyncTabSwitcher.sys.mjs
3589 - browser/modules/NewTabPagePreloading.sys.mjs
3590 - browser/modules/OpenInTabsUtils.sys.mjs
3591 - browser/modules/TabsList.sys.mjs
3592 - browser/modules/TabUnloader.sys.mjs
3595 - Firefox::Tabbed Browser
3604 machine_name: tabbed_browser
3606 - name: Windows Installer
3607 description: The installer for Windows.
3609 - browser/installer/**/*
3610 - toolkit/mozapps/installer/**/*
3613 - Firefox::Installer
3619 machine_name: windows_installer
3620 machine_name: desktop_firefox
3622 - machine_name: devtools
3624 description: Mozilla Developer Tools
3650 - Steve Fink (heapsnapshot code)
3660 - Panagiotis Astithas
3678 url: http://firefox-dev.tools/
3681 - machine_name: javascript_usage
3682 name: JavaScript usage, tools, and style
3683 description: Aspects of JavaScript use such as language feature usage, tooling
3684 such as lint configurations, formatting and naming style.
3686 - .eslintrc-test-paths.js
3687 - '**/.eslintignore'
3689 - tools/lint/eslint/**/*
3706 - machine_name: mozharness
3708 description: Configuration-driven script harness.
3710 - testing/mozharness/**/*
3723 - 'Release Engineering :: Applications: MozharnessCore'
3724 - machine_name: python_usage
3725 name: Python usage, tools, and style
3726 description: Aspects of Python use such as tooling, formatting and naming style
3728 - tools/lint/python/**/*
3738 - 'Developer Infrastructure :: Lint and Formatting'
3740 - machine_name: remote_protocol
3741 name: Remote Protocol
3742 description: Low-level remote protocol exposing interfaces for inspecting state
3743 and controlling execution of web documents, instrumenting various subsystems
3744 in the browser, simulating user interaction for automation purposes, and for
3745 subscribing to updates from the aforementioned.
3751 url: https://firefox-source-docs.mozilla.org/remote/
3760 - machine_name: remote_protocol_agent
3762 description: Underlying transport layer and server to allow remoting of Firefox
3763 for automation and debugging.
3768 - remote/marionette/*
3769 - remote/webdriver-bidi/*
3774 - Maja Frydrychowicz
3778 - 'Remote Protocol :: Agent'
3786 - machine_name: remote_protocol_cdp
3788 description: The core implementation for CDP support. Please file domain specific
3789 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3796 - Maja Frydrychowicz
3800 - 'Remote Protocol :: CDP'
3808 - machine_name: remote_protocol_marionette
3810 description: Marionette is a remote protocol that lets out-of-process programs
3811 communicate with, instrument, and control Gecko-based browsers. Combined
3812 with geckodriver, this forms our WebDriver classic implementation.
3814 - remote/marionette/*
3819 - Maja Frydrychowicz
3822 - 'Remote Protocol :: Marionette'
3823 group: dev-webdriver
3831 - machine_name: remote_protocol_webdriver_bidi
3832 name: WebDriver BiDi
3833 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3835 - remote/webdriver-bidi/*
3838 - 'Remote Protocol :: WebDriver BiDi'
3839 group: dev-webdriver
3847 - machine_name: sync
3849 description: Firefox Sync client
3851 - services/sync/**/*
3864 url: https://wiki.mozilla.org/Services/Process/Code_Review
3868 - machine_name: testing_firefox_ui
3870 description: Firefox UI test framework.
3872 - testing/firefox-ui/**/*
3875 - Maja Frydrychowicz
3877 - 'Testing :: Firefox UI'
3885 - machine_name: testing_geckodriver
3887 description: Proxy for using W3C WebDriver-compatible clients to interact with
3888 Gecko-based browsers.
3890 - testing/geckodriver/**/*
3898 - 'Testing :: geckodriver'
3899 group: dev-webdriver
3901 - machine_name: testing_gtest
3903 description: GTest test harness.
3905 - testing/gtest/**/*
3912 - 'Testing :: GTest'
3914 - machine_name: testing_marionette_client_harness
3915 name: Marionette Client & Harness
3916 description: Python client and harness for the Marionette remote protocol implementation.
3918 - testing/marionette/**/*
3923 - Maja Frydrychowicz
3926 - 'Testing :: Marionette Client & Harness'
3934 - machine_name: testing_mochitest
3936 description: Mochitest test framework
3938 - testing/mochitest/**/*
3947 - 'Testing :: Mochitest'
3948 - machine_name: testing_mozbase
3950 description: Base modules used for implementing test components.
3964 - 'Testing :: Mozbase'
3965 - 'Testing :: Mozbase Rust'
3966 - machine_name: testing_performance_testing
3967 name: Performance Testing
3969 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3970 MozPerfTest, AWSY, JSShell, mach try perf, etc.. See our PerfDocs for more information on
3971 the owners/peers of the various components (linked below).
3973 - testing/raptor/**/*
3974 - testing/talos/**/*
3975 - python/mozperftest/**/*
3977 - testing/jsshell/**/*
3978 - tools/lint/perfdocs/**/*
3979 - testing/perfdocs/**/*
3980 - testing/performance/**/*
3981 - testing/condprofile/**/*
3982 - tools/browsertime/**/*
3983 - tools/tryselect/selectors/perf.py
3993 - 'Testing :: Raptor'
3994 - 'Testing :: Talos'
3996 - 'Testing :: Performance'
3997 - 'Testing :: mozperftest'
3998 - 'Testing :: Condprofile'
3999 url: :ref:`Performance Testing`
4000 - machine_name: testing_reftest
4001 name: Reftest (+ jsreftest + crashtest)
4002 description: Reftest test framework
4004 - layout/tools/reftest/**/*
4013 - 'Testing :: Reftest'
4014 - machine_name: testing_tryselect
4016 description: Frontend for selecting jobs on the try server.
4018 - tools/tryselect/**/*
4027 - 'Developer Infrastructure :: Try'
4028 - machine_name: testing_web_platform_tests_infrastructure
4029 name: web-platform-tests infrastructure
4030 description: Infrastructure for running the cross-browser web-platform-tests
4032 - testing/web-platform/**/*
4033 - testing/web-platform/tests/tools/**/*
4035 - testing/web-platform/tests/**/*
4036 - testing/web-platform/meta/**/*
4037 - testing/web-platform/mozilla/**/*
4043 - 'Testing :: web-platform-tests'
4044 - machine_name: testing_xpcshell
4046 description: XPCShell test harness.
4048 - testing/xpcshell/**/*
4056 - Testing::XPCShell Harness
4058 description: Components shared between desktop and mobile browsers.
4075 - name: Application Startup
4076 description: The profile system and startup process before the front-end launches.
4078 - toolkit/profile/**/*
4079 - toolkit/components/remote/**/*
4086 machine_name: application_startup
4090 The core infrastructure in the Firefox client to send back telemetry
4091 data. Includes the common mechanisms to record, view and submit data: Legacy
4092 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4093 does ''not'' include responsibility for every piece of submitted Telemetry
4094 data. Each team/module is responsible for their own measurements (histograms,
4095 scalars, other ping submissions, etc.).
4097 - toolkit/components/glean/**/*
4098 - toolkit/components/telemetry/**/*
4099 - toolkit/content/aboutTelemetry.*
4104 url: :ref:`Telemetry`
4112 machine_name: telemetry
4115 description: The base widgets used throughout the UI.
4117 - toolkit/content/widgets/**/*
4124 machine_name: ui_widgets
4126 - name: Webextensions
4127 description: Webextension APIs and integration.
4129 - browser/components/extensions/**/*
4130 - toolkit/components/extensions/**/*
4142 machine_name: webextensions
4143 machine_name: toolkit
4144 - machine_name: url_classifier
4145 name: URL Classifier
4146 description: Database and list-based classification of URL resources, such as
4147 Tracking Protection and SafeBrowsing.
4149 - toolkit/components/url-classifier/**/*
4150 - netwerk/url-classifier/**/*
4159 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4160 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4168 config: d3802db3090939a68e067bb69977e7b9ec588ec6
4169 export: f69b8f91dc83de42362f0f784a9f7cf927840253