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-08-30T18:00:03.763738'
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
394 name: Gabriele Svelto
398 name: Haik Aftandilian
406 name: Hiroyuki Ikezoe
414 name: Jan Honza Odvarko
438 name: Jan-Erik Rediger
458 name: Julian Descottes
486 name: Jan-Ivar Bruaroey
518 name: Jonathan Almeida
553 name: Jean-Yves Avenard
605 name: Dzmitry Malyshau
617 name: Lougenia Bailey
633 name: Marco Castelluccio
649 name: Masayuki Nakano
658 nick: MatsPalmgren_bugz
665 name: Andrew McCreight
697 name: Morgan Reschenberg
737 name: Nicolas Chevobbe
749 name: Niklas Baumgardner
769 name: Alexandre Poirot
777 name: Andrew Overholt
797 name: Andreas Pehrson
805 name: Peter Van der Beken
845 name: Alexandra Borovova
873 name: Shravan Narayan
889 name: Greg Mierzwinski
905 name: Martin Stránský
912 name: Sylvestre Ledru
928 name: Teodor Tanasoaia
959 name: Toshihito Kikuchi
1007 name: Yulia Startsev
1018 name: Zibi Braniecki
1026 name: Tomislav Jovanovic
1029 - name: firefox-toplevel
1030 description: The top level directory for the Firefox/Gecko tree. Owned by the
1045 machine_name: _firefoxtoplevel
1047 - machine_name: code_coverage
1049 description: Tools for code coverage instrumentation, and coverage data parsing
1052 - tools/code-coverage/**/*
1053 - python/mozbuild/mozbuild/codecoverage/**/*
1054 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1063 - 'Testing :: Code Coverage'
1064 - name: 'Core: Accessibility'
1065 description: Support for platform accessibility APIs. Accessibility APIs are used
1066 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1067 software, which need information about document content and UI controls, as
1068 well as important events like changes of focus.
1082 group: dev-accessibility
1083 url: https://developer.mozilla.org/docs/Web/Accessibility
1085 - Core::Disability Access APIs
1092 machine_name: core_accessibility
1094 - name: 'Core: Animation'
1095 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1096 API, and off-main thread animations.'
1098 - dom/animation/**/*
1099 # TODO "and animation-related and interpolation-related code
1100 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1104 - Core::DOM::Animation
1105 - Core::CSS Transitions and Animations
1113 machine_name: core_animation
1115 - name: 'Core: Anti-Tracking'
1116 description: Tracking detection and content-blocking.
1118 - toolkit/components/antitracking/**/*
1119 # several files under browser/ and netwerk/url-classifier/ **TODO**
1127 - 'Core::Privacy: Anti-Tracking'
1135 machine_name: core_antitracking
1137 - name: 'Core: APZ (Graphics submodule)'
1138 description: Asynchronous panning and zooming
1140 - gfx/layers/apz/**/*
1147 url: https://wiki.mozilla.org/Platform/GFX/APZ
1149 - Core::Panning and Zooming
1157 machine_name: core_apz_graphics_submodule
1159 - name: 'Core: Browser WebAPI'
1160 description: Web API for rendering apps, browser windows and widgets.
1162 - dom/browser-element/**/*
1173 machine_name: core_browser_webapi
1175 - name: 'Core: Build and Release Tools'
1176 description: Tools related to build and release automation and configuration of
1179 - tools/update-packaging/**/*
1180 - tools/update-verify/**/*
1184 group: release-engineering
1185 url: https://wiki.mozilla.org/ReleaseEngineering
1187 - Release Engineering::*
1193 machine_name: core_build_and_release_tools
1195 - name: 'Core: Build Config'
1196 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1201 - python/mozbuild/**/*
1202 - browser/config/mozconfigs/**/*
1220 url: :ref:`Build System`
1222 - Core::Build Config
1229 - name: 'Core: Build Config - Fennec'
1230 description: Submodule of the build config covering Fennec's build system
1235 - Core::Build Config
1239 machine_name: core_build_config_fennec
1241 - name: 'Core: Build Config - Taskgraph'
1242 description: Support for task-graph generation in decision, action, and cron
1243 tasks, including configuration of all tasks including those for CI, nightlies,
1244 and releases; as well as Docker and VM images used to execute those tasks.
1249 - Firefox Build System::Task Configuration
1265 machine_name: core_build_config_taskgraph
1266 machine_name: core_build_config
1268 - name: 'Core: Code Analysis and Debugging Tools'
1269 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1270 and other characteristics of it.
1273 - tools/leak-gauge/**/*
1274 - tools/performance/**/*
1277 group: dev-performance
1281 machine_name: core_code_analysis_and_debugging_tools
1283 - name: 'Core: Content Security'
1284 description: 'Native content-based security features enforced in the ContentSecurityManager,
1285 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1286 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1287 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1288 and top-level data: URI blocking.'
1300 - 'Core::DOM: Security'
1308 machine_name: core_content_security
1310 - name: 'Core: Cookies'
1313 - netwerk/cookie/**/*
1322 - Christian Biesinger
1328 - 'Core::Networking: Cookies'
1337 machine_name: core_cookies
1339 - name: 'Core: Crash reporting'
1340 description: Infrastructure and tools used to generate, submit and process crash
1341 reports. This includes the in-tree google-breakpad fork, the crash report generation
1342 machinery as well as the host tools used to dump symbols, analyse minidumps
1343 and generate stack traces.
1345 - toolkit/crashreporter/**/*
1346 - toolkit/components/crashes/**/*
1347 - tools/crashreporter/**/*
1348 - ipc/glue/CrashReporter*
1349 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1354 url: :ref:`Crash Reporter`
1356 - Toolkit::Crash Reporting
1362 machine_name: core_crash_reporting
1364 - machine_name: core_credentials
1365 name: 'Core: Credentials'
1366 description: API Surface for FedCM and WebAuthn
1368 - toolkit/components/credentialmanagement/**/*
1369 - browser/components/credentialmanager/**/*
1370 - dom/credentialmanagement/**/*
1382 - 'Core::DOM: Credential Management'
1383 - 'Core::DOM: Web Authentication'
1385 - name: 'Core: C++/Rust usage, tools, and style'
1386 description: Aspects of C++ use such as language feature usage, standard library
1387 versions/usage, compiler/toolchain versions, formatting and naming style, and
1388 aspects of Rust use as needs arise
1390 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1391 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1392 # - docs/code-quality/**/*
1393 # - docs/testing-rust-code/**/*
1394 # - docs/writing-rust-code/**/*
1409 machine_name: core_crust_usage_tools_and_style
1411 - name: 'Core: Cycle Collector'
1412 description: Code to break and collect objects within reference cycles
1414 - xpcom/base/nsCycleCollect*
1415 # TODO "and some support headers"
1416 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1422 - Core::Cycle Collector
1428 machine_name: core_cycle_collector
1430 - name: 'Core: DLL Services'
1431 description: Windows dynamic linker instrumentation and blocking
1433 - toolkit/xre/dllservices/**/*
1439 - Core::DLL Services
1444 machine_name: core_dll_services
1446 - name: 'Core: docshell'
1450 - uriloader/base/**/*
1456 - Christian Biesinger
1462 - Core::Document Navigation
1469 machine_name: core_docshell
1471 - name: 'Core: Document Object Model'
1475 exclude_module_paths: true
1492 url: http://developer.mozilla.org/en/docs/DOM
1495 - 'Core::DOM: Core & HTML'
1496 review_group: dom-core
1512 machine_name: core_document_object_model
1514 - name: 'Core: DOM File'
1515 description: DOM Blob, File and FileSystem APIs
1518 - dom/filesystem/**/*
1521 url: http://developer.mozilla.org/en/docs/DOM
1528 machine_name: core_dom_file
1530 - machine_name: core_dom_streams
1531 name: 'Core: DOM Streams'
1532 description: Streams Specification implementation
1543 url: http://developer.mozilla.org/en/docs/DOM
1546 - 'Core::DOM: Streams'
1549 - name: 'Core: Editor'
1564 machine_name: core_editor
1566 - name: 'Core: Event Handling'
1567 description: DOM Events and Event Handling
1570 # TODO "and event handling related code elsewhere"
1575 url: http://developer.mozilla.org/en/docs/DOM
1577 - 'Core::DOM: Events'
1578 - 'Core::DOM: UI Events & Focus Handling'
1584 machine_name: core_event_handling
1586 - machine_name: core_firefox_source_documentation
1587 name: 'Core: Firefox Source Documentation'
1588 description: The infrastructure platform used to generate Firefox's source documentation,
1589 excluding editorial control over the content.
1592 - tools/moztreedocs/
1599 - Developer Infrastructure::Source Documentation
1600 url: https://firefox-source-docs.mozilla.org/
1601 - name: 'Core: Gecko Profiler'
1602 description: Gecko's built-in profiler
1604 - tools/profiler/**/*
1605 - mozglue/baseprofiler/**/*
1610 - Shu-yu Guo (JS integration)
1611 - Thinker Lee (TaskTracer)
1612 - Cervantes Yu (TaskTracer)
1613 - Nicholas Nethercote
1619 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1621 - Core::Gecko Profiler
1628 machine_name: core_gecko_profiler
1630 - name: 'Core: GeckoView'
1631 description: Framework for embedding Gecko into Android applications
1633 - mobile/android/**/*
1634 - widget/android/**/*
1646 url: https://wiki.mozilla.org/Mobile/GeckoView
1648 - GeckoView::General
1656 machine_name: core_geckoview
1658 - name: 'Core: Global Key Bindings'
1659 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1660 and the like, as those are part of i18n.
1663 # TODO "and platform specific directories under it"
1665 group: dev-accessibility
1666 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1668 - 'Core::Keyboard: Navigation'
1673 machine_name: core_global_key_bindings
1675 - name: 'Core: Graphics'
1676 description: Mozilla graphics API
1684 - Benoit Girard(Compositor, Performance)
1686 - George Wright(Canvas2D)
1690 - John Daggett(text/fonts)
1691 - Benoit Jacob(gfx/gl)
1693 - Vladimir Vukicevic
1694 - James Willcox(Android)
1697 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1698 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1701 - 'Core::Graphics: Layers'
1702 - 'Core::Graphics: Text'
1703 - 'Core::Graphics: WebRender'
1704 - 'Core::GFX: Color Management'
1705 - 'Core::Canvas: 2D'
1706 - 'Core::Canvas: WebGL'
1718 machine_name: core_graphics
1721 description: Hardware Abstraction Layer
1727 - Core::Hardware Abstraction Layer (HAL)
1731 machine_name: core_hal
1733 - name: 'Core: HTML Parser'
1734 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1735 to the HTML specification, and is mostly translated automatically from Java
1741 url: http://about.validator.nu/
1743 - 'Core::HTML: Parser'
1748 machine_name: core_html_parser
1750 - name: 'Core: I18N Library'
1759 url: :ref:`Internationalization`
1761 - Core::Internationalization
1769 machine_name: core_i18n_library
1771 - name: 'Core: ImageLib'
1774 - media/libjpeg/**/*
1791 machine_name: core_imagelib
1793 - name: 'Core: IndexedDB'
1796 - dom/indexedDB/**/*
1804 url: https://developer.mozilla.org/en/IndexedDB
1806 - 'Core::DOM: IndexedDB'
1807 review_group: dom-storage-reviewers
1814 machine_name: core_indexeddb
1817 description: Native message-passing between threads and processes
1838 review_group: ipc-reviewers
1845 machine_name: core_ipc
1847 - name: 'Core: JavaScript'
1848 description: JavaScript engine (SpiderMonkey)
1872 - Nicholas Nethercote
1877 url: https://spidermonkey.dev/
1879 - Core::JavaScript Engine
1880 - 'Core::JavaScript: GC'
1881 - 'Core::JavaScript: Internationalization API'
1882 - 'Core::JavaScript: Standard Library'
1883 - 'Core::JavaScript: WebAssembly'
1905 machine_name: core_javascript
1907 - name: 'Core: JavaScript JIT'
1908 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1916 url: https://spidermonkey.dev/
1918 - 'Core::JavaScript Engine: JIT'
1934 machine_name: core_javascript_jit
1936 - name: 'Core: js-tests'
1937 description: JavaScript test suite
1941 group: dev-tech-js-engine
1942 url: http://www.mozilla.org/js/tests/library.html
1946 machine_name: core_jstests
1948 - name: 'Core: Layout Engine'
1949 description: rendering tree construction, layout (reflow), etc.
1955 - layout/generic/**/*
1956 - layout/printing/**/*
1957 - layout/tables/**/*
1966 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1969 - 'Core::Layout: Block and Inline'
1970 - 'Core::Layout: Columns'
1971 - 'Core::Layout: Flexbox'
1972 - 'Core::Layout: Floats'
1973 - 'Core::Layout: Form Controls'
1974 - 'Core::Layout: Generated Content, Lists, and Counters'
1975 - 'Core::Layout: Grid'
1976 - 'Core::Layout: Images, Video, and HTML Frames'
1977 - 'Core::Layout: Positioned'
1978 - 'Core::Layout: Ruby'
1979 - 'Core::Layout: Scrolling and Overflow'
1980 - 'Core::Layout: Tables'
1981 - 'Core::Layout: Text and Fonts'
1982 - Core::Print Preview
1983 - 'Core::Printing: Output'
1995 machine_name: core_layout_engine
1997 - name: 'Core: Legacy HTML Parser'
2000 - parser/htmlparser/**/*
2004 url: http://www.mozilla.org/newlayout/doc/parser.html
2006 - 'Core::HTML: Parser'
2013 machine_name: core_legacy_html_parser
2015 - name: 'Core: libjar'
2016 description: The JAR handling code (protocol handler, stream implementation, and
2017 zipreader/zipwriter).
2019 - modules/libjar/**/*
2029 - 'Core::Networking: JAR'
2035 machine_name: core_libjar
2037 - name: 'Core: MathML'
2038 description: MathML is a low-level specification for describing mathematics which
2039 provides a foundation for the inclusion of mathematical expressions in Web pages.
2041 - layout/mathml/**/*
2043 group: dev-tech-mathml
2044 url: https://developer.mozilla.org/docs/Web/MathML
2051 machine_name: core_mathml
2053 - name: 'Core: Media Playback'
2054 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2055 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2058 - media/gmp-clearkey/**/*
2059 - media/libcubeb/**/*
2060 - media/libnestegg/**/*
2062 - media/libopus/**/*
2063 - media/libtheora/**/*
2064 - media/libtremor/**/*
2065 - media/libvorbis/**/*
2067 - dom/media/platforms/omx/**/*
2068 - dom/media/gmp/rlz/**/*
2083 machine_name: core_media_playback
2085 - name: 'Core: Media Transport'
2086 description: Pluggable transport for real-time media
2088 - dom/media/webrtc/transport/**/*
2092 - Core::WebRTC::Networking
2099 machine_name: core_media_transport
2101 - name: 'Core: Memory Allocator'
2102 description: Most things related to memory allocation in Gecko, including jemalloc,
2103 replace-malloc, DMD (dark matter detector), logalloc, etc.
2109 - Nicholas Nethercote
2117 machine_name: core_memory_allocator
2119 - name: 'Core: mfbt'
2120 description: mfbt is a collection of headers, macros, data structures, methods,
2121 and other functionality available for use and reuse throughout all Mozilla code
2122 (including SpiderMonkey and Gecko more broadly).
2134 machine_name: core_mfbt
2136 - name: 'Core: Moz2D (Graphics submodule)'
2137 description: Platform independent 2D graphics API
2142 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2150 machine_name: core_moz2d_graphics_submodule
2152 - name: 'Core: Mozglue'
2153 description: Glue library containing various low-level functionality, including
2154 a dynamic linker for Android, a DLL block list for Windows, etc.
2162 - Kartikaya Gupta (mozglue/android)
2167 machine_name: core_mozglue
2169 - name: 'Core: MSCOM'
2170 description: Integration with Microsoft Distributed COM
2181 - 'Core::IPC: MSCOM'
2187 machine_name: core_mscom
2189 - name: 'Core: Necko'
2190 description: The Mozilla Networking Library
2194 - netwerk/build/**/*
2195 - netwerk/cache2/**/*
2197 - netwerk/locales/**/*
2199 - netwerk/protocol/**/*
2200 - netwerk/socket/**/*
2201 - netwerk/streamconv/**/*
2202 - netwerk/system/**/*
2207 - dom/websocket/**/*
2208 - uriloader/prefetch/**/*
2209 - uriloader/preload/**/*
2212 - Dragana Damjanovic
2214 - Christian Biesinger
2225 group: dev-tech-network
2226 url: :ref:`Networking`
2229 - 'Core::Networking: Cache'
2230 - 'Core::Networking: Cookies'
2231 - 'Core::Networking: FTP'
2232 - 'Core::Networking: File'
2233 - 'Core::Networking: HTTP'
2234 - 'Core::Networking: JAR'
2235 - 'Core::Networking: Websockets'
2236 - 'Core::DOM: Networking'
2242 machine_name: core_necko
2244 - name: 'Core: NodeJS usage, tools, and style'
2245 description: Advises on the use of NodeJS and npm packages at build and runtime.
2246 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2247 teams to maintain automated license and security audits of npm packages. Works
2248 with the security team and relevant developers to respond to vulnerabilities
2249 in NodeJS and vendored npm packages.
2254 # TODO: and others as appropriate
2258 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2267 machine_name: core_nodejs_usage_tools_and_style
2269 - name: 'Core: NSPR'
2270 description: Netscape Portable Runtime
2276 group: dev-tech-nspr
2284 machine_name: core_nspr
2287 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2290 - toolkit/components/pdfjs/**/*
2298 url: https://github.com/mozilla/pdf.js
2305 machine_name: core_pdf
2307 - name: 'Core: Permissions'
2310 - extensions/permissions/**/*
2319 - Christian Biesinger
2324 - 'Core :: Permission Manager'
2331 machine_name: core_permissions
2333 - name: 'Core: Plugins'
2334 description: ' NPAPI Plugin support.'
2346 url: https://wiki.mozilla.org/Plugins
2351 machine_name: core_plugins
2353 - name: 'Core: Preferences'
2354 description: Preference library
2356 - modules/libpref/**/*
2359 - Nicholas Nethercote
2365 - 'Core::Preferences: Backend'
2371 machine_name: core_preferences
2373 - name: 'Core: Private Browsing'
2374 description: Implementation of the Private Browsing mode, and the integration
2375 of other modules with Private Browsing APIs.
2378 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2379 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2387 url: https://wiki.mozilla.org/Private_Browsing
2389 - Firefox::Private Browsing
2394 machine_name: core_private_browsing
2396 - name: 'Core: Privilege Manager'
2397 description: Caps is the capabilities-based security system.
2406 url: http://www.mozilla.org/projects/security/components/index.html
2408 - 'Core::Security: CAPS'
2414 machine_name: core_privilege_manager
2416 - name: 'Core: Push Notifications'
2417 description: Push is a way for application developers to send messages to their
2428 - 'Core::DOM: Notifications'
2432 machine_name: core_push_notifications
2434 - name: 'Core: Sandboxing (Linux)'
2435 description: Sandboxing for the Linux platform
2437 - security/sandbox/linux/**/*
2440 url: https://wiki.mozilla.org/Security/Sandbox
2442 - 'Core::Security: Process Sandboxing'
2447 machine_name: core_sandboxing_linux
2449 - name: 'Core: Sandboxing (OSX)'
2450 description: Sandboxing for the OSX platform
2452 - security/sandbox/mac/**/*
2455 url: https://wiki.mozilla.org/Security/Sandbox
2457 - 'Core::Security: Process Sandboxing'
2461 machine_name: core_sandboxing_osx
2463 - name: 'Core: Sandboxing (Windows)'
2464 description: Sandboxing for the Windows platform
2466 - security/sandbox/win/**/*
2476 url: https://wiki.mozilla.org/Security/Sandbox
2478 - 'Core::Security: Process Sandboxing'
2483 machine_name: core_sandboxing_windows
2485 - name: 'Core: security'
2486 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2499 group: dev-tech-crypto
2500 url: :ref:`Network Security Services (NSS)`
2505 - 'Core::Security: S/MIME'
2518 machine_name: core_security
2520 - name: 'Core: Security - Mozilla PSM Glue'
2521 description: Personal Security Manager
2523 - security/manager/**/*
2526 - Kai Engert (2001-2012)
2527 group: dev-tech-crypto
2529 - 'Core::Security: PSM'
2538 machine_name: core_security_mozilla_psm_glue
2540 - machine_name: core_security_rlbox
2541 name: Security - RLBox
2542 description: Sandboxing using WASM/RLBox libraries.
2546 - third_party/rlbox_wasm2c_sandbox
2556 - 'Core::Security: RLBox'
2557 - name: 'Core: Static analysis & rewriting for C++'
2558 description: Tools for checking C++ code looking for problems at compile time,
2559 plus tools for automated rewriting of C++ code.
2561 - build/clang-plugin/**/*
2562 - tools/rewriting/**/*
2563 # TODO among other out of tree tools
2566 - Birunthan Mohanathas
2570 - Core::Rewriting & Analysis
2577 machine_name: core_static_analysis_rewriting_for_c
2579 - name: 'Core: storage'
2580 description: Storage APIs with a SQLite backend
2582 - third_party/sqlite3/**/*
2586 url: http://developer.mozilla.org/en/docs/Storage
2588 - Toolkit::Storage, Core::SQL
2596 machine_name: core_storage
2598 - name: 'Core: String'
2603 group: dev-tech-xpcom
2604 url: :ref:`String Guide`
2611 machine_name: core_string
2613 - name: 'Core: Style System'
2614 description: CSS style sheet handling; style data computation
2625 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2627 - Core::CSS Parsing and Computation
2628 - 'Core::DOM: CSS Object Model'
2634 machine_name: core_style_system
2637 description: Scalable Vector Graphics
2644 url: https://developer.mozilla.org/docs/Web/SVG
2654 machine_name: core_svg
2656 - name: 'Core: UA String'
2657 description: User Agent String
2659 - netwerk/protocol/http/**/*
2662 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2664 - 'Core::Networking: HTTP'
2670 machine_name: core_ua_string
2672 - name: 'Core: View System'
2673 description: The View Manager is responsible for handling "heavyweight" rendering
2674 (some clipping, compositing) and event handling tasks.
2682 - 'Core::Layout: View Rendering'
2688 machine_name: core_view_system
2690 - name: 'Core: Web Audio'
2691 description: Support for the W3C Web Audio API specification.
2693 - dom/media/webaudio/**/*
2698 url: https://wiki.mozilla.org/Web_Audio_API
2706 machine_name: core_web_audio
2708 - name: 'Core: Web Painting'
2709 description: painting, display lists, and layer construction
2711 - layout/painting/**/*
2712 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2715 url: :ref:`Layout & CSS`
2717 - 'Core::Layout: Web Painting'
2728 machine_name: core_web_painting
2730 - name: 'Core: Web Workers'
2743 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2745 - 'Core::DOM: Workers'
2746 review_group: dom-worker-reviewers
2752 machine_name: core_web_workers
2754 - name: 'Core: WebGPU (Graphics submodule)'
2755 description: WebGPU implementation
2758 - gfx/wgpu_bindings/**/*
2759 - third_party/rust/naga/**/*
2760 - third_party/rust/wgpu-core/**/*
2761 - third_party/rust/wgpu-hal/**/*
2762 - third_party/rust/wgpu-types/**/*
2765 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2767 - Core::Graphics::WebGPU
2768 review_group: webgpu-reviewers
2780 machine_name: core_webgpu_graphics_submodule
2782 - name: 'Core: WebRTC'
2783 description: WebRTC is responsible for realtime audio and video communication,
2784 as well as related issues like low-level camera and microphone access
2787 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2792 url: https://wiki.mozilla.org/Media/webrtc
2795 - Core::WebRTC Networking
2802 machine_name: core_webrtc
2804 - name: 'Core: WebVR'
2805 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2806 including API, devices, graphics and integration
2812 - Vladimir Vukicevic
2815 url: https://mozvr.com/
2824 - name: 'Core: WebRTC Media'
2825 description: Submodule of WebRTC responsible for access to media input devices
2826 (microphones, cameras, screen capture), as well as realtime audiovisual
2827 codecs and packetization.
2830 - dom/media/webrtc/**/*
2831 - dom/media/systemservices/**/*
2837 url: https://wiki.mozilla.org/Media/webrtc
2839 - Core::WebRTC (Audio/Video)
2846 machine_name: core_webrtc_media
2848 - name: 'Core: WebRTC Signaling'
2849 description: Submodule of WebRTC responsible for implementation of PeerConnection
2850 API, WebRTC identity, and SDP/JSEP handling
2852 - media/webrtc/signaling/**/*
2857 url: https://wiki.mozilla.org/Media/webrtc
2859 - Core::WebRTC (Signaling)
2867 machine_name: core_webrtc_signaling
2868 machine_name: core_webvr
2870 - name: 'Core: Widget'
2871 description: Top level Widget
2876 - Vladimir Vukicevic
2883 - Core::Drag and Drop
2885 - 'Core::Printing: Setup'
2888 machine_name: core_widget
2890 - name: 'Core: Widget - Android'
2891 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2896 machine_name: core_widget_android
2898 - name: 'Core: Widget - GTK'
2899 description: GTK widget support
2906 url: http://www.mozilla.org/ports/gtk/
2908 - 'Core::Widget: Gtk'
2913 machine_name: core_widget_gtk
2915 - name: 'Core: Widget - Headless'
2916 description: Headless widget support
2918 - widget/headless/**/*
2927 machine_name: core_widget_headless
2929 - name: 'Core: Widget - macOS'
2930 description: ' macOS widget support'
2943 - 'Core::Widget: Cocoa'
2949 machine_name: core_widget_macos
2951 - name: 'Core: Widget - Windows'
2952 description: Windows widget support
2954 - widget/windows/**/*
2960 - Vladimir Vukicevic
2963 - Christian Biesinger
2965 - Josh 'timeless' Soref
2972 - 'Core::Widget: Win32'
2978 machine_name: core_widget_windows
2981 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2982 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2983 that are not covered by more specific projects.
2999 machine_name: core_xml
3001 - name: 'Core: XPApps'
3002 description: Cross-Platform Applications, mostly Navigator front end and application
3007 group: dev-apps-seamonkey
3011 - Josh 'timeless' Soref
3014 machine_name: core_xpapps
3016 - name: 'Core: XPCOM'
3017 description: The cross-platform object model and core data structures.
3023 - xpcom/components/**/*
3027 - xpcom/reflect/**/*
3031 - xpcom/threads/**/*
3032 - xpcom/windbgdlg/**/*
3044 review_group: xpcom-reviewers
3054 machine_name: core_xpcom
3056 - name: 'Core: XPConnect'
3057 description: Deep Magic
3076 machine_name: core_xpconnect
3078 - name: 'Core: XPIDL'
3079 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3080 runtime type description files from .idl interface description files.
3082 - xpcom/idl-parser/**/*
3089 - Josh 'timeless' Soref
3090 group: dev-tech-xpcom
3096 machine_name: core_xpidl
3098 - name: 'Core: XSLT Processor'
3099 description: XSLT transformations processor
3107 group: dev-tech-xslt
3108 url: https://developer.mozilla.org/docs/Web/XSLT
3114 machine_name: core_xslt_processor
3116 - name: Desktop Firefox
3117 description: Standalone Web Browser.
3130 - Tim Guan-tin Chien
3160 - name: Add-ons Manager
3161 description: Extension management back-end.
3163 - toolkit/mozapps/extensions/**/*
3177 machine_name: addons_manager
3179 - name: Add-ons Manager UI
3180 description: about:addons.
3182 - toolkit/mozapps/extensions/content/**/*
3195 machine_name: addons_manager_ui
3197 - name: Application Update
3198 description: The application update services.
3200 - toolkit/mozapps/update/**/*
3207 machine_name: application_update
3209 - name: Bookmarks & History
3210 description: The bookmarks and history services (Places).
3212 - browser/components/places/**/*
3213 - toolkit/components/places/**/*
3222 - Firefox::Bookmarks & History
3224 review_group: places-reviewers
3232 machine_name: bookmarks_history
3234 - name: Desktop Theme
3235 description: The style rules used in the desktop UI.
3237 - browser/themes/**/*
3238 - toolkit/themes/**/*
3252 machine_name: desktop_theme
3255 description: The main browser UI except where covered by more specific submodules.
3257 - browser/base/content/**/*
3264 machine_name: desktop_ui
3266 - name: Download Manager
3267 description: The downloads UI and service.
3269 - browser/components/downloads/**/*
3270 - toolkit/mozapps/downloads/**/*
3271 - uriloader/exthandler/**/*
3281 machine_name: download_manager
3283 - name: Enterprise Policies
3284 description: System policies for controlling Firefox.
3286 - browser/components/enterprisepolicies/**/*
3291 machine_name: enterprise_policies
3293 - name: Experiments/Rollouts
3294 description: Desktop clients for our experiments and off-train deployments
3297 - toolkit/components/normandy/**/*
3298 - toolkit/components/nimbus/**/*
3304 - Firefox::Nimbus Desktop Client
3305 url: https://experimenter.info/
3311 machine_name: normandy
3313 - machine_name: firefox_view
3315 description: The Firefox View page and its modules.
3317 - browser/components/firefoxview/**/*
3325 - name: Form Autofill
3326 description: Form detection and autocomplete.
3328 - browser/extensions/formautofill/**/*
3329 - toolkit/components/satchel/**/*
3332 - Matthew Noorenberghe
3338 machine_name: form_autofill
3340 - name: In-product Messaging
3341 description: The system for delivering in-product messaging.
3343 - toolkit/components/messaging-system/**/*
3346 - Firefox::Messaging System
3353 machine_name: inproduct_messaging
3355 - name: Launcher Process
3356 description: Windows process for bootstrapping the browser process.
3358 - browser/app/winlauncher/**/*
3364 - Firefox::Launcher Process
3369 machine_name: launcher_process
3371 - machine_name: localization
3373 description: Tooling to enable translation and facilitate localization.
3381 - name: New Tab Page
3382 description: The new tab/home page.
3384 - browser/components/newtab/**/*
3387 - Firefox::New Tab Page
3394 machine_name: new_tab_page
3397 description: The onboarding experience including UI tours.
3399 - browser/components/uitour/**/*
3407 machine_name: onboarding
3409 - name: Password Manager
3410 description: Managing, saving and filling logins.
3412 - toolkit/components/passwordmgr/**/*
3413 - browser/components/aboutlogins/**/*
3416 - Matthew Noorenberghe
3420 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3422 - Toolkit::Password Manager
3423 - 'Toolkit::Password Manager: Site'
3425 - Firefox::about:logins
3433 machine_name: password_manager
3435 - machine_name: firefox_pip
3436 name: Picture-in-Picture
3437 description: A component that allows video elements to be pulled out into
3438 an always-on-top window.
3440 - toolkit/components/pictureinpicture
3441 - browser/extensions/pictureinpicture
3451 - name: Profile Migration
3452 description: Migrating data from other browsers.
3454 - browser/components/migration/**/*
3462 machine_name: profile_migration
3465 description: Code relating to Screenshots functionality
3467 - browser/extensions/screenshots/**/*
3468 - browser/components/screenshots/**/*
3476 - Firefox::Screenshots
3482 machine_name: screenshots
3484 - name: Search and Address Bar
3485 description: The search service, address bar and address bar autocomplete.
3487 - browser/components/search/**/*
3488 - browser/components/urlbar/**/*
3489 - toolkit/components/search/**/*
3492 - Firefox::Address Bar
3505 machine_name: search_and_address_bar
3507 - name: Security and Privacy UI
3508 description: The front-end to our security and privacy features, including
3509 Protections UI, Site Identity, Site Permissions and Certificate Errors
3511 - browser/components/protections/**/*
3512 - browser/components/controlcenter/**/*
3516 - Nihanth Subramanya
3521 - Firefox::Protections UI
3522 - Firefox::Site Identity
3523 - Firefox::Site Permissions
3528 machine_name: security_and_privacy_ui
3530 - name: Session Restore
3531 description: Restoring a user's session after starting Firefox.
3533 - browser/components/sessionstore/**/*
3534 - toolkit/components/sessionstore/**/*
3543 - Firefox::Session Restore
3551 machine_name: session_restore
3554 description: The front-end settings user interface.
3556 - browser/components/preferences/**/*
3557 - browser/themes/*/preferences
3558 - toolkit/mozapps/preferences
3569 machine_name: settings_ui
3571 - name: Tabbed Browser
3572 description: The UI component controlling browser tabs.
3574 - browser/base/content/tabbrowser*
3575 - browser/base/content/browser-allTabsMenu.js
3576 - browser/base/content/browser-ctrlTab.js
3577 - browser/base/content/browser-fullZoom.js
3578 - browser/modules/AsyncTabSwitcher.sys.mjs
3579 - browser/modules/NewTabPagePreloading.sys.mjs
3580 - browser/modules/OpenInTabsUtils.sys.mjs
3581 - browser/modules/TabsList.sys.mjs
3582 - browser/modules/TabUnloader.sys.mjs
3585 - Firefox::Tabbed Browser
3594 machine_name: tabbed_browser
3596 - name: Windows Installer
3597 description: The installer for Windows.
3599 - browser/installer/**/*
3600 - toolkit/mozapps/installer/**/*
3603 - Firefox::Installer
3609 machine_name: windows_installer
3610 machine_name: desktop_firefox
3612 - machine_name: devtools
3614 description: Mozilla Developer Tools
3640 - Steve Fink (heapsnapshot code)
3650 - Panagiotis Astithas
3668 url: http://firefox-dev.tools/
3671 - machine_name: javascript_usage
3672 name: JavaScript usage, tools, and style
3673 description: Aspects of JavaScript use such as language feature usage, tooling
3674 such as lint configurations, formatting and naming style.
3676 - .eslintrc-test-paths.js
3677 - '**/.eslintignore'
3679 - tools/lint/eslint/**/*
3696 - machine_name: mozharness
3698 description: Configuration-driven script harness.
3700 - testing/mozharness/**/*
3713 - 'Release Engineering :: Applications: MozharnessCore'
3714 - machine_name: python_usage
3715 name: Python usage, tools, and style
3716 description: Aspects of Python use such as tooling, formatting and naming style
3718 - tools/lint/python/**/*
3728 - 'Developer Infrastructure :: Lint and Formatting'
3730 - machine_name: remote_protocol
3731 name: Remote Protocol
3732 description: Low-level remote protocol exposing interfaces for inspecting state
3733 and controlling execution of web documents, instrumenting various subsystems
3734 in the browser, simulating user interaction for automation purposes, and for
3735 subscribing to updates from the aforementioned.
3741 url: https://firefox-source-docs.mozilla.org/remote/
3750 - machine_name: remote_protocol_agent
3752 description: Underlying transport layer and server to allow remoting of Firefox
3753 for automation and debugging.
3758 - remote/marionette/*
3759 - remote/webdriver-bidi/*
3764 - Maja Frydrychowicz
3768 - 'Remote Protocol :: Agent'
3776 - machine_name: remote_protocol_cdp
3778 description: The core implementation for CDP support. Please file domain specific
3779 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3786 - Maja Frydrychowicz
3790 - 'Remote Protocol :: CDP'
3798 - machine_name: remote_protocol_marionette
3800 description: Marionette is a remote protocol that lets out-of-process programs
3801 communicate with, instrument, and control Gecko-based browsers. Combined
3802 with geckodriver, this forms our WebDriver classic implementation.
3804 - remote/marionette/*
3809 - Maja Frydrychowicz
3812 - 'Remote Protocol :: Marionette'
3813 group: dev-webdriver
3821 - machine_name: remote_protocol_webdriver_bidi
3822 name: WebDriver BiDi
3823 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3825 - remote/webdriver-bidi/*
3828 - 'Remote Protocol :: WebDriver BiDi'
3829 group: dev-webdriver
3837 - machine_name: sync
3839 description: Firefox Sync client
3841 - services/sync/**/*
3854 url: https://wiki.mozilla.org/Services/Process/Code_Review
3858 - machine_name: testing_firefox_ui
3860 description: Firefox UI test framework.
3862 - testing/firefox-ui/**/*
3865 - Maja Frydrychowicz
3867 - 'Testing :: Firefox UI'
3875 - machine_name: testing_geckodriver
3877 description: Proxy for using W3C WebDriver-compatible clients to interact with
3878 Gecko-based browsers.
3880 - testing/geckodriver/**/*
3888 - 'Testing :: geckodriver'
3889 group: dev-webdriver
3891 - machine_name: testing_gtest
3893 description: GTest test harness.
3895 - testing/gtest/**/*
3902 - 'Testing :: GTest'
3904 - machine_name: testing_marionette_client_harness
3905 name: Marionette Client & Harness
3906 description: Python client and harness for the Marionette remote protocol implementation.
3908 - testing/marionette/**/*
3913 - Maja Frydrychowicz
3916 - 'Testing :: Marionette Client & Harness'
3924 - machine_name: testing_mochitest
3926 description: Mochitest test framework
3928 - testing/mochitest/**/*
3937 - 'Testing :: Mochitest'
3938 - machine_name: testing_mozbase
3940 description: Base modules used for implementing test components.
3954 - 'Testing :: Mozbase'
3955 - 'Testing :: Mozbase Rust'
3956 - machine_name: testing_performance_testing
3957 name: Performance Testing
3959 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3960 MozPerfTest, AWSY, JSShell, mach try perf, etc.. See our PerfDocs for more information on
3961 the owners/peers of the various components (linked below).
3963 - testing/raptor/**/*
3964 - testing/talos/**/*
3965 - python/mozperftest/**/*
3967 - testing/jsshell/**/*
3968 - tools/lint/perfdocs/**/*
3969 - testing/perfdocs/**/*
3970 - testing/performance/**/*
3971 - testing/condprofile/**/*
3972 - tools/browsertime/**/*
3973 - tools/tryselect/selectors/perf.py
3983 - 'Testing :: Raptor'
3984 - 'Testing :: Talos'
3986 - 'Testing :: Performance'
3987 - 'Testing :: mozperftest'
3988 - 'Testing :: Condprofile'
3989 url: :ref:`Performance Testing`
3990 - machine_name: testing_reftest
3991 name: Reftest (+ jsreftest + crashtest)
3992 description: Reftest test framework
3994 - layout/tools/reftest/**/*
4003 - 'Testing :: Reftest'
4004 - machine_name: testing_tryselect
4006 description: Frontend for selecting jobs on the try server.
4008 - tools/tryselect/**/*
4017 - 'Developer Infrastructure :: Try'
4018 - machine_name: testing_web_platform_tests_infrastructure
4019 name: web-platform-tests infrastructure
4020 description: Infrastructure for running the cross-browser web-platform-tests
4022 - testing/web-platform/**/*
4023 - testing/web-platform/tests/tools/**/*
4025 - testing/web-platform/tests/**/*
4026 - testing/web-platform/meta/**/*
4027 - testing/web-platform/mozilla/**/*
4033 - 'Testing :: web-platform-tests'
4034 - machine_name: testing_xpcshell
4036 description: XPCShell test harness.
4038 - testing/xpcshell/**/*
4046 - Testing::XPCShell Harness
4048 description: Components shared between desktop and mobile browsers.
4065 - name: Application Startup
4066 description: The profile system and startup process before the front-end launches.
4068 - toolkit/profile/**/*
4069 - toolkit/components/remote/**/*
4076 machine_name: application_startup
4080 The core infrastructure in the Firefox client to send back telemetry
4081 data. Includes the common mechanisms to record, view and submit data: Legacy
4082 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4083 does ''not'' include responsibility for every piece of submitted Telemetry
4084 data. Each team/module is responsible for their own measurements (histograms,
4085 scalars, other ping submissions, etc.).
4087 - toolkit/components/glean/**/*
4088 - toolkit/components/telemetry/**/*
4089 - toolkit/content/aboutTelemetry.*
4094 url: :ref:`Telemetry`
4102 machine_name: telemetry
4105 description: The base widgets used throughout the UI.
4107 - toolkit/content/widgets/**/*
4114 machine_name: ui_widgets
4116 - name: Webextensions
4117 description: Webextension APIs and integration.
4119 - browser/components/extensions/**/*
4120 - toolkit/components/extensions/**/*
4132 machine_name: webextensions
4133 machine_name: toolkit
4134 - machine_name: url_classifier
4135 name: URL Classifier
4136 description: Database and list-based classification of URL resources, such as
4137 Tracking Protection and SafeBrowsing.
4139 - toolkit/components/url-classifier/**/*
4140 - netwerk/url-classifier/**/*
4149 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4150 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4158 config: e6db127e330341bf35fe787d456b248944bef4e7
4159 export: 6fc9fdff3716c27347c867b266928e86119d325d