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-13T01:11:45.977075'
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: mozilla-toplevel
1022 description: The top level directory for the mozilla tree. Owned by the TLMC
1036 machine_name: _mozillatoplevel
1038 - machine_name: code_coverage
1040 description: Tools for code coverage instrumentation, and coverage data parsing
1043 - tools/code-coverage/**/*
1044 - python/mozbuild/mozbuild/codecoverage/**/*
1045 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1054 - 'Testing :: Code Coverage'
1055 - name: 'Core: Accessibility'
1056 description: Support for platform accessibility APIs. Accessibility APIs are used
1057 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1058 software, which need information about document content and UI controls, as
1059 well as important events like changes of focus.
1073 group: dev-accessibility
1074 url: https://developer.mozilla.org/docs/Web/Accessibility
1076 - Core::Disability Access APIs
1083 machine_name: core_accessibility
1085 - name: 'Core: Animation'
1086 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1087 API, and off-main thread animations.'
1089 - dom/animation/**/*
1090 # TODO "and animation-related and interpolation-related code
1091 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1095 - Core::DOM::Animation
1096 - Core::CSS Transitions and Animations
1104 machine_name: core_animation
1106 - name: 'Core: Anti-Tracking'
1107 description: Tracking detection and content-blocking.
1109 - toolkit/components/antitracking/**/*
1110 # several files under browser/ and netwerk/url-classifier/ **TODO**
1118 - 'Core::Privacy: Anti-Tracking'
1126 machine_name: core_antitracking
1128 - name: 'Core: APZ (Graphics submodule)'
1129 description: Asynchronous panning and zooming
1131 - gfx/layers/apz/**/*
1138 url: https://wiki.mozilla.org/Platform/GFX/APZ
1140 - Core::Panning and Zooming
1148 machine_name: core_apz_graphics_submodule
1150 - name: 'Core: Browser WebAPI'
1151 description: Web API for rendering apps, browser windows and widgets.
1153 - dom/browser-element/**/*
1164 machine_name: core_browser_webapi
1166 - name: 'Core: Build and Release Tools'
1167 description: Tools related to build and release automation and configuration of
1170 - tools/update-packaging/**/*
1171 - tools/update-verify/**/*
1175 group: release-engineering
1176 url: https://wiki.mozilla.org/ReleaseEngineering
1178 - Release Engineering::*
1184 machine_name: core_build_and_release_tools
1186 - name: 'Core: Build Config'
1187 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1192 - python/mozbuild/**/*
1193 - browser/config/mozconfigs/**/*
1211 url: :ref:`Build System`
1213 - Core::Build Config
1220 - name: 'Core: Build Config - Fennec'
1221 description: Submodule of the build config covering Fennec's build system
1226 - Core::Build Config
1230 machine_name: core_build_config_fennec
1232 - name: 'Core: Build Config - Taskgraph'
1233 description: Support for task-graph generation in decision, action, and cron
1234 tasks, including configuration of all tasks including those for CI, nightlies,
1235 and releases; as well as Docker and VM images used to execute those tasks.
1240 - Firefox Build System::Task Configuration
1256 machine_name: core_build_config_taskgraph
1257 machine_name: core_build_config
1259 - name: 'Core: Code Analysis and Debugging Tools'
1260 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1261 and other characteristics of it.
1264 - tools/leak-gauge/**/*
1265 - tools/performance/**/*
1268 group: dev-performance
1272 machine_name: core_code_analysis_and_debugging_tools
1274 - name: 'Core: Content Security'
1275 description: 'Native content-based security features enforced in the ContentSecurityManager,
1276 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1277 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1278 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1279 and top-level data: URI blocking.'
1291 - 'Core::DOM: Security'
1299 machine_name: core_content_security
1301 - name: 'Core: Cookies'
1304 - netwerk/cookie/**/*
1313 - Christian Biesinger
1319 - 'Core::Networking: Cookies'
1328 machine_name: core_cookies
1330 - name: 'Core: Crash reporting'
1331 description: Infrastructure and tools used to generate, submit and process crash
1332 reports. This includes the in-tree google-breakpad fork, the crash report generation
1333 machinery as well as the host tools used to dump symbols, analyse minidumps
1334 and generate stack traces.
1336 - toolkit/crashreporter/**/*
1337 - toolkit/components/crashes/**/*
1338 - tools/crashreporter/**/*
1339 - ipc/glue/CrashReporter*
1340 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1345 url: :ref:`Crash Reporter`
1347 - Toolkit::Crash Reporting
1353 machine_name: core_crash_reporting
1355 - machine_name: core_credentials
1356 name: 'Core: Credentials'
1357 description: API Surface for FedCM and WebAuthn
1359 - toolkit/components/credentialmanagement/**/*
1360 - browser/components/credentialmanager/**/*
1361 - dom/credentialmanagement/**/*
1373 - 'Core::DOM: Credential Management'
1374 - 'Core::DOM: Web Authentication'
1376 - name: 'Core: C++/Rust usage, tools, and style'
1377 description: Aspects of C++ use such as language feature usage, standard library
1378 versions/usage, compiler/toolchain versions, formatting and naming style, and
1379 aspects of Rust use as needs arise
1381 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1382 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1383 # - docs/code-quality/**/*
1384 # - docs/testing-rust-code/**/*
1385 # - docs/writing-rust-code/**/*
1400 machine_name: core_crust_usage_tools_and_style
1402 - name: 'Core: Cycle Collector'
1403 description: Code to break and collect objects within reference cycles
1405 - xpcom/base/nsCycleCollect*
1406 # TODO "and some support headers"
1407 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1413 - Core::Cycle Collector
1419 machine_name: core_cycle_collector
1421 - name: 'Core: DLL Services'
1422 description: Windows dynamic linker instrumentation and blocking
1424 - toolkit/xre/dllservices/**/*
1430 - Core::DLL Services
1435 machine_name: core_dll_services
1437 - name: 'Core: docshell'
1441 - uriloader/base/**/*
1447 - Christian Biesinger
1453 - Core::Document Navigation
1460 machine_name: core_docshell
1462 - name: 'Core: Document Object Model'
1466 exclude_module_paths: true
1483 url: http://developer.mozilla.org/en/docs/DOM
1486 - 'Core::DOM: Core & HTML'
1502 machine_name: core_document_object_model
1504 - name: 'Core: DOM File'
1505 description: DOM Blob, File and FileSystem APIs
1508 - dom/filesystem/**/*
1511 url: http://developer.mozilla.org/en/docs/DOM
1518 machine_name: core_dom_file
1520 - machine_name: core_dom_streams
1521 name: 'Core: DOM Streams'
1522 description: Streams Specification implementation
1533 url: http://developer.mozilla.org/en/docs/DOM
1536 - 'Core::DOM: Streams'
1539 - name: 'Core: Editor'
1554 machine_name: core_editor
1556 - name: 'Core: Event Handling'
1557 description: DOM Events and Event Handling
1560 # TODO "and event handling related code elsewhere"
1565 url: http://developer.mozilla.org/en/docs/DOM
1567 - 'Core::DOM: Events'
1568 - 'Core::DOM: UI Events & Focus Handling'
1574 machine_name: core_event_handling
1576 - machine_name: core_firefox_source_documentation
1577 name: 'Core: Firefox Source Documentation'
1578 description: The infrastructure platform used to generate Firefox's source documentation,
1579 excluding editorial control over the content.
1582 - tools/moztreedocs/
1589 - Developer Infrastructure::Source Documentation
1590 url: https://firefox-source-docs.mozilla.org/
1591 - name: 'Core: Gecko Profiler'
1592 description: Gecko's built-in profiler
1594 - tools/profiler/**/*
1595 - mozglue/baseprofiler/**/*
1600 - Shu-yu Guo (JS integration)
1601 - Thinker Lee (TaskTracer)
1602 - Cervantes Yu (TaskTracer)
1603 - Nicholas Nethercote
1609 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1611 - Core::Gecko Profiler
1618 machine_name: core_gecko_profiler
1620 - name: 'Core: GeckoView'
1621 description: Framework for embedding Gecko into Android applications
1623 - mobile/android/**/*
1624 - widget/android/**/*
1636 url: https://wiki.mozilla.org/Mobile/GeckoView
1638 - GeckoView::General
1646 machine_name: core_geckoview
1648 - name: 'Core: Global Key Bindings'
1649 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1650 and the like, as those are part of i18n.
1653 # TODO "and platform specific directories under it"
1655 group: dev-accessibility
1656 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1658 - 'Core::Keyboard: Navigation'
1663 machine_name: core_global_key_bindings
1665 - name: 'Core: Graphics'
1666 description: Mozilla graphics API
1674 - Benoit Girard(Compositor, Performance)
1676 - George Wright(Canvas2D)
1680 - John Daggett(text/fonts)
1681 - Benoit Jacob(gfx/gl)
1683 - Vladimir Vukicevic
1684 - James Willcox(Android)
1687 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1688 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1691 - 'Core::Graphics: Layers'
1692 - 'Core::Graphics: Text'
1693 - 'Core::Graphics: WebRender'
1694 - 'Core::GFX: Color Management'
1695 - 'Core::Canvas: 2D'
1696 - 'Core::Canvas: WebGL'
1708 machine_name: core_graphics
1711 description: Hardware Abstraction Layer
1717 - Core::Hardware Abstraction Layer (HAL)
1721 machine_name: core_hal
1723 - name: 'Core: HTML Parser'
1724 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1725 to the HTML specification, and is mostly translated automatically from Java
1731 url: http://about.validator.nu/
1733 - 'Core::HTML: Parser'
1738 machine_name: core_html_parser
1740 - name: 'Core: I18N Library'
1749 url: :ref:`Internationalization`
1751 - Core::Internationalization
1759 machine_name: core_i18n_library
1761 - name: 'Core: ImageLib'
1764 - media/libjpeg/**/*
1781 machine_name: core_imagelib
1783 - name: 'Core: IndexedDB'
1786 - dom/indexedDB/**/*
1794 url: https://developer.mozilla.org/en/IndexedDB
1796 - 'Core::DOM: IndexedDB'
1803 machine_name: core_indexeddb
1806 description: Native message-passing between threads and processes
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)
1904 url: https://spidermonkey.dev/
1906 - 'Core::JavaScript Engine: JIT'
1922 machine_name: core_javascript_jit
1924 - name: 'Core: js-tests'
1925 description: JavaScript test suite
1929 group: dev-tech-js-engine
1930 url: http://www.mozilla.org/js/tests/library.html
1934 machine_name: core_jstests
1936 - name: 'Core: Layout Engine'
1937 description: rendering tree construction, layout (reflow), etc.
1943 - layout/generic/**/*
1944 - layout/printing/**/*
1945 - layout/tables/**/*
1954 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1957 - 'Core::Layout: Block and Inline'
1958 - 'Core::Layout: Columns'
1959 - 'Core::Layout: Flexbox'
1960 - 'Core::Layout: Floats'
1961 - 'Core::Layout: Form Controls'
1962 - 'Core::Layout: Generated Content, Lists, and Counters'
1963 - 'Core::Layout: Grid'
1964 - 'Core::Layout: Images, Video, and HTML Frames'
1965 - 'Core::Layout: Positioned'
1966 - 'Core::Layout: Ruby'
1967 - 'Core::Layout: Scrolling and Overflow'
1968 - 'Core::Layout: Tables'
1969 - 'Core::Layout: Text and Fonts'
1970 - Core::Print Preview
1971 - 'Core::Printing: Output'
1983 machine_name: core_layout_engine
1985 - name: 'Core: Legacy HTML Parser'
1988 - parser/htmlparser/**/*
1992 url: http://www.mozilla.org/newlayout/doc/parser.html
1994 - 'Core::HTML: Parser'
2001 machine_name: core_legacy_html_parser
2003 - name: 'Core: libjar'
2004 description: The JAR handling code (protocol handler, stream implementation, and
2005 zipreader/zipwriter).
2007 - modules/libjar/**/*
2017 - 'Core::Networking: JAR'
2023 machine_name: core_libjar
2025 - name: 'Core: MathML'
2026 description: MathML is a low-level specification for describing mathematics which
2027 provides a foundation for the inclusion of mathematical expressions in Web pages.
2029 - layout/mathml/**/*
2031 group: dev-tech-mathml
2032 url: https://developer.mozilla.org/docs/Web/MathML
2039 machine_name: core_mathml
2041 - name: 'Core: Media Playback'
2042 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2043 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2046 - media/gmp-clearkey/**/*
2047 - media/libcubeb/**/*
2048 - media/libnestegg/**/*
2050 - media/libopus/**/*
2051 - media/libtheora/**/*
2052 - media/libtremor/**/*
2053 - media/libvorbis/**/*
2055 - dom/media/platforms/omx/**/*
2056 - dom/media/gmp/rlz/**/*
2071 machine_name: core_media_playback
2073 - name: 'Core: Media Transport'
2074 description: Pluggable transport for real-time media
2076 - dom/media/webrtc/transport/**/*
2080 - Core::WebRTC::Networking
2087 machine_name: core_media_transport
2089 - name: 'Core: Memory Allocator'
2090 description: Most things related to memory allocation in Gecko, including jemalloc,
2091 replace-malloc, DMD (dark matter detector), logalloc, etc.
2097 - Nicholas Nethercote
2105 machine_name: core_memory_allocator
2107 - name: 'Core: mfbt'
2108 description: mfbt is a collection of headers, macros, data structures, methods,
2109 and other functionality available for use and reuse throughout all Mozilla code
2110 (including SpiderMonkey and Gecko more broadly).
2122 machine_name: core_mfbt
2124 - name: 'Core: Moz2D (Graphics submodule)'
2125 description: Platform independent 2D graphics API
2130 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2138 machine_name: core_moz2d_graphics_submodule
2140 - name: 'Core: Mozglue'
2141 description: Glue library containing various low-level functionality, including
2142 a dynamic linker for Android, a DLL block list for Windows, etc.
2150 - Kartikaya Gupta (mozglue/android)
2155 machine_name: core_mozglue
2157 - name: 'Core: MSCOM'
2158 description: Integration with Microsoft Distributed COM
2169 - 'Core::IPC: MSCOM'
2175 machine_name: core_mscom
2177 - name: 'Core: Necko'
2178 description: The Mozilla Networking Library
2182 - netwerk/build/**/*
2183 - netwerk/cache2/**/*
2185 - netwerk/locales/**/*
2187 - netwerk/protocol/**/*
2188 - netwerk/socket/**/*
2189 - netwerk/streamconv/**/*
2190 - netwerk/system/**/*
2195 - dom/websocket/**/*
2196 - uriloader/prefetch/**/*
2197 - uriloader/preload/**/*
2200 - Dragana Damjanovic
2202 - Christian Biesinger
2213 group: dev-tech-network
2214 url: :ref:`Networking`
2217 - 'Core::Networking: Cache'
2218 - 'Core::Networking: Cookies'
2219 - 'Core::Networking: FTP'
2220 - 'Core::Networking: File'
2221 - 'Core::Networking: HTTP'
2222 - 'Core::Networking: JAR'
2223 - 'Core::Networking: Websockets'
2224 - 'Core::DOM: Networking'
2230 machine_name: core_necko
2232 - name: 'Core: NodeJS usage, tools, and style'
2233 description: Advises on the use of NodeJS and npm packages at build and runtime.
2234 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2235 teams to maintain automated license and security audits of npm packages. Works
2236 with the security team and relevant developers to respond to vulnerabilities
2237 in NodeJS and vendored npm packages.
2242 # TODO: and others as appropriate
2246 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2255 machine_name: core_nodejs_usage_tools_and_style
2257 - name: 'Core: NSPR'
2258 description: Netscape Portable Runtime
2264 group: dev-tech-nspr
2272 machine_name: core_nspr
2275 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2278 - toolkit/components/pdfjs/**/*
2286 url: https://github.com/mozilla/pdf.js
2293 machine_name: core_pdf
2295 - name: 'Core: Permissions'
2298 - extensions/permissions/**/*
2307 - Christian Biesinger
2312 - 'Core :: Permission Manager'
2319 machine_name: core_permissions
2321 - name: 'Core: Plugins'
2322 description: ' NPAPI Plugin support.'
2334 url: https://wiki.mozilla.org/Plugins
2339 machine_name: core_plugins
2341 - name: 'Core: Preferences'
2342 description: Preference library
2344 - modules/libpref/**/*
2347 - Nicholas Nethercote
2353 - 'Core::Preferences: Backend'
2359 machine_name: core_preferences
2361 - name: 'Core: Private Browsing'
2362 description: Implementation of the Private Browsing mode, and the integration
2363 of other modules with Private Browsing APIs.
2366 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2367 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2375 url: https://wiki.mozilla.org/Private_Browsing
2377 - Firefox::Private Browsing
2382 machine_name: core_private_browsing
2384 - name: 'Core: Privilege Manager'
2385 description: Caps is the capabilities-based security system.
2394 url: http://www.mozilla.org/projects/security/components/index.html
2396 - 'Core::Security: CAPS'
2402 machine_name: core_privilege_manager
2404 - name: 'Core: Push Notifications'
2405 description: Push is a way for application developers to send messages to their
2416 - 'Core::DOM: Notifications'
2420 machine_name: core_push_notifications
2422 - name: 'Core: Sandboxing (Linux)'
2423 description: Sandboxing for the Linux platform
2425 - security/sandbox/linux/**/*
2428 url: https://wiki.mozilla.org/Security/Sandbox
2430 - 'Core::Security: Process Sandboxing'
2435 machine_name: core_sandboxing_linux
2437 - name: 'Core: Sandboxing (OSX)'
2438 description: Sandboxing for the OSX platform
2440 - security/sandbox/mac/**/*
2443 url: https://wiki.mozilla.org/Security/Sandbox
2445 - 'Core::Security: Process Sandboxing'
2449 machine_name: core_sandboxing_osx
2451 - name: 'Core: Sandboxing (Windows)'
2452 description: Sandboxing for the Windows platform
2454 - security/sandbox/win/**/*
2464 url: https://wiki.mozilla.org/Security/Sandbox
2466 - 'Core::Security: Process Sandboxing'
2471 machine_name: core_sandboxing_windows
2473 - name: 'Core: security'
2474 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2487 group: dev-tech-crypto
2488 url: :ref:`Network Security Services (NSS)`
2493 - 'Core::Security: S/MIME'
2506 machine_name: core_security
2508 - name: 'Core: Security - Mozilla PSM Glue'
2509 description: Personal Security Manager
2511 - security/manager/**/*
2514 - Kai Engert (2001-2012)
2515 group: dev-tech-crypto
2517 - 'Core::Security: PSM'
2526 machine_name: core_security_mozilla_psm_glue
2528 - machine_name: core_security_rlbox
2529 name: Security - RLBox
2530 description: Sandboxing using WASM/RLBox libraries.
2534 - third_party/rlbox_wasm2c_sandbox
2544 - 'Core::Security: RLBox'
2545 - name: 'Core: Static analysis & rewriting for C++'
2546 description: Tools for checking C++ code looking for problems at compile time,
2547 plus tools for automated rewriting of C++ code.
2549 - build/clang-plugin/**/*
2550 - tools/rewriting/**/*
2551 # TODO among other out of tree tools
2554 - Birunthan Mohanathas
2558 - Core::Rewriting & Analysis
2565 machine_name: core_static_analysis_rewriting_for_c
2567 - name: 'Core: storage'
2568 description: Storage APIs with a SQLite backend
2570 - third_party/sqlite3/**/*
2574 url: http://developer.mozilla.org/en/docs/Storage
2576 - Toolkit::Storage, Core::SQL
2584 machine_name: core_storage
2586 - name: 'Core: String'
2591 group: dev-tech-xpcom
2592 url: :ref:`String Guide`
2599 machine_name: core_string
2601 - name: 'Core: Style System'
2602 description: CSS style sheet handling; style data computation
2613 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2615 - Core::CSS Parsing and Computation
2616 - 'Core::DOM: CSS Object Model'
2622 machine_name: core_style_system
2625 description: Scalable Vector Graphics
2632 url: https://developer.mozilla.org/docs/Web/SVG
2642 machine_name: core_svg
2644 - name: 'Core: UA String'
2645 description: User Agent String
2647 - netwerk/protocol/http/**/*
2650 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2652 - 'Core::Networking: HTTP'
2658 machine_name: core_ua_string
2660 - name: 'Core: View System'
2661 description: The View Manager is responsible for handling "heavyweight" rendering
2662 (some clipping, compositing) and event handling tasks.
2670 - 'Core::Layout: View Rendering'
2676 machine_name: core_view_system
2678 - name: 'Core: Web Audio'
2679 description: Support for the W3C Web Audio API specification.
2681 - dom/media/webaudio/**/*
2686 url: https://wiki.mozilla.org/Web_Audio_API
2694 machine_name: core_web_audio
2696 - name: 'Core: Web Painting'
2697 description: painting, display lists, and layer construction
2699 - layout/painting/**/*
2700 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2703 url: :ref:`Layout & CSS`
2705 - 'Core::Layout: Web Painting'
2716 machine_name: core_web_painting
2718 - name: 'Core: Web Workers'
2731 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2733 - 'Core::DOM: Workers'
2739 machine_name: core_web_workers
2741 - name: 'Core: WebGPU (Graphics submodule)'
2742 description: WebGPU implementation
2747 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2749 - Core::Graphics::WebGPU
2755 machine_name: core_webgpu_graphics_submodule
2757 - name: 'Core: WebRTC'
2758 description: WebRTC is responsible for realtime audio and video communication,
2759 as well as related issues like low-level camera and microphone access
2762 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2767 url: https://wiki.mozilla.org/Media/webrtc
2770 - Core::WebRTC Networking
2777 machine_name: core_webrtc
2779 - name: 'Core: WebVR'
2780 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2781 including API, devices, graphics and integration
2787 - Vladimir Vukicevic
2790 url: https://mozvr.com/
2799 - name: 'Core: WebRTC Media'
2800 description: Submodule of WebRTC responsible for access to media input devices
2801 (microphones, cameras, screen capture), as well as realtime audiovisual
2802 codecs and packetization.
2805 - dom/media/webrtc/**/*
2806 - dom/media/systemservices/**/*
2812 url: https://wiki.mozilla.org/Media/webrtc
2814 - Core::WebRTC (Audio/Video)
2821 machine_name: core_webrtc_media
2823 - name: 'Core: WebRTC Signaling'
2824 description: Submodule of WebRTC responsible for implementation of PeerConnection
2825 API, WebRTC identity, and SDP/JSEP handling
2827 - media/webrtc/signaling/**/*
2832 url: https://wiki.mozilla.org/Media/webrtc
2834 - Core::WebRTC (Signaling)
2842 machine_name: core_webrtc_signaling
2843 machine_name: core_webvr
2845 - name: 'Core: Widget'
2846 description: Top level Widget
2851 - Vladimir Vukicevic
2858 - Core::Drag and Drop
2860 - 'Core::Printing: Setup'
2863 machine_name: core_widget
2865 - name: 'Core: Widget - Android'
2866 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2871 machine_name: core_widget_android
2873 - name: 'Core: Widget - GTK'
2874 description: GTK widget support
2881 url: http://www.mozilla.org/ports/gtk/
2883 - 'Core::Widget: Gtk'
2888 machine_name: core_widget_gtk
2890 - name: 'Core: Widget - Headless'
2891 description: Headless widget support
2893 - widget/headless/**/*
2902 machine_name: core_widget_headless
2904 - name: 'Core: Widget - macOS'
2905 description: ' macOS widget support'
2918 - 'Core::Widget: Cocoa'
2924 machine_name: core_widget_macos
2926 - name: 'Core: Widget - Windows'
2927 description: Windows widget support
2929 - widget/windows/**/*
2935 - Vladimir Vukicevic
2938 - Christian Biesinger
2940 - Josh 'timeless' Soref
2947 - 'Core::Widget: Win32'
2953 machine_name: core_widget_windows
2956 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2957 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2958 that are not covered by more specific projects.
2974 machine_name: core_xml
2976 - name: 'Core: XPApps'
2977 description: Cross-Platform Applications, mostly Navigator front end and application
2982 group: dev-apps-seamonkey
2986 - Josh 'timeless' Soref
2989 machine_name: core_xpapps
2991 - name: 'Core: XPCOM'
2992 description: The cross-platform object model and core data structures.
2998 - xpcom/components/**/*
3002 - xpcom/reflect/**/*
3006 - xpcom/threads/**/*
3007 - xpcom/windbgdlg/**/*
3028 machine_name: core_xpcom
3030 - name: 'Core: XPConnect'
3031 description: Deep Magic
3050 machine_name: core_xpconnect
3052 - name: 'Core: XPIDL'
3053 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3054 runtime type description files from .idl interface description files.
3056 - xpcom/idl-parser/**/*
3063 - Josh 'timeless' Soref
3064 group: dev-tech-xpcom
3070 machine_name: core_xpidl
3072 - name: 'Core: XSLT Processor'
3073 description: XSLT transformations processor
3081 group: dev-tech-xslt
3082 url: https://developer.mozilla.org/docs/Web/XSLT
3088 machine_name: core_xslt_processor
3090 - name: Desktop Firefox
3091 description: Standalone Web Browser.
3104 - Tim Guan-tin Chien
3134 - name: Add-ons Manager
3135 description: Extension management back-end.
3137 - toolkit/mozapps/extensions/**/*
3151 machine_name: addons_manager
3153 - name: Add-ons Manager UI
3154 description: about:addons.
3156 - toolkit/mozapps/extensions/content/**/*
3169 machine_name: addons_manager_ui
3171 - name: Application Update
3172 description: The application update services.
3174 - toolkit/mozapps/update/**/*
3181 machine_name: application_update
3183 - name: Bookmarks & History
3184 description: The bookmarks and history services (Places).
3186 - browser/components/places/**/*
3187 - toolkit/components/places/**/*
3202 machine_name: bookmarks_history
3204 - name: Desktop Theme
3205 description: The style rules used in the desktop UI.
3207 - browser/themes/**/*
3208 - toolkit/themes/**/*
3221 machine_name: desktop_theme
3224 description: The main browser UI except where covered by more specific submodules.
3226 - browser/base/content/**/*
3233 machine_name: desktop_ui
3235 - name: Download Manager
3236 description: The downloads UI and service.
3238 - browser/components/downloads/**/*
3239 - toolkit/mozapps/downloads/**/*
3240 - uriloader/exthandler/**/*
3250 machine_name: download_manager
3252 - name: Enterprise Policies
3253 description: System policies for controlling Firefox.
3255 - browser/components/enterprisepolicies/**/*
3260 machine_name: enterprise_policies
3262 - name: Experiments/Rollouts
3263 description: Desktop clients for our experiments and off-train deployments
3266 - toolkit/components/normandy/**/*
3267 - toolkit/components/nimbus/**/*
3273 - Firefox::Nimbus Desktop Client
3274 url: https://experimenter.info/
3280 machine_name: normandy
3282 - machine_name: firefox_view
3284 description: The Firefox View page and its modules.
3286 - browser/components/firefoxview/**/*
3294 - name: Form Autofill
3295 description: Form detection and autocomplete.
3297 - browser/extensions/formautofill/**/*
3298 - toolkit/components/satchel/**/*
3301 - Matthew Noorenberghe
3307 machine_name: form_autofill
3309 - name: In-product Messaging
3310 description: The system for delivering in-product messaging.
3312 - toolkit/components/messaging-system/**/*
3315 - Firefox::Messaging System
3322 machine_name: inproduct_messaging
3324 - name: Launcher Process
3325 description: Windows process for bootstrapping the browser process.
3327 - browser/app/winlauncher/**/*
3333 - Firefox::Launcher Process
3338 machine_name: launcher_process
3340 - machine_name: localization
3342 description: Tooling to enable translation and facilitate localization.
3350 - name: New Tab Page
3351 description: The new tab/home page.
3353 - browser/components/newtab/**/*
3356 - Firefox::New Tab Page
3363 machine_name: new_tab_page
3366 description: The onboarding experience including UI tours.
3368 - browser/components/uitour/**/*
3376 machine_name: onboarding
3378 - name: Password Manager
3379 description: Managing, saving and filling logins.
3381 - toolkit/components/passwordmgr/**/*
3382 - browser/components/aboutlogins/**/*
3385 - Matthew Noorenberghe
3389 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3391 - Toolkit::Password Manager
3392 - 'Toolkit::Password Manager: Site'
3394 - Firefox::about:logins
3402 machine_name: password_manager
3404 - machine_name: firefox_pip
3405 name: Picture-in-Picture
3406 description: A component that allows video elements to be pulled out into
3407 an always-on-top window.
3409 - toolkit/components/pictureinpicture
3410 - browser/extensions/pictureinpicture
3420 - name: Profile Migration
3421 description: Migrating data from other browsers.
3423 - browser/components/migration/**/*
3431 machine_name: profile_migration
3434 description: Code relating to Screenshots functionality
3436 - browser/extensions/screenshots/**/*
3437 - browser/components/screenshots/**/*
3445 - Firefox::Screenshots
3451 machine_name: screenshots
3453 - name: Search and Address Bar
3454 description: The search service, address bar and address bar autocomplete.
3456 - browser/components/search/**/*
3457 - browser/components/urlbar/**/*
3458 - toolkit/components/search/**/*
3461 - Firefox::Address Bar
3474 machine_name: search_and_address_bar
3476 - name: Security and Privacy UI
3477 description: The front-end to our security and privacy features, including
3478 Protections UI, Site Identity, Site Permissions and Certificate Errors
3480 - browser/components/protections/**/*
3481 - browser/components/controlcenter/**/*
3485 - Nihanth Subramanya
3490 - Firefox::Protections UI
3491 - Firefox::Site Identity
3492 - Firefox::Site Permissions
3497 machine_name: security_and_privacy_ui
3499 - name: Session Restore
3500 description: Restoring a user's session after starting Firefox.
3502 - browser/components/sessionstore/**/*
3503 - toolkit/components/sessionstore/**/*
3512 - Firefox::Session Restore
3520 machine_name: session_restore
3523 description: The front-end settings user interface.
3525 - browser/components/preferences/**/*
3526 - browser/themes/*/preferences
3527 - toolkit/mozapps/preferences
3538 machine_name: settings_ui
3540 - name: Tabbed Browser
3541 description: The UI component controlling browser tabs.
3543 - browser/base/content/tabbrowser*
3544 - browser/base/content/browser-allTabsMenu.js
3545 - browser/base/content/browser-ctrlTab.js
3546 - browser/base/content/browser-fullZoom.js
3547 - browser/modules/AsyncTabSwitcher.sys.mjs
3548 - browser/modules/NewTabPagePreloading.sys.mjs
3549 - browser/modules/OpenInTabsUtils.sys.mjs
3550 - browser/modules/TabsList.sys.mjs
3551 - browser/modules/TabUnloader.sys.mjs
3554 - Firefox::Tabbed Browser
3563 machine_name: tabbed_browser
3565 - name: Windows Installer
3566 description: The installer for Windows.
3568 - browser/installer/**/*
3569 - toolkit/mozapps/installer/**/*
3572 - Firefox::Installer
3578 machine_name: windows_installer
3579 machine_name: desktop_firefox
3581 - machine_name: devtools
3583 description: Mozilla Developer Tools
3609 - Steve Fink (heapsnapshot code)
3619 - Panagiotis Astithas
3637 url: http://firefox-dev.tools/
3640 - machine_name: javascript_usage
3641 name: JavaScript usage, tools, and style
3642 description: Aspects of JavaScript use such as language feature usage, tooling
3643 such as lint configurations, formatting and naming style.
3645 - .eslintrc-test-paths.js
3646 - '**/.eslintignore'
3648 - tools/lint/eslint/**/*
3665 - machine_name: mozharness
3667 description: Configuration-driven script harness.
3669 - testing/mozharness/**/*
3682 - 'Release Engineering :: Applications: MozharnessCore'
3683 - machine_name: python_usage
3684 name: Python usage, tools, and style
3685 description: Aspects of Python use such as tooling, formatting and naming style
3687 - tools/lint/python/**/*
3697 - 'Developer Infrastructure :: Lint and Formatting'
3699 - machine_name: remote_protocol
3700 name: Remote Protocol
3701 description: Low-level remote protocol exposing interfaces for inspecting state
3702 and controlling execution of web documents, instrumenting various subsystems
3703 in the browser, simulating user interaction for automation purposes, and for
3704 subscribing to updates from the aforementioned.
3710 url: https://firefox-source-docs.mozilla.org/remote/
3719 - machine_name: remote_protocol_agent
3721 description: Underlying transport layer and server to allow remoting of Firefox
3722 for automation and debugging.
3727 - remote/marionette/*
3728 - remote/webdriver-bidi/*
3733 - Maja Frydrychowicz
3737 - 'Remote Protocol :: Agent'
3745 - machine_name: remote_protocol_cdp
3747 description: The core implementation for CDP support. Please file domain specific
3748 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3755 - Maja Frydrychowicz
3759 - 'Remote Protocol :: CDP'
3767 - machine_name: remote_protocol_marionette
3769 description: Marionette is a remote protocol that lets out-of-process programs
3770 communicate with, instrument, and control Gecko-based browsers. Combined
3771 with geckodriver, this forms our WebDriver classic implementation.
3773 - remote/marionette/*
3778 - Maja Frydrychowicz
3781 - 'Remote Protocol :: Marionette'
3782 group: dev-webdriver
3790 - machine_name: remote_protocol_webdriver_bidi
3791 name: WebDriver BiDi
3792 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3794 - remote/webdriver-bidi/*
3797 - 'Remote Protocol :: WebDriver BiDi'
3798 group: dev-webdriver
3806 - machine_name: sync
3808 description: Firefox Sync client
3810 - services/sync/**/*
3823 url: https://wiki.mozilla.org/Services/Process/Code_Review
3827 - machine_name: testing_firefox_ui
3829 description: Firefox UI test framework.
3831 - testing/firefox-ui/**/*
3834 - Maja Frydrychowicz
3836 - 'Testing :: Firefox UI'
3844 - machine_name: testing_geckodriver
3846 description: Proxy for using W3C WebDriver-compatible clients to interact with
3847 Gecko-based browsers.
3849 - testing/geckodriver/**/*
3857 - 'Testing :: geckodriver'
3858 group: dev-webdriver
3860 - machine_name: testing_gtest
3862 description: GTest test harness.
3864 - testing/gtest/**/*
3871 - 'Testing :: GTest'
3873 - machine_name: testing_marionette_client_harness
3874 name: Marionette Client & Harness
3875 description: Python client and harness for the Marionette remote protocol implementation.
3877 - testing/marionette/**/*
3882 - Maja Frydrychowicz
3885 - 'Testing :: Marionette Client & Harness'
3893 - machine_name: testing_mochitest
3895 description: Mochitest test framework
3897 - testing/mochitest/**/*
3906 - 'Testing :: Mochitest'
3907 - machine_name: testing_mozbase
3909 description: Base modules used for implementing test components.
3923 - 'Testing :: Mozbase'
3924 - 'Testing :: Mozbase Rust'
3925 - machine_name: testing_performance_testing
3926 name: Performance Testing
3928 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3929 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3930 the owners/peers of the various components (linked below).
3932 - testing/raptor/**/*
3933 - testing/talos/**/*
3934 - python/mozperftest/**/*
3936 - tools/lint/perfdocs/**/*
3937 - testing/perfdocs/**/*
3938 - testing/performance/**/*
3939 - testing/condprofile/**/*
3940 - tools/browsertime/**/*
3941 - tools/tryselect/selectors/perf.py
3952 - 'Testing :: Raptor'
3953 - 'Testing :: Talos'
3955 - 'Testing :: Performance'
3956 - 'Testing :: mozperftest'
3957 - 'Testing :: Condprofile'
3958 url: :ref:`Performance Testing`
3959 - machine_name: testing_reftest
3960 name: Reftest (+ jsreftest + crashtest)
3961 description: Reftest test framework
3963 - layout/tools/reftest/**/*
3972 - 'Testing :: Reftest'
3973 - machine_name: testing_tryselect
3975 description: Frontend for selecting jobs on the try server.
3977 - tools/tryselect/**/*
3986 - 'Developer Infrastructure :: Try'
3987 - machine_name: testing_web_platform_tests_infrastructure
3988 name: web-platform-tests infrastructure
3989 description: Infrastructure for running the cross-browser web-platform-tests
3991 - testing/web-platform/**/*
3992 - testing/web-platform/tests/tools/**/*
3994 - testing/web-platform/tests/**/*
3995 - testing/web-platform/meta/**/*
3996 - testing/web-platform/mozilla/**/*
4002 - 'Testing :: web-platform-tests'
4003 - machine_name: testing_xpcshell
4005 description: XPCShell test harness.
4007 - testing/xpcshell/**/*
4015 - Testing::XPCShell Harness
4017 description: Components shared between desktop and mobile browsers.
4034 - name: Application Startup
4035 description: The profile system and startup process before the front-end launches.
4037 - toolkit/profile/**/*
4038 - toolkit/components/remote/**/*
4045 machine_name: application_startup
4049 The core infrastructure in the Firefox client to send back telemetry
4050 data. Includes the common mechanisms to record, view and submit data: Legacy
4051 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4052 does ''not'' include responsibility for every piece of submitted Telemetry
4053 data. Each team/module is responsible for their own measurements (histograms,
4054 scalars, other ping submissions, etc.).
4056 - toolkit/components/glean/**/*
4057 - toolkit/components/telemetry/**/*
4058 - toolkit/content/aboutTelemetry.*
4063 url: :ref:`Telemetry`
4071 machine_name: telemetry
4074 description: The base widgets used throughout the UI.
4076 - toolkit/content/widgets/**/*
4083 machine_name: ui_widgets
4085 - name: Webextensions
4086 description: Webextension APIs and integration.
4088 - browser/components/extensions/**/*
4089 - toolkit/components/extensions/**/*
4101 machine_name: webextensions
4102 machine_name: toolkit
4103 - machine_name: url_classifier
4104 name: URL Classifier
4105 description: Database and list-based classification of URL resources, such as
4106 Tracking Protection and SafeBrowsing.
4108 - toolkit/components/url-classifier/**/*
4109 - netwerk/url-classifier/**/*
4118 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4119 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4127 config: afee30625bff7ffdbd2e82b55e7735c32f57ebfd
4128 export: a9d656f67b43a0beb5488c9b28abca55f8109106