3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at https://mozilla.org/MPL/2.0/.
7 # See https://mots.readthedocs.io/en/latest/#quick-start for quick start
8 # documentation and how to modify this file.
10 created_at: '2021-10-14T12:50:40.073465'
11 updated_at: '2024-04-04T19:44:57.780772'
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
132 name: Hubert Boma Manilla
143 name: Bryce Seager van Dyk
154 name: Benjamin VanderSloot
166 name: Calixte Denizet
177 name: Nazım Can Altınova
189 name: Christoph Kerschbaumer
205 name: Daisuke Akatsuka
240 name: Alessio Placitelli
308 name: Emilio Cobos Álvarez
312 name: Masatoshi Kimura
334 name: Nick Fitzgerald
338 name: Francesco Lodolo
358 name: Gabriel Bustamante
366 name: Gian-Carlo Pascutto
393 name: Gabriele Svelto
401 name: Haik Aftandilian
409 name: Hiroyuki Ikezoe
421 name: Jan Honza Odvarko
445 name: Jan-Erik Rediger
465 name: Julian Descottes
493 name: Jan-Ivar Bruaroey
545 name: Jonathan Sudiaman
553 name: Jules Simplicio
560 name: Jean-Yves Avenard
612 name: Dzmitry Malyshau
624 name: Lougenia Bailey
640 name: Marco Castelluccio
656 name: Masayuki Nakano
668 name: Andrew McCreight
704 name: Morgan Reschenberg
740 name: Nicolas Chevobbe
752 name: Niklas Baumgardner
776 name: Alexandre Poirot
784 name: Andrew Overholt
804 name: Andreas Pehrson
812 name: Peter Van der Beken
848 name: Kagami Rosylight
852 name: Alexandra Borovova
876 name: Shravan Narayan
892 name: Greg Mierzwinski
904 name: Martin Stránský
911 name: Sylvestre Ledru
923 name: Teodor Tanasoaia
958 name: Toshihito Kikuchi
1009 name: Zibi Braniecki
1017 name: Tomislav Jovanovic
1024 - name: firefox-toplevel
1025 description: The top level directory for the Firefox/Gecko tree. Owned by the
1041 machine_name: _firefoxtoplevel
1043 - machine_name: code_coverage
1045 description: Tools for code coverage instrumentation, and coverage data parsing
1048 - tools/code-coverage/**/*
1049 - python/mozbuild/mozbuild/codecoverage/**/*
1050 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1059 - 'Testing :: Code Coverage'
1060 - name: 'Core: Accessibility'
1061 description: Support for platform accessibility APIs. Accessibility APIs are used
1062 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1063 software, which need information about document content and UI controls, as
1064 well as important events like changes of focus.
1078 group: dev-accessibility
1079 url: https://developer.mozilla.org/docs/Web/Accessibility
1081 - Core::Disability Access APIs
1088 machine_name: core_accessibility
1090 - name: 'Core: Animation'
1091 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1092 API, and off-main thread animations.'
1094 - dom/animation/**/*
1095 # TODO "and animation-related and interpolation-related code
1096 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1100 - Core::DOM::Animation
1101 - Core::CSS Transitions and Animations
1109 machine_name: core_animation
1111 - name: 'Core: Anti-Tracking'
1112 description: Tracking detection and content-blocking.
1114 - toolkit/components/antitracking/**/*
1115 # several files under browser/ and netwerk/url-classifier/ **TODO**
1125 - 'Core::Privacy: Anti-Tracking'
1132 machine_name: core_antitracking
1134 - name: 'Core: APZ (Graphics submodule)'
1135 description: Asynchronous panning and zooming
1137 - gfx/layers/apz/**/*
1144 url: https://wiki.mozilla.org/Platform/GFX/APZ
1146 - Core::Panning and Zooming
1154 machine_name: core_apz_graphics_submodule
1156 - name: 'Core: Build and Release Tools'
1157 description: Tools related to build and release automation and configuration of
1160 - tools/update-packaging/**/*
1161 - tools/update-verify/**/*
1165 group: release-engineering
1166 url: https://wiki.mozilla.org/ReleaseEngineering
1168 - Release Engineering::*
1175 machine_name: core_build_and_release_tools
1177 - name: 'Core: Build Config'
1178 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1183 - python/mozbuild/**/*
1184 - browser/config/mozconfigs/**/*
1202 url: :ref:`Build System`
1204 - Core::Build Config
1211 - name: 'Core: Build Config - Fennec'
1212 description: Submodule of the build config covering Fennec's build system
1217 - Core::Build Config
1221 machine_name: core_build_config_fennec
1223 - name: 'Core: Build Config - Taskgraph'
1224 description: Support for task-graph generation in decision, action, and cron
1225 tasks, including configuration of all tasks including those for CI, nightlies,
1226 and releases; as well as Docker and VM images used to execute those tasks.
1231 - Firefox Build System::Task Configuration
1247 machine_name: core_build_config_taskgraph
1248 machine_name: core_build_config
1250 - name: 'Core: Code Analysis and Debugging Tools'
1251 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1252 and other characteristics of it.
1255 - tools/leak-gauge/**/*
1256 - tools/performance/**/*
1259 group: dev-performance
1264 machine_name: core_code_analysis_and_debugging_tools
1266 - name: 'Core: Content Security'
1267 description: 'Native content-based security features enforced in the ContentSecurityManager,
1268 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1269 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1270 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1271 and top-level data: URI blocking.'
1285 - 'Core::DOM: Security'
1292 machine_name: core_content_security
1294 - name: 'Core: Cookies'
1297 - netwerk/cookie/**/*
1306 - Christian Biesinger
1312 - 'Core::Networking: Cookies'
1321 machine_name: core_cookies
1323 - name: 'Core: Crash reporting'
1324 description: Infrastructure and tools used to generate, submit and process crash
1325 reports. This includes the in-tree google-breakpad fork, the crash report generation
1326 machinery as well as the host tools used to dump symbols, analyse minidumps
1327 and generate stack traces.
1329 - toolkit/crashreporter/**/*
1330 - toolkit/components/crashes/**/*
1331 - tools/crashreporter/**/*
1332 - ipc/glue/CrashReporter*
1333 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1338 url: :ref:`Crash Reporter`
1340 - Toolkit::Crash Reporting
1346 machine_name: core_crash_reporting
1348 - machine_name: core_credentials
1349 name: 'Core: Credentials'
1350 description: API Surface for FedCM and WebAuthn
1352 - toolkit/components/credentialmanagement/**/*
1353 - browser/components/credentialmanager/**/*
1354 - dom/credentialmanagement/**/*
1366 - 'Core::DOM: Credential Management'
1367 - 'Core::DOM: Web Authentication'
1369 - name: 'Core: C++/Rust usage, tools, and style'
1370 description: Aspects of C++ use such as language feature usage, standard library
1371 versions/usage, compiler/toolchain versions, formatting and naming style, and
1372 aspects of Rust use as needs arise
1374 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1375 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1376 # - docs/code-quality/**/*
1377 # - docs/testing-rust-code/**/*
1378 # - docs/writing-rust-code/**/*
1393 machine_name: core_crust_usage_tools_and_style
1395 - name: 'Core: Cycle Collector'
1396 description: Code to break and collect objects within reference cycles
1398 - xpcom/base/nsCycleCollect*
1399 # TODO "and some support headers"
1400 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1406 - Core::Cycle Collector
1412 machine_name: core_cycle_collector
1414 - name: 'Core: DLL Services'
1415 description: Windows dynamic linker instrumentation and blocking
1417 - toolkit/xre/dllservices/**/*
1423 - Core::DLL Services
1428 machine_name: core_dll_services
1430 - name: 'Core: docshell'
1434 - uriloader/base/**/*
1440 - Christian Biesinger
1446 - Core::DOM: Navigation
1453 machine_name: core_docshell
1455 - name: 'Core: Document Object Model'
1459 exclude_module_paths: true
1476 url: http://developer.mozilla.org/en/docs/DOM
1479 - 'Core::DOM: Core & HTML'
1480 review_group: dom-core
1496 machine_name: core_document_object_model
1498 - name: 'Core: DOM File'
1499 description: DOM Blob, File and FileSystem APIs
1502 - dom/filesystem/**/*
1505 url: http://developer.mozilla.org/en/docs/DOM
1512 machine_name: core_dom_file
1514 - machine_name: core_dom_streams
1515 name: 'Core: DOM Streams'
1516 description: Streams Specification implementation
1527 url: http://developer.mozilla.org/en/docs/DOM
1530 - 'Core::DOM: Streams'
1533 - name: 'Core: Editor'
1548 machine_name: core_editor
1550 - name: 'Core: Event Handling'
1551 description: DOM Events and Event Handling
1554 # TODO "and event handling related code elsewhere"
1559 url: http://developer.mozilla.org/en/docs/DOM
1561 - 'Core::DOM: Events'
1562 - 'Core::DOM: UI Events & Focus Handling'
1568 machine_name: core_event_handling
1570 - machine_name: core_firefox_source_documentation
1571 name: 'Core: Firefox Source Documentation'
1572 description: The infrastructure platform used to generate Firefox's source documentation,
1573 excluding editorial control over the content.
1576 - tools/moztreedocs/
1583 - Developer Infrastructure::Source Documentation
1584 url: https://firefox-source-docs.mozilla.org/
1585 - name: 'Core: Gecko Profiler'
1586 description: Gecko's built-in profiler
1588 - tools/profiler/**/*
1589 - mozglue/baseprofiler/**/*
1594 - Shu-yu Guo (JS integration)
1595 - Thinker Lee (TaskTracer)
1596 - Cervantes Yu (TaskTracer)
1597 - Nicholas Nethercote
1603 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1605 - Core::Gecko Profiler
1612 machine_name: core_gecko_profiler
1614 - name: 'Core: GeckoView'
1615 description: Framework for embedding Gecko into Android applications
1617 - mobile/android/**/*
1618 - widget/android/**/*
1631 url: https://wiki.mozilla.org/Mobile/GeckoView
1633 - GeckoView::General
1640 machine_name: core_geckoview
1642 - name: 'Core: Global Key Bindings'
1643 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1644 and the like, as those are part of i18n.
1647 # TODO "and platform specific directories under it"
1649 group: dev-accessibility
1650 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1652 - 'Core::Keyboard: Navigation'
1657 machine_name: core_global_key_bindings
1659 - name: 'Core: Graphics'
1660 description: Mozilla graphics API
1668 - Benoit Girard(Compositor, Performance)
1670 - George Wright(Canvas2D)
1674 - John Daggett(text/fonts)
1675 - Benoit Jacob(gfx/gl)
1677 - Vladimir Vukicevic
1678 - James Willcox(Android)
1682 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1683 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1686 - 'Core::Graphics: Layers'
1687 - 'Core::Graphics: Text'
1688 - 'Core::Graphics: WebRender'
1689 - 'Core::GFX: Color Management'
1690 - 'Core::Canvas: 2D'
1691 - 'Core::Canvas: WebGL'
1705 machine_name: core_graphics
1708 description: Hardware Abstraction Layer
1714 - Core::Hardware Abstraction Layer (HAL)
1718 machine_name: core_hal
1720 - name: 'Core: HTML Parser'
1721 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1722 to the HTML specification, and is mostly translated automatically from Java
1728 url: http://about.validator.nu/
1730 - 'Core::HTML: Parser'
1735 machine_name: core_html_parser
1737 - name: 'Core: I18N Library'
1746 url: :ref:`Internationalization`
1748 - Core::Internationalization
1756 machine_name: core_i18n_library
1758 - name: 'Core: ImageLib'
1761 - media/libjpeg/**/*
1778 machine_name: core_imagelib
1780 - name: 'Core: IndexedDB'
1783 - dom/indexedDB/**/*
1793 url: https://developer.mozilla.org/en/IndexedDB
1795 - 'Core::DOM: IndexedDB'
1796 review_group: dom-storage-reviewers
1802 machine_name: core_indexeddb
1805 description: Native message-passing between threads and processes
1826 review_group: ipc-reviewers
1833 machine_name: core_ipc
1835 - name: 'Core: JavaScript'
1836 description: JavaScript engine (SpiderMonkey)
1860 - Nicholas Nethercote
1865 url: https://spidermonkey.dev/
1867 - Core::JavaScript Engine
1868 - 'Core::JavaScript: GC'
1869 - 'Core::JavaScript: Internationalization API'
1870 - 'Core::JavaScript: Standard Library'
1871 - 'Core::JavaScript: WebAssembly'
1893 machine_name: core_javascript
1895 - name: 'Core: JavaScript JIT'
1896 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1910 url: https://spidermonkey.dev/
1912 - 'Core::JavaScript Engine: JIT'
1922 machine_name: core_javascript_jit
1924 - name: 'Core: Layout Engine'
1925 description: rendering tree construction, layout (reflow), etc.
1931 - layout/generic/**/*
1932 - layout/printing/**/*
1933 - layout/tables/**/*
1944 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1947 - 'Core::Layout: Block and Inline'
1948 - 'Core::Layout: Columns'
1949 - 'Core::Layout: Flexbox'
1950 - 'Core::Layout: Floats'
1951 - 'Core::Layout: Form Controls'
1952 - 'Core::Layout: Generated Content, Lists, and Counters'
1953 - 'Core::Layout: Grid'
1954 - 'Core::Layout: Images, Video, and HTML Frames'
1955 - 'Core::Layout: Positioned'
1956 - 'Core::Layout: Ruby'
1957 - 'Core::Layout: Scrolling and Overflow'
1958 - 'Core::Layout: Tables'
1959 - 'Core::Layout: Text and Fonts'
1960 - Core::Print Preview
1961 - 'Core::Printing: Output'
1971 machine_name: core_layout_engine
1973 - name: 'Core: Legacy HTML Parser'
1976 - parser/htmlparser/**/*
1983 url: http://www.mozilla.org/newlayout/doc/parser.html
1985 - 'Core::HTML: Parser'
1990 machine_name: core_legacy_html_parser
1992 - name: 'Core: libjar'
1993 description: The JAR handling code (protocol handler, stream implementation, and
1994 zipreader/zipwriter).
1996 - modules/libjar/**/*
2006 - 'Core::Networking: JAR'
2012 machine_name: core_libjar
2014 - name: 'Core: MathML'
2015 description: MathML is a low-level specification for describing mathematics which
2016 provides a foundation for the inclusion of mathematical expressions in Web pages.
2018 - layout/mathml/**/*
2020 group: dev-tech-mathml
2021 url: https://developer.mozilla.org/docs/Web/MathML
2033 machine_name: core_mathml
2035 - name: 'Core: Media Playback'
2036 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2037 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2040 - media/gmp-clearkey/**/*
2041 - media/libcubeb/**/*
2042 - media/libnestegg/**/*
2044 - media/libopus/**/*
2045 - media/libtheora/**/*
2046 - media/libtremor/**/*
2047 - media/libvorbis/**/*
2049 - dom/media/platforms/omx/**/*
2050 - dom/media/gmp/rlz/**/*
2065 machine_name: core_media_playback
2067 - name: 'Core: Media Transport'
2068 description: Pluggable transport for real-time media
2070 - dom/media/webrtc/transport/**/*
2074 - Core::WebRTC::Networking
2083 machine_name: core_media_transport
2085 - name: 'Core: Memory Allocator'
2086 description: Most things related to memory allocation in Gecko, including jemalloc,
2087 replace-malloc, DMD (dark matter detector), logalloc, etc.
2093 - Nicholas Nethercote
2101 machine_name: core_memory_allocator
2103 - name: 'Core: mfbt'
2104 description: mfbt is a collection of headers, macros, data structures, methods,
2105 and other functionality available for use and reuse throughout all Mozilla code
2106 (including SpiderMonkey and Gecko more broadly).
2120 machine_name: core_mfbt
2122 - name: 'Core: Moz2D (Graphics submodule)'
2123 description: Platform independent 2D graphics API
2128 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2136 machine_name: core_moz2d_graphics_submodule
2138 - name: 'Core: Mozglue'
2139 description: Glue library containing various low-level functionality, including
2140 a dynamic linker for Android, a DLL block list for Windows, etc.
2148 - Kartikaya Gupta (mozglue/android)
2153 machine_name: core_mozglue
2155 - name: 'Core: MSCOM'
2156 description: Integration with Microsoft Distributed COM
2167 - 'Core::IPC: MSCOM'
2173 machine_name: core_mscom
2175 - name: 'Core: Necko'
2176 description: The Mozilla Networking Library
2180 - netwerk/build/**/*
2181 - netwerk/cache2/**/*
2183 - netwerk/locales/**/*
2185 - netwerk/protocol/**/*
2186 - netwerk/socket/**/*
2187 - netwerk/streamconv/**/*
2188 - netwerk/system/**/*
2193 - dom/websocket/**/*
2194 - uriloader/prefetch/**/*
2195 - uriloader/preload/**/*
2198 - Dragana Damjanovic
2200 - Christian Biesinger
2211 group: dev-tech-network
2212 url: :ref:`Networking`
2215 - 'Core::Networking: Cache'
2216 - 'Core::Networking: Cookies'
2217 - 'Core::Networking: File'
2218 - 'Core::Networking: HTTP'
2219 - 'Core::Networking: JAR'
2220 - 'Core::Networking: Proxy'
2221 - 'Core::Networking: Websockets'
2222 - 'Core::DOM: Networking'
2228 machine_name: core_necko
2230 - name: 'Core: NodeJS usage, tools, and style'
2231 description: Advises on the use of NodeJS and npm packages at build and runtime.
2232 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2233 teams to maintain automated license and security audits of npm packages. Works
2234 with the security team and relevant developers to respond to vulnerabilities
2235 in NodeJS and vendored npm packages.
2240 # TODO: and others as appropriate
2244 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2254 machine_name: core_nodejs_usage_tools_and_style
2256 - name: 'Core: Notifications'
2257 description: The infrastructure for Web Notifications API and the Firefox Desktop
2260 - dom/notification/**/*
2261 - toolkit/components/alerts/**/*
2262 - toolkit/system/gnome/nsAlertsIconListener*
2263 - toolkit/system/gnome/nsSystemAlertsService*
2264 - widget/windows/ToastNotification*
2265 - widget/cocoa/OSXNotificationCenter*
2269 - 'Core::DOM: Notifications'
2270 - Toolkit::Alerts Service
2276 machine_name: core_notifications
2278 - name: 'Core: NSPR'
2279 description: Netscape Portable Runtime
2285 group: dev-tech-nspr
2293 machine_name: core_nspr
2296 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2299 - toolkit/components/pdfjs/**/*
2307 url: https://github.com/mozilla/pdf.js
2314 machine_name: core_pdf
2316 - name: 'Core: Permissions'
2319 - extensions/permissions/**/*
2328 - Christian Biesinger
2335 - 'Core :: Permission Manager'
2336 review_group: permissions-reviewers
2341 machine_name: core_permissions
2343 - name: 'Core: Plugins'
2344 description: ' NPAPI Plugin support.'
2356 url: https://wiki.mozilla.org/Plugins
2361 machine_name: core_plugins
2363 - name: 'Core: Preferences'
2364 description: Preference library
2366 - modules/libpref/**/*
2369 - Nicholas Nethercote
2375 - 'Core::Preferences: Backend'
2381 machine_name: core_preferences
2383 - name: 'Core: Private Browsing'
2384 description: Implementation of the Private Browsing mode, and the integration
2385 of other modules with Private Browsing APIs.
2388 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2389 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2397 url: https://wiki.mozilla.org/Private_Browsing
2399 - Firefox::Private Browsing
2404 machine_name: core_private_browsing
2406 - name: 'Core: Privilege Manager'
2407 description: Caps is the capabilities-based security system.
2417 url: http://www.mozilla.org/projects/security/components/index.html
2419 - 'Core::Security: CAPS'
2424 machine_name: core_privilege_manager
2426 - name: 'Core: Push Subscriptions'
2427 description: Push is a way for application developers to send messages to their
2431 - dom/interfaces/push/**/*
2438 - Dragana Damjanovic
2441 - 'Core::DOM: Push Subscriptions'
2443 machine_name: core_push_subscriptions
2445 - name: 'Core: Sandboxing (Linux)'
2446 description: Sandboxing for the Linux platform
2448 - security/sandbox/linux/**/*
2451 url: https://wiki.mozilla.org/Security/Sandbox
2453 - 'Core::Security: Process Sandboxing'
2458 machine_name: core_sandboxing_linux
2460 - name: 'Core: Sandboxing (OSX)'
2461 description: Sandboxing for the OSX platform
2463 - security/sandbox/mac/**/*
2466 url: https://wiki.mozilla.org/Security/Sandbox
2468 - 'Core::Security: Process Sandboxing'
2472 machine_name: core_sandboxing_osx
2474 - name: 'Core: Sandboxing (Windows)'
2475 description: Sandboxing for the Windows platform
2477 - security/sandbox/win/**/*
2487 url: https://wiki.mozilla.org/Security/Sandbox
2489 - 'Core::Security: Process Sandboxing'
2494 machine_name: core_sandboxing_windows
2496 - name: 'Core: security'
2497 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2510 group: dev-tech-crypto
2511 url: :ref:`Network Security Services (NSS)`
2516 - 'Core::Security: S/MIME'
2529 machine_name: core_security
2531 - name: 'Core: Security - Mozilla PSM Glue'
2532 description: Personal Security Manager
2534 - security/manager/**/*
2537 - Kai Engert (2001-2012)
2538 group: dev-tech-crypto
2540 - 'Core::Security: PSM'
2549 machine_name: core_security_mozilla_psm_glue
2551 - machine_name: core_security_rlbox
2552 name: Security - RLBox
2553 description: Sandboxing using WASM/RLBox libraries.
2557 - third_party/rlbox_wasm2c_sandbox
2567 - 'Core::Security: RLBox'
2568 - name: 'Core: Static analysis & rewriting for C++'
2569 description: Tools for checking C++ code looking for problems at compile time,
2570 plus tools for automated rewriting of C++ code.
2572 - build/clang-plugin/**/*
2573 - tools/rewriting/**/*
2574 # TODO among other out of tree tools
2577 - Birunthan Mohanathas
2581 - Core::Rewriting & Analysis
2588 machine_name: core_static_analysis_rewriting_for_c
2590 - name: 'Core: storage'
2591 description: Storage APIs with a SQLite backend
2593 - third_party/sqlite3/**/*
2597 url: http://developer.mozilla.org/en/docs/Storage
2599 - Toolkit::Storage, Core::SQL
2607 machine_name: core_storage
2609 - name: 'Core: String'
2614 group: dev-tech-xpcom
2615 url: :ref:`String Guide`
2624 machine_name: core_string
2626 - name: 'Core: Style System'
2627 description: CSS style sheet handling; style data computation
2638 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2640 - Core::CSS Parsing and Computation
2641 - 'Core::DOM: CSS Object Model'
2651 machine_name: core_style_system
2654 description: Scalable Vector Graphics
2661 url: https://developer.mozilla.org/docs/Web/SVG
2672 machine_name: core_svg
2674 - name: 'Core: UA String'
2675 description: User Agent String
2677 - netwerk/protocol/http/**/*
2680 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2682 - 'Core::Networking: HTTP'
2688 machine_name: core_ua_string
2690 - name: 'Core: View System'
2691 description: The View Manager is responsible for handling "heavyweight" rendering
2692 (some clipping, compositing) and event handling tasks.
2703 - 'Core::Layout: View Rendering'
2708 machine_name: core_view_system
2710 - name: 'Core: Web Audio'
2711 description: Support for the W3C Web Audio API specification.
2713 - dom/media/webaudio/**/*
2720 url: https://wiki.mozilla.org/Web_Audio_API
2727 machine_name: core_web_audio
2729 - name: 'Core: Web Painting'
2730 description: painting, display lists, and layer construction
2732 - layout/painting/**/*
2733 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2736 url: :ref:`Layout & CSS`
2738 - 'Core::Layout: Web Painting'
2750 machine_name: core_web_painting
2752 - name: 'Core: Web Workers'
2755 - dom/serviceworkers/**/*
2768 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2770 - 'Core::DOM: Workers'
2771 review_group: dom-worker-reviewers
2778 machine_name: core_web_workers
2780 - name: 'Core: WebGPU (Graphics submodule)'
2781 description: WebGPU implementation
2784 - gfx/wgpu_bindings/**/*
2785 - third_party/rust/naga/**/*
2786 - third_party/rust/wgpu-core/**/*
2787 - third_party/rust/wgpu-hal/**/*
2788 - third_party/rust/wgpu-types/**/*
2789 - testing/web-platform/tests/webgpu/**/*
2790 - testing/web-platform/meta/webgpu/**/*
2791 - testing/web-platform/mozilla/tests/webgpu/**/*
2792 - testing/web-platform/mozilla/meta/webgpu/**/*
2795 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2797 - Core::Graphics::WebGPU
2798 review_group: webgpu-reviewers
2810 machine_name: core_webgpu_graphics_submodule
2812 - name: 'Core: WebRTC'
2813 description: WebRTC is responsible for realtime audio and video communication,
2814 as well as related issues like low-level camera and microphone access
2817 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2824 url: https://wiki.mozilla.org/Media/webrtc
2827 - Core::WebRTC Networking
2832 machine_name: core_webrtc
2834 - name: 'Core: WebVR'
2835 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2836 including API, devices, graphics and integration
2842 - Vladimir Vukicevic
2845 url: https://mozvr.com/
2854 - name: 'Core: WebRTC Media'
2855 description: Submodule of WebRTC responsible for access to media input devices
2856 (microphones, cameras, screen capture), as well as realtime audiovisual
2857 codecs and packetization.
2860 - dom/media/webrtc/**/*
2861 - dom/media/systemservices/**/*
2867 url: https://wiki.mozilla.org/Media/webrtc
2869 - Core::WebRTC (Audio/Video)
2876 machine_name: core_webrtc_media
2878 - name: 'Core: WebRTC Signaling'
2879 description: Submodule of WebRTC responsible for implementation of PeerConnection
2880 API, WebRTC identity, and SDP/JSEP handling
2882 - media/webrtc/signaling/**/*
2890 url: https://wiki.mozilla.org/Media/webrtc
2892 - Core::WebRTC (Signaling)
2897 machine_name: core_webrtc_signaling
2898 machine_name: core_webvr
2900 - name: 'Core: Widget'
2901 description: Top level Widget
2906 - Vladimir Vukicevic
2913 - Core::Drag and Drop
2915 - 'Core::Printing: Setup'
2918 machine_name: core_widget
2920 - name: 'Core: Widget - Android'
2921 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2926 machine_name: core_widget_android
2928 - name: 'Core: Widget - GTK'
2929 description: GTK widget support
2936 url: http://www.mozilla.org/ports/gtk/
2938 - 'Core::Widget: Gtk'
2944 machine_name: core_widget_gtk
2946 - name: 'Core: Widget - Headless'
2947 description: Headless widget support
2949 - widget/headless/**/*
2958 machine_name: core_widget_headless
2960 - name: 'Core: Widget - macOS'
2961 description: ' macOS widget support'
2974 - 'Core::Widget: Cocoa'
2980 machine_name: core_widget_macos
2982 - name: 'Core: Widget - Windows'
2983 description: Windows widget support
2985 - widget/windows/**/*
2991 - Vladimir Vukicevic
2994 - Christian Biesinger
2996 - Josh 'timeless' Soref
3003 - 'Core::Widget: Win32'
3009 machine_name: core_widget_windows
3012 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
3013 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
3014 that are not covered by more specific projects.
3030 machine_name: core_xml
3032 - name: 'Core: XPApps'
3033 description: Cross-Platform Applications, mostly Navigator front end and application
3038 group: dev-apps-seamonkey
3042 - Josh 'timeless' Soref
3045 machine_name: core_xpapps
3047 - name: 'Core: XPCOM'
3048 description: The cross-platform object model and core data structures.
3054 - xpcom/components/**/*
3058 - xpcom/reflect/**/*
3062 - xpcom/threads/**/*
3063 - xpcom/windbgdlg/**/*
3075 review_group: xpcom-reviewers
3085 machine_name: core_xpcom
3087 - name: 'Core: XPConnect'
3088 description: Deep Magic
3107 machine_name: core_xpconnect
3109 - name: 'Core: XPIDL'
3110 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3111 runtime type description files from .idl interface description files.
3113 - xpcom/idl-parser/**/*
3120 - Josh 'timeless' Soref
3121 group: dev-tech-xpcom
3127 machine_name: core_xpidl
3129 - name: 'Core: XSLT Processor'
3130 description: XSLT transformations processor
3138 group: dev-tech-xslt
3139 url: https://developer.mozilla.org/docs/Web/XSLT
3145 machine_name: core_xslt_processor
3147 - name: Desktop Firefox
3148 description: Standalone Web Browser.
3161 - Tim Guan-tin Chien
3172 - Matthew Noorenberghe
3194 - name: Add-ons Manager
3195 description: Extension management back-end.
3197 - toolkit/mozapps/extensions/**/*
3211 machine_name: addons_manager
3213 - name: Add-ons Manager UI
3214 description: about:addons.
3216 - toolkit/mozapps/extensions/content/**/*
3229 machine_name: addons_manager_ui
3231 - name: Application Update
3232 description: The application update services.
3234 - toolkit/mozapps/update/**/*
3239 machine_name: application_update
3245 - name: Bookmarks & History
3246 description: The bookmarks and history services (Places).
3248 - browser/components/places/**/*
3249 - toolkit/components/places/**/*
3258 - Firefox::Bookmarks & History
3260 review_group: places-reviewers
3268 machine_name: bookmarks_history
3270 - name: Desktop Theme
3271 description: The style rules used in the desktop UI.
3273 - browser/themes/**/*
3274 - toolkit/themes/**/*
3291 machine_name: desktop_theme
3294 description: The main browser UI except where covered by more specific submodules.
3296 - browser/base/content/**/*
3309 machine_name: desktop_ui
3311 - name: Download Manager
3312 description: The downloads UI and service.
3314 - browser/components/downloads/**/*
3315 - toolkit/mozapps/downloads/**/*
3316 - uriloader/exthandler/**/*
3326 machine_name: download_manager
3328 - name: Enterprise Policies
3329 description: System policies for controlling Firefox.
3331 - browser/components/enterprisepolicies/**/*
3336 machine_name: enterprise_policies
3338 - name: Experiments/Rollouts
3339 description: Desktop clients for our experiments and off-train deployments
3342 - toolkit/components/normandy/**/*
3343 - toolkit/components/nimbus/**/*
3349 - Firefox::Nimbus Desktop Client
3350 url: https://experimenter.info/
3356 machine_name: normandy
3358 - machine_name: firefox_view
3360 description: The Firefox View page and its modules.
3362 - browser/components/firefoxview/**/*
3371 - name: Form Autofill
3372 description: Form detection and autocomplete.
3374 - browser/extensions/formautofill/**/*
3375 - toolkit/components/satchel/**/*
3378 - Matthew Noorenberghe
3384 machine_name: form_autofill
3386 - name: In-product Messaging
3387 description: The system for delivering in-product messaging and onboarding
3388 including Activity Stream Router, about:welcome, UI tour.
3390 - browser/components/asrouter/**/*
3391 - browser/components/aboutwelcome/**/*
3392 - browser/components/uitour/**/*
3393 - toolkit/components/messaging-system/**/*
3396 - Firefox::Messaging System
3410 machine_name: inproduct_messaging
3412 - name: Launcher Process
3413 description: Windows process for bootstrapping the browser process.
3415 - browser/app/winlauncher/**/*
3421 - Firefox::Launcher Process
3428 machine_name: launcher_process
3430 - machine_name: localization
3432 description: Tooling to enable translation and facilitate localization.
3440 - name: New Tab Page
3441 description: The new tab/home page.
3443 - browser/components/newtab/**/*
3446 - Firefox::New Tab Page
3456 machine_name: new_tab_page
3458 - name: Password Manager
3459 description: Managing, saving and filling logins.
3461 - toolkit/components/passwordmgr/**/*
3462 - browser/components/aboutlogins/**/*
3465 - Matthew Noorenberghe
3470 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3472 - Toolkit::Password Manager
3473 - 'Toolkit::Password Manager: Site'
3475 - Firefox::about:logins
3482 machine_name: password_manager
3484 - machine_name: firefox_pip
3485 name: Picture-in-Picture
3486 description: A component that allows video elements to be pulled out into
3487 an always-on-top window.
3489 - toolkit/components/pictureinpicture
3490 - browser/extensions/pictureinpicture
3502 - name: Profile Migration
3503 description: Migrating data from other browsers.
3505 - browser/components/migration/**/*
3513 machine_name: profile_migration
3516 description: Code relating to Screenshots functionality
3518 - browser/extensions/screenshots/**/*
3519 - browser/components/screenshots/**/*
3527 - Firefox::Screenshots
3533 machine_name: screenshots
3535 - name: Search and Address Bar
3536 description: The search service, address bar and address bar autocomplete.
3538 - browser/components/search/**/*
3539 - browser/components/urlbar/**/*
3540 - toolkit/components/search/**/*
3543 - Firefox::Address Bar
3556 machine_name: search_and_address_bar
3558 - name: Security and Privacy UI
3559 description: The front-end to our security and privacy features, including
3560 Protections UI, Site Identity, Site Permissions and Certificate Errors
3562 - browser/components/protections/**/*
3563 - browser/components/controlcenter/**/*
3567 - Nihanth Subramanya
3573 - Firefox::Protections UI
3574 - Firefox::Site Identity
3575 - Firefox::Site Permissions
3578 machine_name: security_and_privacy_ui
3580 - name: Session Restore
3581 description: Restoring a user's session after starting Firefox.
3583 - browser/components/sessionstore/**/*
3584 - toolkit/components/sessionstore/**/*
3594 - Firefox::Session Restore
3601 machine_name: session_restore
3604 description: The front-end settings user interface.
3606 - browser/components/preferences/**/*
3607 - browser/themes/*/preferences
3608 - toolkit/mozapps/preferences
3620 machine_name: settings_ui
3622 - name: Tabbed Browser
3623 description: The UI component controlling browser tabs.
3625 - browser/base/content/tabbrowser*
3626 - browser/base/content/browser-allTabsMenu.js
3627 - browser/base/content/browser-ctrlTab.js
3628 - browser/base/content/browser-fullZoom.js
3629 - browser/modules/AsyncTabSwitcher.sys.mjs
3630 - browser/modules/NewTabPagePreloading.sys.mjs
3631 - browser/modules/OpenInTabsUtils.sys.mjs
3632 - browser/modules/TabsList.sys.mjs
3633 - browser/modules/TabUnloader.sys.mjs
3636 - Firefox::Tabbed Browser
3645 machine_name: tabbed_browser
3647 - name: Windows Installer
3648 description: The installer for Windows.
3650 - browser/installer/**/*
3651 - toolkit/mozapps/installer/**/*
3654 - Firefox::Installer
3660 machine_name: windows_installer
3661 machine_name: desktop_firefox
3663 - machine_name: devtools
3665 description: Mozilla Developer Tools
3691 - Steve Fink (heapsnapshot code)
3701 - Panagiotis Astithas
3719 url: http://firefox-dev.tools/
3722 - machine_name: javascript_usage
3723 name: JavaScript usage, tools, and style
3724 description: Aspects of JavaScript use such as language feature usage, tooling
3725 such as lint configurations, formatting and naming style.
3727 - .eslintrc-test-paths.js
3728 - '**/.eslintignore'
3730 - tools/lint/eslint/**/*
3739 review_group: frontend-codestyle-reviewers
3748 - machine_name: mozharness
3750 description: Configuration-driven script harness.
3752 - testing/mozharness/**/*
3765 - 'Release Engineering :: Applications: MozharnessCore'
3766 - machine_name: python_usage
3767 name: Python usage, tools, and style
3768 description: Aspects of Python use such as tooling, formatting and naming style
3770 - tools/lint/python/**/*
3780 - 'Developer Infrastructure :: Lint and Formatting'
3782 - machine_name: remote_protocol
3783 name: Remote Protocol
3784 description: Low-level remote protocol exposing interfaces for inspecting state
3785 and controlling execution of web documents, instrumenting various subsystems
3786 in the browser, simulating user interaction for automation purposes, and for
3787 subscribing to updates from the aforementioned.
3793 url: https://firefox-source-docs.mozilla.org/remote/
3802 - machine_name: remote_protocol_agent
3804 description: Underlying transport layer and server to allow remoting of Firefox
3805 for automation and debugging.
3810 - remote/marionette/*
3811 - remote/webdriver-bidi/*
3816 - Maja Frydrychowicz
3820 - 'Remote Protocol :: Agent'
3828 - machine_name: remote_protocol_cdp
3830 description: The core implementation for CDP support. Please file domain specific
3831 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3838 - Maja Frydrychowicz
3842 - 'Remote Protocol :: CDP'
3850 - machine_name: remote_protocol_marionette
3852 description: Marionette is a remote protocol that lets out-of-process programs
3853 communicate with, instrument, and control Gecko-based browsers. Combined
3854 with geckodriver, this forms our WebDriver classic implementation.
3856 - remote/marionette/*
3861 - Maja Frydrychowicz
3864 - 'Remote Protocol :: Marionette'
3865 group: dev-webdriver
3873 - machine_name: remote_protocol_webdriver_bidi
3874 name: WebDriver BiDi
3875 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3877 - remote/webdriver-bidi/*
3880 - 'Remote Protocol :: WebDriver BiDi'
3881 group: dev-webdriver
3889 - machine_name: sync
3891 description: Firefox Sync client
3893 - services/sync/**/*
3906 url: https://wiki.mozilla.org/Services/Process/Code_Review
3910 - machine_name: testing_firefox_ui
3912 description: Firefox UI test framework.
3914 - testing/firefox-ui/**/*
3917 - Maja Frydrychowicz
3919 - 'Testing :: Firefox UI'
3927 - machine_name: testing_geckodriver
3929 description: Proxy for using W3C WebDriver-compatible clients to interact with
3930 Gecko-based browsers.
3932 - testing/geckodriver/**/*
3940 - 'Testing :: geckodriver'
3941 group: dev-webdriver
3943 - machine_name: testing_gtest
3945 description: GTest test harness.
3947 - testing/gtest/**/*
3954 - 'Testing :: GTest'
3956 - machine_name: testing_marionette_client_harness
3957 name: Marionette Client & Harness
3958 description: Python client and harness for the Marionette remote protocol implementation.
3960 - testing/marionette/**/*
3965 - Maja Frydrychowicz
3968 - 'Testing :: Marionette Client & Harness'
3976 - machine_name: testing_mochitest
3978 description: Mochitest test framework
3980 - testing/mochitest/**/*
3989 - 'Testing :: Mochitest'
3990 - machine_name: testing_mozbase
3992 description: Base modules used for implementing test components.
4006 - 'Testing :: Mozbase'
4007 - 'Testing :: Mozbase Rust'
4008 - machine_name: testing_performance_testing
4009 name: Performance Testing
4011 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
4012 MozPerfTest, AWSY, JSShell, mach try perf, etc.. See our PerfDocs for more information on
4013 the owners/peers of the various components (linked below).
4015 - testing/raptor/**/*
4016 - testing/talos/**/*
4017 - python/mozperftest/**/*
4019 - testing/jsshell/**/*
4020 - tools/lint/perfdocs/**/*
4021 - testing/perfdocs/**/*
4022 - testing/performance/**/*
4023 - testing/condprofile/**/*
4024 - tools/browsertime/**/*
4025 - tools/tryselect/selectors/perf.py
4035 - 'Testing :: Raptor'
4036 - 'Testing :: Talos'
4038 - 'Testing :: Performance'
4039 - 'Testing :: mozperftest'
4040 - 'Testing :: Condprofile'
4041 url: :ref:`Performance Testing`
4042 - machine_name: testing_reftest
4043 name: Reftest (+ jsreftest + crashtest)
4044 description: Reftest test framework
4046 - layout/tools/reftest/**/*
4055 - 'Testing :: Reftest'
4056 - machine_name: testing_tryselect
4058 description: Frontend for selecting jobs on the try server.
4060 - tools/tryselect/**/*
4069 - 'Developer Infrastructure :: Try'
4070 - machine_name: testing_web_platform_tests_infrastructure
4071 name: web-platform-tests infrastructure
4072 description: Infrastructure for running the cross-browser web-platform-tests
4074 - testing/web-platform/**/*
4075 - testing/web-platform/tests/tools/**/*
4077 - testing/web-platform/tests/**/*
4078 - testing/web-platform/meta/**/*
4079 - testing/web-platform/mozilla/**/*
4085 - 'Testing :: web-platform-tests'
4086 - machine_name: testing_xpcshell
4088 description: XPCShell test harness.
4090 - testing/xpcshell/**/*
4098 - Testing::XPCShell Harness
4100 description: Components shared between desktop and mobile browsers.
4109 - Matthew Noorenberghe
4121 - name: Application Startup
4122 description: The profile system and startup process before the front-end launches.
4124 - toolkit/profile/**/*
4125 - toolkit/components/remote/**/*
4132 machine_name: application_startup
4136 The core infrastructure in the Firefox client to send back telemetry
4137 data. Includes the common mechanisms to record, view and submit data: Legacy
4138 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4139 does ''not'' include responsibility for every piece of submitted Telemetry
4140 data. Each team/module is responsible for their own measurements (histograms,
4141 scalars, other ping submissions, etc.).
4143 - toolkit/components/glean/**/*
4144 - toolkit/components/telemetry/**/*
4145 - toolkit/content/aboutTelemetry.*
4150 url: :ref:`Telemetry`
4158 machine_name: telemetry
4161 description: The base widgets used throughout the UI.
4163 - toolkit/content/widgets/**/*
4175 machine_name: ui_widgets
4177 - name: Webextensions
4178 description: Webextension APIs and integration.
4180 - browser/components/extensions/**/*
4181 - toolkit/components/extensions/**/*
4193 machine_name: webextensions
4194 machine_name: toolkit
4195 - machine_name: translation
4197 description: Support for translation in Firefox, and the infrastructure to train
4198 new translation language models.
4200 - toolkit/components/translations/**/*
4201 - toolkit/components/translation/**/*
4202 - browser/components/translations/**/*
4212 url: https://github.com/mozilla/firefox-translations-training https://github.com/mozilla/firefox-translations-models
4213 https://github.com/mozilla/firefox-translations-evaluations https://github.com/mozilla/firefox-translations
4215 - Firefox::Translation
4216 review_group: translations-reviewers
4217 - machine_name: url_classifier
4218 name: URL Classifier
4219 description: Database and list-based classification of URL resources, such as
4220 Tracking Protection and SafeBrowsing.
4222 - toolkit/components/url-classifier/**/*
4223 - netwerk/url-classifier/**/*
4232 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4233 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4241 config: 1650f8aa7595ca3b30f71f18cad0b42b9e957137
4242 export: 760771e343bdf7a45922c80e4643fe0f71fd3be6