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-07-27T20:35:51.531194'
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
76 name: Alessio Placitelli
84 name: Andrew Sutherland
92 name: Andrea Marchesini
104 name: Benjamin Bouvier
112 name: Ben Dean-Kawamura
116 name: Benjamin Beurdouche
144 name: Hubert Boma Manilla
155 name: Bryce Seager van Dyk
166 name: Benjamin VanderSloot
182 name: Calixte Denizet
193 name: Nazım Can Altınova
197 name: Caroline Cullen
209 name: Christoph Kerschbaumer
221 name: Daisuke Akatsuka
285 name: Dragana Damjanovic
321 name: Emilio Cobos Álvarez
325 name: Masatoshi Kimura
344 name: Nick Fitzgerald
348 name: Francesco Lodolo
368 name: Gian-Carlo Pascutto
390 name: Gabriele Svelto
394 name: Haik Aftandilian
402 name: Hiroyuki Ikezoe
410 name: Jan Honza Odvarko
434 name: Jan-Erik Rediger
454 name: Julian Descottes
482 name: Jan-Ivar Bruaroey
510 name: Jonathan Almeida
545 name: Jean-Yves Avenard
573 name: Kimberly Sereduck
574 nick: kimberlythegeek
601 name: Dzmitry Malyshau
613 name: Lougenia Bailey
629 name: Marco Castelluccio
645 name: Masayuki Nakano
654 nick: MatsPalmgren_bugz
661 name: Andrew McCreight
693 name: Morgan Reschenberg
733 name: Nicolas Chevobbe
745 name: Niklas Baumgardner
765 name: Alexandre Poirot
773 name: Andrew Overholt
793 name: Andreas Pehrson
801 name: Peter Van der Beken
841 name: Alexandra Borovova
869 name: Shravan Narayan
885 name: Greg Mierzwinski
901 name: Martin Stránský
908 name: Sylvestre Ledru
951 name: Toshihito Kikuchi
1010 name: Zibi Braniecki
1018 name: Tomislav Jovanovic
1021 - name: firefox-toplevel
1022 description: The top level directory for the Firefox/Gecko tree. Owned by the
1037 machine_name: _firefoxtoplevel
1039 - machine_name: code_coverage
1041 description: Tools for code coverage instrumentation, and coverage data parsing
1044 - tools/code-coverage/**/*
1045 - python/mozbuild/mozbuild/codecoverage/**/*
1046 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1055 - 'Testing :: Code Coverage'
1056 - name: 'Core: Accessibility'
1057 description: Support for platform accessibility APIs. Accessibility APIs are used
1058 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1059 software, which need information about document content and UI controls, as
1060 well as important events like changes of focus.
1074 group: dev-accessibility
1075 url: https://developer.mozilla.org/docs/Web/Accessibility
1077 - Core::Disability Access APIs
1084 machine_name: core_accessibility
1086 - name: 'Core: Animation'
1087 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1088 API, and off-main thread animations.'
1090 - dom/animation/**/*
1091 # TODO "and animation-related and interpolation-related code
1092 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1096 - Core::DOM::Animation
1097 - Core::CSS Transitions and Animations
1105 machine_name: core_animation
1107 - name: 'Core: Anti-Tracking'
1108 description: Tracking detection and content-blocking.
1110 - toolkit/components/antitracking/**/*
1111 # several files under browser/ and netwerk/url-classifier/ **TODO**
1119 - 'Core::Privacy: Anti-Tracking'
1127 machine_name: core_antitracking
1129 - name: 'Core: APZ (Graphics submodule)'
1130 description: Asynchronous panning and zooming
1132 - gfx/layers/apz/**/*
1139 url: https://wiki.mozilla.org/Platform/GFX/APZ
1141 - Core::Panning and Zooming
1149 machine_name: core_apz_graphics_submodule
1151 - name: 'Core: Browser WebAPI'
1152 description: Web API for rendering apps, browser windows and widgets.
1154 - dom/browser-element/**/*
1165 machine_name: core_browser_webapi
1167 - name: 'Core: Build and Release Tools'
1168 description: Tools related to build and release automation and configuration of
1171 - tools/update-packaging/**/*
1172 - tools/update-verify/**/*
1176 group: release-engineering
1177 url: https://wiki.mozilla.org/ReleaseEngineering
1179 - Release Engineering::*
1185 machine_name: core_build_and_release_tools
1187 - name: 'Core: Build Config'
1188 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1193 - python/mozbuild/**/*
1194 - browser/config/mozconfigs/**/*
1212 url: :ref:`Build System`
1214 - Core::Build Config
1221 - name: 'Core: Build Config - Fennec'
1222 description: Submodule of the build config covering Fennec's build system
1227 - Core::Build Config
1231 machine_name: core_build_config_fennec
1233 - name: 'Core: Build Config - Taskgraph'
1234 description: Support for task-graph generation in decision, action, and cron
1235 tasks, including configuration of all tasks including those for CI, nightlies,
1236 and releases; as well as Docker and VM images used to execute those tasks.
1241 - Firefox Build System::Task Configuration
1257 machine_name: core_build_config_taskgraph
1258 machine_name: core_build_config
1260 - name: 'Core: Code Analysis and Debugging Tools'
1261 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1262 and other characteristics of it.
1265 - tools/leak-gauge/**/*
1266 - tools/performance/**/*
1269 group: dev-performance
1273 machine_name: core_code_analysis_and_debugging_tools
1275 - name: 'Core: Content Security'
1276 description: 'Native content-based security features enforced in the ContentSecurityManager,
1277 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1278 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1279 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1280 and top-level data: URI blocking.'
1292 - 'Core::DOM: Security'
1300 machine_name: core_content_security
1302 - name: 'Core: Cookies'
1305 - netwerk/cookie/**/*
1314 - Christian Biesinger
1320 - 'Core::Networking: Cookies'
1329 machine_name: core_cookies
1331 - name: 'Core: Crash reporting'
1332 description: Infrastructure and tools used to generate, submit and process crash
1333 reports. This includes the in-tree google-breakpad fork, the crash report generation
1334 machinery as well as the host tools used to dump symbols, analyse minidumps
1335 and generate stack traces.
1337 - toolkit/crashreporter/**/*
1338 - toolkit/components/crashes/**/*
1339 - tools/crashreporter/**/*
1340 - ipc/glue/CrashReporter*
1341 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1346 url: :ref:`Crash Reporter`
1348 - Toolkit::Crash Reporting
1354 machine_name: core_crash_reporting
1356 - machine_name: core_credentials
1357 name: 'Core: Credentials'
1358 description: API Surface for FedCM and WebAuthn
1360 - toolkit/components/credentialmanagement/**/*
1361 - browser/components/credentialmanager/**/*
1362 - dom/credentialmanagement/**/*
1374 - 'Core::DOM: Credential Management'
1375 - 'Core::DOM: Web Authentication'
1377 - name: 'Core: C++/Rust usage, tools, and style'
1378 description: Aspects of C++ use such as language feature usage, standard library
1379 versions/usage, compiler/toolchain versions, formatting and naming style, and
1380 aspects of Rust use as needs arise
1382 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1383 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1384 # - docs/code-quality/**/*
1385 # - docs/testing-rust-code/**/*
1386 # - docs/writing-rust-code/**/*
1401 machine_name: core_crust_usage_tools_and_style
1403 - name: 'Core: Cycle Collector'
1404 description: Code to break and collect objects within reference cycles
1406 - xpcom/base/nsCycleCollect*
1407 # TODO "and some support headers"
1408 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1414 - Core::Cycle Collector
1420 machine_name: core_cycle_collector
1422 - name: 'Core: DLL Services'
1423 description: Windows dynamic linker instrumentation and blocking
1425 - toolkit/xre/dllservices/**/*
1431 - Core::DLL Services
1436 machine_name: core_dll_services
1438 - name: 'Core: docshell'
1442 - uriloader/base/**/*
1448 - Christian Biesinger
1454 - Core::Document Navigation
1461 machine_name: core_docshell
1463 - name: 'Core: Document Object Model'
1467 exclude_module_paths: true
1484 url: http://developer.mozilla.org/en/docs/DOM
1487 - 'Core::DOM: Core & HTML'
1488 review_group: dom-core
1504 machine_name: core_document_object_model
1506 - name: 'Core: DOM File'
1507 description: DOM Blob, File and FileSystem APIs
1510 - dom/filesystem/**/*
1513 url: http://developer.mozilla.org/en/docs/DOM
1520 machine_name: core_dom_file
1522 - machine_name: core_dom_streams
1523 name: 'Core: DOM Streams'
1524 description: Streams Specification implementation
1535 url: http://developer.mozilla.org/en/docs/DOM
1538 - 'Core::DOM: Streams'
1541 - name: 'Core: Editor'
1556 machine_name: core_editor
1558 - name: 'Core: Event Handling'
1559 description: DOM Events and Event Handling
1562 # TODO "and event handling related code elsewhere"
1567 url: http://developer.mozilla.org/en/docs/DOM
1569 - 'Core::DOM: Events'
1570 - 'Core::DOM: UI Events & Focus Handling'
1576 machine_name: core_event_handling
1578 - machine_name: core_firefox_source_documentation
1579 name: 'Core: Firefox Source Documentation'
1580 description: The infrastructure platform used to generate Firefox's source documentation,
1581 excluding editorial control over the content.
1584 - tools/moztreedocs/
1591 - Developer Infrastructure::Source Documentation
1592 url: https://firefox-source-docs.mozilla.org/
1593 - name: 'Core: Gecko Profiler'
1594 description: Gecko's built-in profiler
1596 - tools/profiler/**/*
1597 - mozglue/baseprofiler/**/*
1602 - Shu-yu Guo (JS integration)
1603 - Thinker Lee (TaskTracer)
1604 - Cervantes Yu (TaskTracer)
1605 - Nicholas Nethercote
1611 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1613 - Core::Gecko Profiler
1620 machine_name: core_gecko_profiler
1622 - name: 'Core: GeckoView'
1623 description: Framework for embedding Gecko into Android applications
1625 - mobile/android/**/*
1626 - widget/android/**/*
1638 url: https://wiki.mozilla.org/Mobile/GeckoView
1640 - GeckoView::General
1648 machine_name: core_geckoview
1650 - name: 'Core: Global Key Bindings'
1651 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1652 and the like, as those are part of i18n.
1655 # TODO "and platform specific directories under it"
1657 group: dev-accessibility
1658 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1660 - 'Core::Keyboard: Navigation'
1665 machine_name: core_global_key_bindings
1667 - name: 'Core: Graphics'
1668 description: Mozilla graphics API
1676 - Benoit Girard(Compositor, Performance)
1678 - George Wright(Canvas2D)
1682 - John Daggett(text/fonts)
1683 - Benoit Jacob(gfx/gl)
1685 - Vladimir Vukicevic
1686 - James Willcox(Android)
1689 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1690 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1693 - 'Core::Graphics: Layers'
1694 - 'Core::Graphics: Text'
1695 - 'Core::Graphics: WebRender'
1696 - 'Core::GFX: Color Management'
1697 - 'Core::Canvas: 2D'
1698 - 'Core::Canvas: WebGL'
1710 machine_name: core_graphics
1713 description: Hardware Abstraction Layer
1719 - Core::Hardware Abstraction Layer (HAL)
1723 machine_name: core_hal
1725 - name: 'Core: HTML Parser'
1726 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1727 to the HTML specification, and is mostly translated automatically from Java
1733 url: http://about.validator.nu/
1735 - 'Core::HTML: Parser'
1740 machine_name: core_html_parser
1742 - name: 'Core: I18N Library'
1751 url: :ref:`Internationalization`
1753 - Core::Internationalization
1761 machine_name: core_i18n_library
1763 - name: 'Core: ImageLib'
1766 - media/libjpeg/**/*
1783 machine_name: core_imagelib
1785 - name: 'Core: IndexedDB'
1788 - dom/indexedDB/**/*
1796 url: https://developer.mozilla.org/en/IndexedDB
1798 - 'Core::DOM: IndexedDB'
1799 review_group: dom-storage-reviewers
1806 machine_name: core_indexeddb
1809 description: Native message-passing between threads and processes
1830 review_group: ipc-reviewers
1837 machine_name: core_ipc
1839 - name: 'Core: JavaScript'
1840 description: JavaScript engine (SpiderMonkey)
1864 - Nicholas Nethercote
1869 url: https://spidermonkey.dev/
1871 - Core::JavaScript Engine
1872 - 'Core::JavaScript: GC'
1873 - 'Core::JavaScript: Internationalization API'
1874 - 'Core::JavaScript: Standard Library'
1875 - 'Core::JavaScript: WebAssembly'
1897 machine_name: core_javascript
1899 - name: 'Core: JavaScript JIT'
1900 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1908 url: https://spidermonkey.dev/
1910 - 'Core::JavaScript Engine: JIT'
1926 machine_name: core_javascript_jit
1928 - name: 'Core: js-tests'
1929 description: JavaScript test suite
1933 group: dev-tech-js-engine
1934 url: http://www.mozilla.org/js/tests/library.html
1938 machine_name: core_jstests
1940 - name: 'Core: Layout Engine'
1941 description: rendering tree construction, layout (reflow), etc.
1947 - layout/generic/**/*
1948 - layout/printing/**/*
1949 - layout/tables/**/*
1958 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1961 - 'Core::Layout: Block and Inline'
1962 - 'Core::Layout: Columns'
1963 - 'Core::Layout: Flexbox'
1964 - 'Core::Layout: Floats'
1965 - 'Core::Layout: Form Controls'
1966 - 'Core::Layout: Generated Content, Lists, and Counters'
1967 - 'Core::Layout: Grid'
1968 - 'Core::Layout: Images, Video, and HTML Frames'
1969 - 'Core::Layout: Positioned'
1970 - 'Core::Layout: Ruby'
1971 - 'Core::Layout: Scrolling and Overflow'
1972 - 'Core::Layout: Tables'
1973 - 'Core::Layout: Text and Fonts'
1974 - Core::Print Preview
1975 - 'Core::Printing: Output'
1987 machine_name: core_layout_engine
1989 - name: 'Core: Legacy HTML Parser'
1992 - parser/htmlparser/**/*
1996 url: http://www.mozilla.org/newlayout/doc/parser.html
1998 - 'Core::HTML: Parser'
2005 machine_name: core_legacy_html_parser
2007 - name: 'Core: libjar'
2008 description: The JAR handling code (protocol handler, stream implementation, and
2009 zipreader/zipwriter).
2011 - modules/libjar/**/*
2021 - 'Core::Networking: JAR'
2027 machine_name: core_libjar
2029 - name: 'Core: MathML'
2030 description: MathML is a low-level specification for describing mathematics which
2031 provides a foundation for the inclusion of mathematical expressions in Web pages.
2033 - layout/mathml/**/*
2035 group: dev-tech-mathml
2036 url: https://developer.mozilla.org/docs/Web/MathML
2043 machine_name: core_mathml
2045 - name: 'Core: Media Playback'
2046 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2047 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2050 - media/gmp-clearkey/**/*
2051 - media/libcubeb/**/*
2052 - media/libnestegg/**/*
2054 - media/libopus/**/*
2055 - media/libtheora/**/*
2056 - media/libtremor/**/*
2057 - media/libvorbis/**/*
2059 - dom/media/platforms/omx/**/*
2060 - dom/media/gmp/rlz/**/*
2075 machine_name: core_media_playback
2077 - name: 'Core: Media Transport'
2078 description: Pluggable transport for real-time media
2080 - dom/media/webrtc/transport/**/*
2084 - Core::WebRTC::Networking
2091 machine_name: core_media_transport
2093 - name: 'Core: Memory Allocator'
2094 description: Most things related to memory allocation in Gecko, including jemalloc,
2095 replace-malloc, DMD (dark matter detector), logalloc, etc.
2101 - Nicholas Nethercote
2109 machine_name: core_memory_allocator
2111 - name: 'Core: mfbt'
2112 description: mfbt is a collection of headers, macros, data structures, methods,
2113 and other functionality available for use and reuse throughout all Mozilla code
2114 (including SpiderMonkey and Gecko more broadly).
2126 machine_name: core_mfbt
2128 - name: 'Core: Moz2D (Graphics submodule)'
2129 description: Platform independent 2D graphics API
2134 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2142 machine_name: core_moz2d_graphics_submodule
2144 - name: 'Core: Mozglue'
2145 description: Glue library containing various low-level functionality, including
2146 a dynamic linker for Android, a DLL block list for Windows, etc.
2154 - Kartikaya Gupta (mozglue/android)
2159 machine_name: core_mozglue
2161 - name: 'Core: MSCOM'
2162 description: Integration with Microsoft Distributed COM
2173 - 'Core::IPC: MSCOM'
2179 machine_name: core_mscom
2181 - name: 'Core: Necko'
2182 description: The Mozilla Networking Library
2186 - netwerk/build/**/*
2187 - netwerk/cache2/**/*
2189 - netwerk/locales/**/*
2191 - netwerk/protocol/**/*
2192 - netwerk/socket/**/*
2193 - netwerk/streamconv/**/*
2194 - netwerk/system/**/*
2199 - dom/websocket/**/*
2200 - uriloader/prefetch/**/*
2201 - uriloader/preload/**/*
2204 - Dragana Damjanovic
2206 - Christian Biesinger
2217 group: dev-tech-network
2218 url: :ref:`Networking`
2221 - 'Core::Networking: Cache'
2222 - 'Core::Networking: Cookies'
2223 - 'Core::Networking: FTP'
2224 - 'Core::Networking: File'
2225 - 'Core::Networking: HTTP'
2226 - 'Core::Networking: JAR'
2227 - 'Core::Networking: Websockets'
2228 - 'Core::DOM: Networking'
2234 machine_name: core_necko
2236 - name: 'Core: NodeJS usage, tools, and style'
2237 description: Advises on the use of NodeJS and npm packages at build and runtime.
2238 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2239 teams to maintain automated license and security audits of npm packages. Works
2240 with the security team and relevant developers to respond to vulnerabilities
2241 in NodeJS and vendored npm packages.
2246 # TODO: and others as appropriate
2250 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2259 machine_name: core_nodejs_usage_tools_and_style
2261 - name: 'Core: NSPR'
2262 description: Netscape Portable Runtime
2268 group: dev-tech-nspr
2276 machine_name: core_nspr
2279 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2282 - toolkit/components/pdfjs/**/*
2290 url: https://github.com/mozilla/pdf.js
2297 machine_name: core_pdf
2299 - name: 'Core: Permissions'
2302 - extensions/permissions/**/*
2311 - Christian Biesinger
2316 - 'Core :: Permission Manager'
2323 machine_name: core_permissions
2325 - name: 'Core: Plugins'
2326 description: ' NPAPI Plugin support.'
2338 url: https://wiki.mozilla.org/Plugins
2343 machine_name: core_plugins
2345 - name: 'Core: Preferences'
2346 description: Preference library
2348 - modules/libpref/**/*
2351 - Nicholas Nethercote
2357 - 'Core::Preferences: Backend'
2363 machine_name: core_preferences
2365 - name: 'Core: Private Browsing'
2366 description: Implementation of the Private Browsing mode, and the integration
2367 of other modules with Private Browsing APIs.
2370 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2371 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2379 url: https://wiki.mozilla.org/Private_Browsing
2381 - Firefox::Private Browsing
2386 machine_name: core_private_browsing
2388 - name: 'Core: Privilege Manager'
2389 description: Caps is the capabilities-based security system.
2398 url: http://www.mozilla.org/projects/security/components/index.html
2400 - 'Core::Security: CAPS'
2406 machine_name: core_privilege_manager
2408 - name: 'Core: Push Notifications'
2409 description: Push is a way for application developers to send messages to their
2420 - 'Core::DOM: Notifications'
2424 machine_name: core_push_notifications
2426 - name: 'Core: Sandboxing (Linux)'
2427 description: Sandboxing for the Linux platform
2429 - security/sandbox/linux/**/*
2432 url: https://wiki.mozilla.org/Security/Sandbox
2434 - 'Core::Security: Process Sandboxing'
2439 machine_name: core_sandboxing_linux
2441 - name: 'Core: Sandboxing (OSX)'
2442 description: Sandboxing for the OSX platform
2444 - security/sandbox/mac/**/*
2447 url: https://wiki.mozilla.org/Security/Sandbox
2449 - 'Core::Security: Process Sandboxing'
2453 machine_name: core_sandboxing_osx
2455 - name: 'Core: Sandboxing (Windows)'
2456 description: Sandboxing for the Windows platform
2458 - security/sandbox/win/**/*
2468 url: https://wiki.mozilla.org/Security/Sandbox
2470 - 'Core::Security: Process Sandboxing'
2475 machine_name: core_sandboxing_windows
2477 - name: 'Core: security'
2478 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2491 group: dev-tech-crypto
2492 url: :ref:`Network Security Services (NSS)`
2497 - 'Core::Security: S/MIME'
2510 machine_name: core_security
2512 - name: 'Core: Security - Mozilla PSM Glue'
2513 description: Personal Security Manager
2515 - security/manager/**/*
2518 - Kai Engert (2001-2012)
2519 group: dev-tech-crypto
2521 - 'Core::Security: PSM'
2530 machine_name: core_security_mozilla_psm_glue
2532 - machine_name: core_security_rlbox
2533 name: Security - RLBox
2534 description: Sandboxing using WASM/RLBox libraries.
2538 - third_party/rlbox_wasm2c_sandbox
2548 - 'Core::Security: RLBox'
2549 - name: 'Core: Static analysis & rewriting for C++'
2550 description: Tools for checking C++ code looking for problems at compile time,
2551 plus tools for automated rewriting of C++ code.
2553 - build/clang-plugin/**/*
2554 - tools/rewriting/**/*
2555 # TODO among other out of tree tools
2558 - Birunthan Mohanathas
2562 - Core::Rewriting & Analysis
2569 machine_name: core_static_analysis_rewriting_for_c
2571 - name: 'Core: storage'
2572 description: Storage APIs with a SQLite backend
2574 - third_party/sqlite3/**/*
2578 url: http://developer.mozilla.org/en/docs/Storage
2580 - Toolkit::Storage, Core::SQL
2588 machine_name: core_storage
2590 - name: 'Core: String'
2595 group: dev-tech-xpcom
2596 url: :ref:`String Guide`
2603 machine_name: core_string
2605 - name: 'Core: Style System'
2606 description: CSS style sheet handling; style data computation
2617 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2619 - Core::CSS Parsing and Computation
2620 - 'Core::DOM: CSS Object Model'
2626 machine_name: core_style_system
2629 description: Scalable Vector Graphics
2636 url: https://developer.mozilla.org/docs/Web/SVG
2646 machine_name: core_svg
2648 - name: 'Core: UA String'
2649 description: User Agent String
2651 - netwerk/protocol/http/**/*
2654 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2656 - 'Core::Networking: HTTP'
2662 machine_name: core_ua_string
2664 - name: 'Core: View System'
2665 description: The View Manager is responsible for handling "heavyweight" rendering
2666 (some clipping, compositing) and event handling tasks.
2674 - 'Core::Layout: View Rendering'
2680 machine_name: core_view_system
2682 - name: 'Core: Web Audio'
2683 description: Support for the W3C Web Audio API specification.
2685 - dom/media/webaudio/**/*
2690 url: https://wiki.mozilla.org/Web_Audio_API
2698 machine_name: core_web_audio
2700 - name: 'Core: Web Painting'
2701 description: painting, display lists, and layer construction
2703 - layout/painting/**/*
2704 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2707 url: :ref:`Layout & CSS`
2709 - 'Core::Layout: Web Painting'
2720 machine_name: core_web_painting
2722 - name: 'Core: Web Workers'
2735 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2737 - 'Core::DOM: Workers'
2738 review_group: dom-worker-reviewers
2744 machine_name: core_web_workers
2746 - name: 'Core: WebGPU (Graphics submodule)'
2747 description: WebGPU implementation
2752 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2754 - Core::Graphics::WebGPU
2760 machine_name: core_webgpu_graphics_submodule
2762 - name: 'Core: WebRTC'
2763 description: WebRTC is responsible for realtime audio and video communication,
2764 as well as related issues like low-level camera and microphone access
2767 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2772 url: https://wiki.mozilla.org/Media/webrtc
2775 - Core::WebRTC Networking
2782 machine_name: core_webrtc
2784 - name: 'Core: WebVR'
2785 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2786 including API, devices, graphics and integration
2792 - Vladimir Vukicevic
2795 url: https://mozvr.com/
2804 - name: 'Core: WebRTC Media'
2805 description: Submodule of WebRTC responsible for access to media input devices
2806 (microphones, cameras, screen capture), as well as realtime audiovisual
2807 codecs and packetization.
2810 - dom/media/webrtc/**/*
2811 - dom/media/systemservices/**/*
2817 url: https://wiki.mozilla.org/Media/webrtc
2819 - Core::WebRTC (Audio/Video)
2826 machine_name: core_webrtc_media
2828 - name: 'Core: WebRTC Signaling'
2829 description: Submodule of WebRTC responsible for implementation of PeerConnection
2830 API, WebRTC identity, and SDP/JSEP handling
2832 - media/webrtc/signaling/**/*
2837 url: https://wiki.mozilla.org/Media/webrtc
2839 - Core::WebRTC (Signaling)
2847 machine_name: core_webrtc_signaling
2848 machine_name: core_webvr
2850 - name: 'Core: Widget'
2851 description: Top level Widget
2856 - Vladimir Vukicevic
2863 - Core::Drag and Drop
2865 - 'Core::Printing: Setup'
2868 machine_name: core_widget
2870 - name: 'Core: Widget - Android'
2871 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2876 machine_name: core_widget_android
2878 - name: 'Core: Widget - GTK'
2879 description: GTK widget support
2886 url: http://www.mozilla.org/ports/gtk/
2888 - 'Core::Widget: Gtk'
2893 machine_name: core_widget_gtk
2895 - name: 'Core: Widget - Headless'
2896 description: Headless widget support
2898 - widget/headless/**/*
2907 machine_name: core_widget_headless
2909 - name: 'Core: Widget - macOS'
2910 description: ' macOS widget support'
2923 - 'Core::Widget: Cocoa'
2929 machine_name: core_widget_macos
2931 - name: 'Core: Widget - Windows'
2932 description: Windows widget support
2934 - widget/windows/**/*
2940 - Vladimir Vukicevic
2943 - Christian Biesinger
2945 - Josh 'timeless' Soref
2952 - 'Core::Widget: Win32'
2958 machine_name: core_widget_windows
2961 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2962 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2963 that are not covered by more specific projects.
2979 machine_name: core_xml
2981 - name: 'Core: XPApps'
2982 description: Cross-Platform Applications, mostly Navigator front end and application
2987 group: dev-apps-seamonkey
2991 - Josh 'timeless' Soref
2994 machine_name: core_xpapps
2996 - name: 'Core: XPCOM'
2997 description: The cross-platform object model and core data structures.
3003 - xpcom/components/**/*
3007 - xpcom/reflect/**/*
3011 - xpcom/threads/**/*
3012 - xpcom/windbgdlg/**/*
3024 review_group: xpcom-reviewers
3034 machine_name: core_xpcom
3036 - name: 'Core: XPConnect'
3037 description: Deep Magic
3056 machine_name: core_xpconnect
3058 - name: 'Core: XPIDL'
3059 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3060 runtime type description files from .idl interface description files.
3062 - xpcom/idl-parser/**/*
3069 - Josh 'timeless' Soref
3070 group: dev-tech-xpcom
3076 machine_name: core_xpidl
3078 - name: 'Core: XSLT Processor'
3079 description: XSLT transformations processor
3087 group: dev-tech-xslt
3088 url: https://developer.mozilla.org/docs/Web/XSLT
3094 machine_name: core_xslt_processor
3096 - name: Desktop Firefox
3097 description: Standalone Web Browser.
3110 - Tim Guan-tin Chien
3140 - name: Add-ons Manager
3141 description: Extension management back-end.
3143 - toolkit/mozapps/extensions/**/*
3157 machine_name: addons_manager
3159 - name: Add-ons Manager UI
3160 description: about:addons.
3162 - toolkit/mozapps/extensions/content/**/*
3175 machine_name: addons_manager_ui
3177 - name: Application Update
3178 description: The application update services.
3180 - toolkit/mozapps/update/**/*
3187 machine_name: application_update
3189 - name: Bookmarks & History
3190 description: The bookmarks and history services (Places).
3192 - browser/components/places/**/*
3193 - toolkit/components/places/**/*
3208 machine_name: bookmarks_history
3210 - name: Desktop Theme
3211 description: The style rules used in the desktop UI.
3213 - browser/themes/**/*
3214 - toolkit/themes/**/*
3227 machine_name: desktop_theme
3230 description: The main browser UI except where covered by more specific submodules.
3232 - browser/base/content/**/*
3239 machine_name: desktop_ui
3241 - name: Download Manager
3242 description: The downloads UI and service.
3244 - browser/components/downloads/**/*
3245 - toolkit/mozapps/downloads/**/*
3246 - uriloader/exthandler/**/*
3256 machine_name: download_manager
3258 - name: Enterprise Policies
3259 description: System policies for controlling Firefox.
3261 - browser/components/enterprisepolicies/**/*
3266 machine_name: enterprise_policies
3268 - name: Experiments/Rollouts
3269 description: Desktop clients for our experiments and off-train deployments
3272 - toolkit/components/normandy/**/*
3273 - toolkit/components/nimbus/**/*
3279 - Firefox::Nimbus Desktop Client
3280 url: https://experimenter.info/
3286 machine_name: normandy
3288 - machine_name: firefox_view
3290 description: The Firefox View page and its modules.
3292 - browser/components/firefoxview/**/*
3300 - name: Form Autofill
3301 description: Form detection and autocomplete.
3303 - browser/extensions/formautofill/**/*
3304 - toolkit/components/satchel/**/*
3307 - Matthew Noorenberghe
3313 machine_name: form_autofill
3315 - name: In-product Messaging
3316 description: The system for delivering in-product messaging.
3318 - toolkit/components/messaging-system/**/*
3321 - Firefox::Messaging System
3328 machine_name: inproduct_messaging
3330 - name: Launcher Process
3331 description: Windows process for bootstrapping the browser process.
3333 - browser/app/winlauncher/**/*
3339 - Firefox::Launcher Process
3344 machine_name: launcher_process
3346 - machine_name: localization
3348 description: Tooling to enable translation and facilitate localization.
3356 - name: New Tab Page
3357 description: The new tab/home page.
3359 - browser/components/newtab/**/*
3362 - Firefox::New Tab Page
3369 machine_name: new_tab_page
3372 description: The onboarding experience including UI tours.
3374 - browser/components/uitour/**/*
3382 machine_name: onboarding
3384 - name: Password Manager
3385 description: Managing, saving and filling logins.
3387 - toolkit/components/passwordmgr/**/*
3388 - browser/components/aboutlogins/**/*
3391 - Matthew Noorenberghe
3395 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3397 - Toolkit::Password Manager
3398 - 'Toolkit::Password Manager: Site'
3400 - Firefox::about:logins
3408 machine_name: password_manager
3410 - machine_name: firefox_pip
3411 name: Picture-in-Picture
3412 description: A component that allows video elements to be pulled out into
3413 an always-on-top window.
3415 - toolkit/components/pictureinpicture
3416 - browser/extensions/pictureinpicture
3426 - name: Profile Migration
3427 description: Migrating data from other browsers.
3429 - browser/components/migration/**/*
3437 machine_name: profile_migration
3440 description: Code relating to Screenshots functionality
3442 - browser/extensions/screenshots/**/*
3443 - browser/components/screenshots/**/*
3451 - Firefox::Screenshots
3457 machine_name: screenshots
3459 - name: Search and Address Bar
3460 description: The search service, address bar and address bar autocomplete.
3462 - browser/components/search/**/*
3463 - browser/components/urlbar/**/*
3464 - toolkit/components/search/**/*
3467 - Firefox::Address Bar
3480 machine_name: search_and_address_bar
3482 - name: Security and Privacy UI
3483 description: The front-end to our security and privacy features, including
3484 Protections UI, Site Identity, Site Permissions and Certificate Errors
3486 - browser/components/protections/**/*
3487 - browser/components/controlcenter/**/*
3491 - Nihanth Subramanya
3496 - Firefox::Protections UI
3497 - Firefox::Site Identity
3498 - Firefox::Site Permissions
3503 machine_name: security_and_privacy_ui
3505 - name: Session Restore
3506 description: Restoring a user's session after starting Firefox.
3508 - browser/components/sessionstore/**/*
3509 - toolkit/components/sessionstore/**/*
3518 - Firefox::Session Restore
3526 machine_name: session_restore
3529 description: The front-end settings user interface.
3531 - browser/components/preferences/**/*
3532 - browser/themes/*/preferences
3533 - toolkit/mozapps/preferences
3544 machine_name: settings_ui
3546 - name: Tabbed Browser
3547 description: The UI component controlling browser tabs.
3549 - browser/base/content/tabbrowser*
3550 - browser/base/content/browser-allTabsMenu.js
3551 - browser/base/content/browser-ctrlTab.js
3552 - browser/base/content/browser-fullZoom.js
3553 - browser/modules/AsyncTabSwitcher.sys.mjs
3554 - browser/modules/NewTabPagePreloading.sys.mjs
3555 - browser/modules/OpenInTabsUtils.sys.mjs
3556 - browser/modules/TabsList.sys.mjs
3557 - browser/modules/TabUnloader.sys.mjs
3560 - Firefox::Tabbed Browser
3569 machine_name: tabbed_browser
3571 - name: Windows Installer
3572 description: The installer for Windows.
3574 - browser/installer/**/*
3575 - toolkit/mozapps/installer/**/*
3578 - Firefox::Installer
3584 machine_name: windows_installer
3585 machine_name: desktop_firefox
3587 - machine_name: devtools
3589 description: Mozilla Developer Tools
3615 - Steve Fink (heapsnapshot code)
3625 - Panagiotis Astithas
3643 url: http://firefox-dev.tools/
3646 - machine_name: javascript_usage
3647 name: JavaScript usage, tools, and style
3648 description: Aspects of JavaScript use such as language feature usage, tooling
3649 such as lint configurations, formatting and naming style.
3651 - .eslintrc-test-paths.js
3652 - '**/.eslintignore'
3654 - tools/lint/eslint/**/*
3671 - machine_name: mozharness
3673 description: Configuration-driven script harness.
3675 - testing/mozharness/**/*
3688 - 'Release Engineering :: Applications: MozharnessCore'
3689 - machine_name: python_usage
3690 name: Python usage, tools, and style
3691 description: Aspects of Python use such as tooling, formatting and naming style
3693 - tools/lint/python/**/*
3703 - 'Developer Infrastructure :: Lint and Formatting'
3705 - machine_name: remote_protocol
3706 name: Remote Protocol
3707 description: Low-level remote protocol exposing interfaces for inspecting state
3708 and controlling execution of web documents, instrumenting various subsystems
3709 in the browser, simulating user interaction for automation purposes, and for
3710 subscribing to updates from the aforementioned.
3716 url: https://firefox-source-docs.mozilla.org/remote/
3725 - machine_name: remote_protocol_agent
3727 description: Underlying transport layer and server to allow remoting of Firefox
3728 for automation and debugging.
3733 - remote/marionette/*
3734 - remote/webdriver-bidi/*
3739 - Maja Frydrychowicz
3743 - 'Remote Protocol :: Agent'
3751 - machine_name: remote_protocol_cdp
3753 description: The core implementation for CDP support. Please file domain specific
3754 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3761 - Maja Frydrychowicz
3765 - 'Remote Protocol :: CDP'
3773 - machine_name: remote_protocol_marionette
3775 description: Marionette is a remote protocol that lets out-of-process programs
3776 communicate with, instrument, and control Gecko-based browsers. Combined
3777 with geckodriver, this forms our WebDriver classic implementation.
3779 - remote/marionette/*
3784 - Maja Frydrychowicz
3787 - 'Remote Protocol :: Marionette'
3788 group: dev-webdriver
3796 - machine_name: remote_protocol_webdriver_bidi
3797 name: WebDriver BiDi
3798 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3800 - remote/webdriver-bidi/*
3803 - 'Remote Protocol :: WebDriver BiDi'
3804 group: dev-webdriver
3812 - machine_name: sync
3814 description: Firefox Sync client
3816 - services/sync/**/*
3829 url: https://wiki.mozilla.org/Services/Process/Code_Review
3833 - machine_name: testing_firefox_ui
3835 description: Firefox UI test framework.
3837 - testing/firefox-ui/**/*
3840 - Maja Frydrychowicz
3842 - 'Testing :: Firefox UI'
3850 - machine_name: testing_geckodriver
3852 description: Proxy for using W3C WebDriver-compatible clients to interact with
3853 Gecko-based browsers.
3855 - testing/geckodriver/**/*
3863 - 'Testing :: geckodriver'
3864 group: dev-webdriver
3866 - machine_name: testing_gtest
3868 description: GTest test harness.
3870 - testing/gtest/**/*
3877 - 'Testing :: GTest'
3879 - machine_name: testing_marionette_client_harness
3880 name: Marionette Client & Harness
3881 description: Python client and harness for the Marionette remote protocol implementation.
3883 - testing/marionette/**/*
3888 - Maja Frydrychowicz
3891 - 'Testing :: Marionette Client & Harness'
3899 - machine_name: testing_mochitest
3901 description: Mochitest test framework
3903 - testing/mochitest/**/*
3912 - 'Testing :: Mochitest'
3913 - machine_name: testing_mozbase
3915 description: Base modules used for implementing test components.
3929 - 'Testing :: Mozbase'
3930 - 'Testing :: Mozbase Rust'
3931 - machine_name: testing_performance_testing
3932 name: Performance Testing
3934 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3935 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3936 the owners/peers of the various components (linked below).
3938 - testing/raptor/**/*
3939 - testing/talos/**/*
3940 - python/mozperftest/**/*
3942 - tools/lint/perfdocs/**/*
3943 - testing/perfdocs/**/*
3944 - testing/performance/**/*
3945 - testing/condprofile/**/*
3946 - tools/browsertime/**/*
3947 - tools/tryselect/selectors/perf.py
3958 - 'Testing :: Raptor'
3959 - 'Testing :: Talos'
3961 - 'Testing :: Performance'
3962 - 'Testing :: mozperftest'
3963 - 'Testing :: Condprofile'
3964 url: :ref:`Performance Testing`
3965 - machine_name: testing_reftest
3966 name: Reftest (+ jsreftest + crashtest)
3967 description: Reftest test framework
3969 - layout/tools/reftest/**/*
3978 - 'Testing :: Reftest'
3979 - machine_name: testing_tryselect
3981 description: Frontend for selecting jobs on the try server.
3983 - tools/tryselect/**/*
3992 - 'Developer Infrastructure :: Try'
3993 - machine_name: testing_web_platform_tests_infrastructure
3994 name: web-platform-tests infrastructure
3995 description: Infrastructure for running the cross-browser web-platform-tests
3997 - testing/web-platform/**/*
3998 - testing/web-platform/tests/tools/**/*
4000 - testing/web-platform/tests/**/*
4001 - testing/web-platform/meta/**/*
4002 - testing/web-platform/mozilla/**/*
4008 - 'Testing :: web-platform-tests'
4009 - machine_name: testing_xpcshell
4011 description: XPCShell test harness.
4013 - testing/xpcshell/**/*
4021 - Testing::XPCShell Harness
4023 description: Components shared between desktop and mobile browsers.
4040 - name: Application Startup
4041 description: The profile system and startup process before the front-end launches.
4043 - toolkit/profile/**/*
4044 - toolkit/components/remote/**/*
4051 machine_name: application_startup
4055 The core infrastructure in the Firefox client to send back telemetry
4056 data. Includes the common mechanisms to record, view and submit data: Legacy
4057 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4058 does ''not'' include responsibility for every piece of submitted Telemetry
4059 data. Each team/module is responsible for their own measurements (histograms,
4060 scalars, other ping submissions, etc.).
4062 - toolkit/components/glean/**/*
4063 - toolkit/components/telemetry/**/*
4064 - toolkit/content/aboutTelemetry.*
4069 url: :ref:`Telemetry`
4077 machine_name: telemetry
4080 description: The base widgets used throughout the UI.
4082 - toolkit/content/widgets/**/*
4089 machine_name: ui_widgets
4091 - name: Webextensions
4092 description: Webextension APIs and integration.
4094 - browser/components/extensions/**/*
4095 - toolkit/components/extensions/**/*
4107 machine_name: webextensions
4108 machine_name: toolkit
4109 - machine_name: url_classifier
4110 name: URL Classifier
4111 description: Database and list-based classification of URL resources, such as
4112 Tracking Protection and SafeBrowsing.
4114 - toolkit/components/url-classifier/**/*
4115 - netwerk/url-classifier/**/*
4124 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4125 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4133 config: 52559b927657750e1cdbe61145f13aa7ac91c095
4134 export: fbf81449f9e1885ce0f01cf58da1ea7171b84507