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-29T09:01:27.684547'
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
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
581 name: Kimberly Sereduck
582 nick: kimberlythegeek
609 name: Dzmitry Malyshau
621 name: Lougenia Bailey
637 name: Marco Castelluccio
653 name: Masayuki Nakano
662 nick: MatsPalmgren_bugz
669 name: Andrew McCreight
701 name: Morgan Reschenberg
741 name: Nicolas Chevobbe
753 name: Niklas Baumgardner
773 name: Alexandre Poirot
781 name: Andrew Overholt
801 name: Andreas Pehrson
809 name: Peter Van der Beken
849 name: Alexandra Borovova
877 name: Shravan Narayan
893 name: Greg Mierzwinski
909 name: Martin Stránský
916 name: Sylvestre Ledru
932 name: Teodor Tanasoaia
963 name: Toshihito Kikuchi
1011 name: Yulia Startsev
1022 name: Zibi Braniecki
1030 name: Tomislav Jovanovic
1033 - name: firefox-toplevel
1034 description: The top level directory for the Firefox/Gecko tree. Owned by the
1049 machine_name: _firefoxtoplevel
1051 - machine_name: code_coverage
1053 description: Tools for code coverage instrumentation, and coverage data parsing
1056 - tools/code-coverage/**/*
1057 - python/mozbuild/mozbuild/codecoverage/**/*
1058 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1067 - 'Testing :: Code Coverage'
1068 - name: 'Core: Accessibility'
1069 description: Support for platform accessibility APIs. Accessibility APIs are used
1070 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1071 software, which need information about document content and UI controls, as
1072 well as important events like changes of focus.
1086 group: dev-accessibility
1087 url: https://developer.mozilla.org/docs/Web/Accessibility
1089 - Core::Disability Access APIs
1096 machine_name: core_accessibility
1098 - name: 'Core: Animation'
1099 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1100 API, and off-main thread animations.'
1102 - dom/animation/**/*
1103 # TODO "and animation-related and interpolation-related code
1104 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1108 - Core::DOM::Animation
1109 - Core::CSS Transitions and Animations
1117 machine_name: core_animation
1119 - name: 'Core: Anti-Tracking'
1120 description: Tracking detection and content-blocking.
1122 - toolkit/components/antitracking/**/*
1123 # several files under browser/ and netwerk/url-classifier/ **TODO**
1131 - 'Core::Privacy: Anti-Tracking'
1139 machine_name: core_antitracking
1141 - name: 'Core: APZ (Graphics submodule)'
1142 description: Asynchronous panning and zooming
1144 - gfx/layers/apz/**/*
1151 url: https://wiki.mozilla.org/Platform/GFX/APZ
1153 - Core::Panning and Zooming
1161 machine_name: core_apz_graphics_submodule
1163 - name: 'Core: Browser WebAPI'
1164 description: Web API for rendering apps, browser windows and widgets.
1166 - dom/browser-element/**/*
1177 machine_name: core_browser_webapi
1179 - name: 'Core: Build and Release Tools'
1180 description: Tools related to build and release automation and configuration of
1183 - tools/update-packaging/**/*
1184 - tools/update-verify/**/*
1188 group: release-engineering
1189 url: https://wiki.mozilla.org/ReleaseEngineering
1191 - Release Engineering::*
1197 machine_name: core_build_and_release_tools
1199 - name: 'Core: Build Config'
1200 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1205 - python/mozbuild/**/*
1206 - browser/config/mozconfigs/**/*
1224 url: :ref:`Build System`
1226 - Core::Build Config
1233 - name: 'Core: Build Config - Fennec'
1234 description: Submodule of the build config covering Fennec's build system
1239 - Core::Build Config
1243 machine_name: core_build_config_fennec
1245 - name: 'Core: Build Config - Taskgraph'
1246 description: Support for task-graph generation in decision, action, and cron
1247 tasks, including configuration of all tasks including those for CI, nightlies,
1248 and releases; as well as Docker and VM images used to execute those tasks.
1253 - Firefox Build System::Task Configuration
1269 machine_name: core_build_config_taskgraph
1270 machine_name: core_build_config
1272 - name: 'Core: Code Analysis and Debugging Tools'
1273 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1274 and other characteristics of it.
1277 - tools/leak-gauge/**/*
1278 - tools/performance/**/*
1281 group: dev-performance
1285 machine_name: core_code_analysis_and_debugging_tools
1287 - name: 'Core: Content Security'
1288 description: 'Native content-based security features enforced in the ContentSecurityManager,
1289 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1290 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1291 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1292 and top-level data: URI blocking.'
1304 - 'Core::DOM: Security'
1312 machine_name: core_content_security
1314 - name: 'Core: Cookies'
1317 - netwerk/cookie/**/*
1326 - Christian Biesinger
1332 - 'Core::Networking: Cookies'
1341 machine_name: core_cookies
1343 - name: 'Core: Crash reporting'
1344 description: Infrastructure and tools used to generate, submit and process crash
1345 reports. This includes the in-tree google-breakpad fork, the crash report generation
1346 machinery as well as the host tools used to dump symbols, analyse minidumps
1347 and generate stack traces.
1349 - toolkit/crashreporter/**/*
1350 - toolkit/components/crashes/**/*
1351 - tools/crashreporter/**/*
1352 - ipc/glue/CrashReporter*
1353 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1358 url: :ref:`Crash Reporter`
1360 - Toolkit::Crash Reporting
1366 machine_name: core_crash_reporting
1368 - machine_name: core_credentials
1369 name: 'Core: Credentials'
1370 description: API Surface for FedCM and WebAuthn
1372 - toolkit/components/credentialmanagement/**/*
1373 - browser/components/credentialmanager/**/*
1374 - dom/credentialmanagement/**/*
1386 - 'Core::DOM: Credential Management'
1387 - 'Core::DOM: Web Authentication'
1389 - name: 'Core: C++/Rust usage, tools, and style'
1390 description: Aspects of C++ use such as language feature usage, standard library
1391 versions/usage, compiler/toolchain versions, formatting and naming style, and
1392 aspects of Rust use as needs arise
1394 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1395 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1396 # - docs/code-quality/**/*
1397 # - docs/testing-rust-code/**/*
1398 # - docs/writing-rust-code/**/*
1413 machine_name: core_crust_usage_tools_and_style
1415 - name: 'Core: Cycle Collector'
1416 description: Code to break and collect objects within reference cycles
1418 - xpcom/base/nsCycleCollect*
1419 # TODO "and some support headers"
1420 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1426 - Core::Cycle Collector
1432 machine_name: core_cycle_collector
1434 - name: 'Core: DLL Services'
1435 description: Windows dynamic linker instrumentation and blocking
1437 - toolkit/xre/dllservices/**/*
1443 - Core::DLL Services
1448 machine_name: core_dll_services
1450 - name: 'Core: docshell'
1454 - uriloader/base/**/*
1460 - Christian Biesinger
1466 - Core::Document Navigation
1473 machine_name: core_docshell
1475 - name: 'Core: Document Object Model'
1479 exclude_module_paths: true
1496 url: http://developer.mozilla.org/en/docs/DOM
1499 - 'Core::DOM: Core & HTML'
1500 review_group: dom-core
1516 machine_name: core_document_object_model
1518 - name: 'Core: DOM File'
1519 description: DOM Blob, File and FileSystem APIs
1522 - dom/filesystem/**/*
1525 url: http://developer.mozilla.org/en/docs/DOM
1532 machine_name: core_dom_file
1534 - machine_name: core_dom_streams
1535 name: 'Core: DOM Streams'
1536 description: Streams Specification implementation
1547 url: http://developer.mozilla.org/en/docs/DOM
1550 - 'Core::DOM: Streams'
1553 - name: 'Core: Editor'
1568 machine_name: core_editor
1570 - name: 'Core: Event Handling'
1571 description: DOM Events and Event Handling
1574 # TODO "and event handling related code elsewhere"
1579 url: http://developer.mozilla.org/en/docs/DOM
1581 - 'Core::DOM: Events'
1582 - 'Core::DOM: UI Events & Focus Handling'
1588 machine_name: core_event_handling
1590 - machine_name: core_firefox_source_documentation
1591 name: 'Core: Firefox Source Documentation'
1592 description: The infrastructure platform used to generate Firefox's source documentation,
1593 excluding editorial control over the content.
1596 - tools/moztreedocs/
1603 - Developer Infrastructure::Source Documentation
1604 url: https://firefox-source-docs.mozilla.org/
1605 - name: 'Core: Gecko Profiler'
1606 description: Gecko's built-in profiler
1608 - tools/profiler/**/*
1609 - mozglue/baseprofiler/**/*
1614 - Shu-yu Guo (JS integration)
1615 - Thinker Lee (TaskTracer)
1616 - Cervantes Yu (TaskTracer)
1617 - Nicholas Nethercote
1623 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1625 - Core::Gecko Profiler
1632 machine_name: core_gecko_profiler
1634 - name: 'Core: GeckoView'
1635 description: Framework for embedding Gecko into Android applications
1637 - mobile/android/**/*
1638 - widget/android/**/*
1650 url: https://wiki.mozilla.org/Mobile/GeckoView
1652 - GeckoView::General
1660 machine_name: core_geckoview
1662 - name: 'Core: Global Key Bindings'
1663 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1664 and the like, as those are part of i18n.
1667 # TODO "and platform specific directories under it"
1669 group: dev-accessibility
1670 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1672 - 'Core::Keyboard: Navigation'
1677 machine_name: core_global_key_bindings
1679 - name: 'Core: Graphics'
1680 description: Mozilla graphics API
1688 - Benoit Girard(Compositor, Performance)
1690 - George Wright(Canvas2D)
1694 - John Daggett(text/fonts)
1695 - Benoit Jacob(gfx/gl)
1697 - Vladimir Vukicevic
1698 - James Willcox(Android)
1701 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1702 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1705 - 'Core::Graphics: Layers'
1706 - 'Core::Graphics: Text'
1707 - 'Core::Graphics: WebRender'
1708 - 'Core::GFX: Color Management'
1709 - 'Core::Canvas: 2D'
1710 - 'Core::Canvas: WebGL'
1722 machine_name: core_graphics
1725 description: Hardware Abstraction Layer
1731 - Core::Hardware Abstraction Layer (HAL)
1735 machine_name: core_hal
1737 - name: 'Core: HTML Parser'
1738 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1739 to the HTML specification, and is mostly translated automatically from Java
1745 url: http://about.validator.nu/
1747 - 'Core::HTML: Parser'
1752 machine_name: core_html_parser
1754 - name: 'Core: I18N Library'
1763 url: :ref:`Internationalization`
1765 - Core::Internationalization
1773 machine_name: core_i18n_library
1775 - name: 'Core: ImageLib'
1778 - media/libjpeg/**/*
1795 machine_name: core_imagelib
1797 - name: 'Core: IndexedDB'
1800 - dom/indexedDB/**/*
1808 url: https://developer.mozilla.org/en/IndexedDB
1810 - 'Core::DOM: IndexedDB'
1811 review_group: dom-storage-reviewers
1818 machine_name: core_indexeddb
1821 description: Native message-passing between threads and processes
1842 review_group: ipc-reviewers
1849 machine_name: core_ipc
1851 - name: 'Core: JavaScript'
1852 description: JavaScript engine (SpiderMonkey)
1876 - Nicholas Nethercote
1881 url: https://spidermonkey.dev/
1883 - Core::JavaScript Engine
1884 - 'Core::JavaScript: GC'
1885 - 'Core::JavaScript: Internationalization API'
1886 - 'Core::JavaScript: Standard Library'
1887 - 'Core::JavaScript: WebAssembly'
1909 machine_name: core_javascript
1911 - name: 'Core: JavaScript JIT'
1912 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1920 url: https://spidermonkey.dev/
1922 - 'Core::JavaScript Engine: JIT'
1938 machine_name: core_javascript_jit
1940 - name: 'Core: js-tests'
1941 description: JavaScript test suite
1945 group: dev-tech-js-engine
1946 url: http://www.mozilla.org/js/tests/library.html
1950 machine_name: core_jstests
1952 - name: 'Core: Layout Engine'
1953 description: rendering tree construction, layout (reflow), etc.
1959 - layout/generic/**/*
1960 - layout/printing/**/*
1961 - layout/tables/**/*
1970 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1973 - 'Core::Layout: Block and Inline'
1974 - 'Core::Layout: Columns'
1975 - 'Core::Layout: Flexbox'
1976 - 'Core::Layout: Floats'
1977 - 'Core::Layout: Form Controls'
1978 - 'Core::Layout: Generated Content, Lists, and Counters'
1979 - 'Core::Layout: Grid'
1980 - 'Core::Layout: Images, Video, and HTML Frames'
1981 - 'Core::Layout: Positioned'
1982 - 'Core::Layout: Ruby'
1983 - 'Core::Layout: Scrolling and Overflow'
1984 - 'Core::Layout: Tables'
1985 - 'Core::Layout: Text and Fonts'
1986 - Core::Print Preview
1987 - 'Core::Printing: Output'
1999 machine_name: core_layout_engine
2001 - name: 'Core: Legacy HTML Parser'
2004 - parser/htmlparser/**/*
2008 url: http://www.mozilla.org/newlayout/doc/parser.html
2010 - 'Core::HTML: Parser'
2017 machine_name: core_legacy_html_parser
2019 - name: 'Core: libjar'
2020 description: The JAR handling code (protocol handler, stream implementation, and
2021 zipreader/zipwriter).
2023 - modules/libjar/**/*
2033 - 'Core::Networking: JAR'
2039 machine_name: core_libjar
2041 - name: 'Core: MathML'
2042 description: MathML is a low-level specification for describing mathematics which
2043 provides a foundation for the inclusion of mathematical expressions in Web pages.
2045 - layout/mathml/**/*
2047 group: dev-tech-mathml
2048 url: https://developer.mozilla.org/docs/Web/MathML
2055 machine_name: core_mathml
2057 - name: 'Core: Media Playback'
2058 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2059 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2062 - media/gmp-clearkey/**/*
2063 - media/libcubeb/**/*
2064 - media/libnestegg/**/*
2066 - media/libopus/**/*
2067 - media/libtheora/**/*
2068 - media/libtremor/**/*
2069 - media/libvorbis/**/*
2071 - dom/media/platforms/omx/**/*
2072 - dom/media/gmp/rlz/**/*
2087 machine_name: core_media_playback
2089 - name: 'Core: Media Transport'
2090 description: Pluggable transport for real-time media
2092 - dom/media/webrtc/transport/**/*
2096 - Core::WebRTC::Networking
2103 machine_name: core_media_transport
2105 - name: 'Core: Memory Allocator'
2106 description: Most things related to memory allocation in Gecko, including jemalloc,
2107 replace-malloc, DMD (dark matter detector), logalloc, etc.
2113 - Nicholas Nethercote
2121 machine_name: core_memory_allocator
2123 - name: 'Core: mfbt'
2124 description: mfbt is a collection of headers, macros, data structures, methods,
2125 and other functionality available for use and reuse throughout all Mozilla code
2126 (including SpiderMonkey and Gecko more broadly).
2138 machine_name: core_mfbt
2140 - name: 'Core: Moz2D (Graphics submodule)'
2141 description: Platform independent 2D graphics API
2146 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2154 machine_name: core_moz2d_graphics_submodule
2156 - name: 'Core: Mozglue'
2157 description: Glue library containing various low-level functionality, including
2158 a dynamic linker for Android, a DLL block list for Windows, etc.
2166 - Kartikaya Gupta (mozglue/android)
2171 machine_name: core_mozglue
2173 - name: 'Core: MSCOM'
2174 description: Integration with Microsoft Distributed COM
2185 - 'Core::IPC: MSCOM'
2191 machine_name: core_mscom
2193 - name: 'Core: Necko'
2194 description: The Mozilla Networking Library
2198 - netwerk/build/**/*
2199 - netwerk/cache2/**/*
2201 - netwerk/locales/**/*
2203 - netwerk/protocol/**/*
2204 - netwerk/socket/**/*
2205 - netwerk/streamconv/**/*
2206 - netwerk/system/**/*
2211 - dom/websocket/**/*
2212 - uriloader/prefetch/**/*
2213 - uriloader/preload/**/*
2216 - Dragana Damjanovic
2218 - Christian Biesinger
2229 group: dev-tech-network
2230 url: :ref:`Networking`
2233 - 'Core::Networking: Cache'
2234 - 'Core::Networking: Cookies'
2235 - 'Core::Networking: FTP'
2236 - 'Core::Networking: File'
2237 - 'Core::Networking: HTTP'
2238 - 'Core::Networking: JAR'
2239 - 'Core::Networking: Websockets'
2240 - 'Core::DOM: Networking'
2246 machine_name: core_necko
2248 - name: 'Core: NodeJS usage, tools, and style'
2249 description: Advises on the use of NodeJS and npm packages at build and runtime.
2250 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2251 teams to maintain automated license and security audits of npm packages. Works
2252 with the security team and relevant developers to respond to vulnerabilities
2253 in NodeJS and vendored npm packages.
2258 # TODO: and others as appropriate
2262 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2271 machine_name: core_nodejs_usage_tools_and_style
2273 - name: 'Core: NSPR'
2274 description: Netscape Portable Runtime
2280 group: dev-tech-nspr
2288 machine_name: core_nspr
2291 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2294 - toolkit/components/pdfjs/**/*
2302 url: https://github.com/mozilla/pdf.js
2309 machine_name: core_pdf
2311 - name: 'Core: Permissions'
2314 - extensions/permissions/**/*
2323 - Christian Biesinger
2328 - 'Core :: Permission Manager'
2335 machine_name: core_permissions
2337 - name: 'Core: Plugins'
2338 description: ' NPAPI Plugin support.'
2350 url: https://wiki.mozilla.org/Plugins
2355 machine_name: core_plugins
2357 - name: 'Core: Preferences'
2358 description: Preference library
2360 - modules/libpref/**/*
2363 - Nicholas Nethercote
2369 - 'Core::Preferences: Backend'
2375 machine_name: core_preferences
2377 - name: 'Core: Private Browsing'
2378 description: Implementation of the Private Browsing mode, and the integration
2379 of other modules with Private Browsing APIs.
2382 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2383 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2391 url: https://wiki.mozilla.org/Private_Browsing
2393 - Firefox::Private Browsing
2398 machine_name: core_private_browsing
2400 - name: 'Core: Privilege Manager'
2401 description: Caps is the capabilities-based security system.
2410 url: http://www.mozilla.org/projects/security/components/index.html
2412 - 'Core::Security: CAPS'
2418 machine_name: core_privilege_manager
2420 - name: 'Core: Push Notifications'
2421 description: Push is a way for application developers to send messages to their
2432 - 'Core::DOM: Notifications'
2436 machine_name: core_push_notifications
2438 - name: 'Core: Sandboxing (Linux)'
2439 description: Sandboxing for the Linux platform
2441 - security/sandbox/linux/**/*
2444 url: https://wiki.mozilla.org/Security/Sandbox
2446 - 'Core::Security: Process Sandboxing'
2451 machine_name: core_sandboxing_linux
2453 - name: 'Core: Sandboxing (OSX)'
2454 description: Sandboxing for the OSX platform
2456 - security/sandbox/mac/**/*
2459 url: https://wiki.mozilla.org/Security/Sandbox
2461 - 'Core::Security: Process Sandboxing'
2465 machine_name: core_sandboxing_osx
2467 - name: 'Core: Sandboxing (Windows)'
2468 description: Sandboxing for the Windows platform
2470 - security/sandbox/win/**/*
2480 url: https://wiki.mozilla.org/Security/Sandbox
2482 - 'Core::Security: Process Sandboxing'
2487 machine_name: core_sandboxing_windows
2489 - name: 'Core: security'
2490 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2503 group: dev-tech-crypto
2504 url: :ref:`Network Security Services (NSS)`
2509 - 'Core::Security: S/MIME'
2522 machine_name: core_security
2524 - name: 'Core: Security - Mozilla PSM Glue'
2525 description: Personal Security Manager
2527 - security/manager/**/*
2530 - Kai Engert (2001-2012)
2531 group: dev-tech-crypto
2533 - 'Core::Security: PSM'
2542 machine_name: core_security_mozilla_psm_glue
2544 - machine_name: core_security_rlbox
2545 name: Security - RLBox
2546 description: Sandboxing using WASM/RLBox libraries.
2550 - third_party/rlbox_wasm2c_sandbox
2560 - 'Core::Security: RLBox'
2561 - name: 'Core: Static analysis & rewriting for C++'
2562 description: Tools for checking C++ code looking for problems at compile time,
2563 plus tools for automated rewriting of C++ code.
2565 - build/clang-plugin/**/*
2566 - tools/rewriting/**/*
2567 # TODO among other out of tree tools
2570 - Birunthan Mohanathas
2574 - Core::Rewriting & Analysis
2581 machine_name: core_static_analysis_rewriting_for_c
2583 - name: 'Core: storage'
2584 description: Storage APIs with a SQLite backend
2586 - third_party/sqlite3/**/*
2590 url: http://developer.mozilla.org/en/docs/Storage
2592 - Toolkit::Storage, Core::SQL
2600 machine_name: core_storage
2602 - name: 'Core: String'
2607 group: dev-tech-xpcom
2608 url: :ref:`String Guide`
2615 machine_name: core_string
2617 - name: 'Core: Style System'
2618 description: CSS style sheet handling; style data computation
2629 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2631 - Core::CSS Parsing and Computation
2632 - 'Core::DOM: CSS Object Model'
2638 machine_name: core_style_system
2641 description: Scalable Vector Graphics
2648 url: https://developer.mozilla.org/docs/Web/SVG
2658 machine_name: core_svg
2660 - name: 'Core: UA String'
2661 description: User Agent String
2663 - netwerk/protocol/http/**/*
2666 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2668 - 'Core::Networking: HTTP'
2674 machine_name: core_ua_string
2676 - name: 'Core: View System'
2677 description: The View Manager is responsible for handling "heavyweight" rendering
2678 (some clipping, compositing) and event handling tasks.
2686 - 'Core::Layout: View Rendering'
2692 machine_name: core_view_system
2694 - name: 'Core: Web Audio'
2695 description: Support for the W3C Web Audio API specification.
2697 - dom/media/webaudio/**/*
2702 url: https://wiki.mozilla.org/Web_Audio_API
2710 machine_name: core_web_audio
2712 - name: 'Core: Web Painting'
2713 description: painting, display lists, and layer construction
2715 - layout/painting/**/*
2716 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2719 url: :ref:`Layout & CSS`
2721 - 'Core::Layout: Web Painting'
2732 machine_name: core_web_painting
2734 - name: 'Core: Web Workers'
2747 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2749 - 'Core::DOM: Workers'
2750 review_group: dom-worker-reviewers
2756 machine_name: core_web_workers
2758 - name: 'Core: WebGPU (Graphics submodule)'
2759 description: WebGPU implementation
2762 - gfx/wgpu_bindings/**/*
2763 - third_party/rust/naga/**/*
2764 - third_party/rust/wgpu-core/**/*
2765 - third_party/rust/wgpu-hal/**/*
2766 - third_party/rust/wgpu-types/**/*
2769 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2771 - Core::Graphics::WebGPU
2772 review_group: webgpu-reviewers
2784 machine_name: core_webgpu_graphics_submodule
2786 - name: 'Core: WebRTC'
2787 description: WebRTC is responsible for realtime audio and video communication,
2788 as well as related issues like low-level camera and microphone access
2791 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2796 url: https://wiki.mozilla.org/Media/webrtc
2799 - Core::WebRTC Networking
2806 machine_name: core_webrtc
2808 - name: 'Core: WebVR'
2809 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2810 including API, devices, graphics and integration
2816 - Vladimir Vukicevic
2819 url: https://mozvr.com/
2828 - name: 'Core: WebRTC Media'
2829 description: Submodule of WebRTC responsible for access to media input devices
2830 (microphones, cameras, screen capture), as well as realtime audiovisual
2831 codecs and packetization.
2834 - dom/media/webrtc/**/*
2835 - dom/media/systemservices/**/*
2841 url: https://wiki.mozilla.org/Media/webrtc
2843 - Core::WebRTC (Audio/Video)
2850 machine_name: core_webrtc_media
2852 - name: 'Core: WebRTC Signaling'
2853 description: Submodule of WebRTC responsible for implementation of PeerConnection
2854 API, WebRTC identity, and SDP/JSEP handling
2856 - media/webrtc/signaling/**/*
2861 url: https://wiki.mozilla.org/Media/webrtc
2863 - Core::WebRTC (Signaling)
2871 machine_name: core_webrtc_signaling
2872 machine_name: core_webvr
2874 - name: 'Core: Widget'
2875 description: Top level Widget
2880 - Vladimir Vukicevic
2887 - Core::Drag and Drop
2889 - 'Core::Printing: Setup'
2892 machine_name: core_widget
2894 - name: 'Core: Widget - Android'
2895 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2900 machine_name: core_widget_android
2902 - name: 'Core: Widget - GTK'
2903 description: GTK widget support
2910 url: http://www.mozilla.org/ports/gtk/
2912 - 'Core::Widget: Gtk'
2917 machine_name: core_widget_gtk
2919 - name: 'Core: Widget - Headless'
2920 description: Headless widget support
2922 - widget/headless/**/*
2931 machine_name: core_widget_headless
2933 - name: 'Core: Widget - macOS'
2934 description: ' macOS widget support'
2947 - 'Core::Widget: Cocoa'
2953 machine_name: core_widget_macos
2955 - name: 'Core: Widget - Windows'
2956 description: Windows widget support
2958 - widget/windows/**/*
2964 - Vladimir Vukicevic
2967 - Christian Biesinger
2969 - Josh 'timeless' Soref
2976 - 'Core::Widget: Win32'
2982 machine_name: core_widget_windows
2985 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2986 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2987 that are not covered by more specific projects.
3003 machine_name: core_xml
3005 - name: 'Core: XPApps'
3006 description: Cross-Platform Applications, mostly Navigator front end and application
3011 group: dev-apps-seamonkey
3015 - Josh 'timeless' Soref
3018 machine_name: core_xpapps
3020 - name: 'Core: XPCOM'
3021 description: The cross-platform object model and core data structures.
3027 - xpcom/components/**/*
3031 - xpcom/reflect/**/*
3035 - xpcom/threads/**/*
3036 - xpcom/windbgdlg/**/*
3048 review_group: xpcom-reviewers
3058 machine_name: core_xpcom
3060 - name: 'Core: XPConnect'
3061 description: Deep Magic
3080 machine_name: core_xpconnect
3082 - name: 'Core: XPIDL'
3083 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3084 runtime type description files from .idl interface description files.
3086 - xpcom/idl-parser/**/*
3093 - Josh 'timeless' Soref
3094 group: dev-tech-xpcom
3100 machine_name: core_xpidl
3102 - name: 'Core: XSLT Processor'
3103 description: XSLT transformations processor
3111 group: dev-tech-xslt
3112 url: https://developer.mozilla.org/docs/Web/XSLT
3118 machine_name: core_xslt_processor
3120 - name: Desktop Firefox
3121 description: Standalone Web Browser.
3134 - Tim Guan-tin Chien
3164 - name: Add-ons Manager
3165 description: Extension management back-end.
3167 - toolkit/mozapps/extensions/**/*
3181 machine_name: addons_manager
3183 - name: Add-ons Manager UI
3184 description: about:addons.
3186 - toolkit/mozapps/extensions/content/**/*
3199 machine_name: addons_manager_ui
3201 - name: Application Update
3202 description: The application update services.
3204 - toolkit/mozapps/update/**/*
3211 machine_name: application_update
3213 - name: Bookmarks & History
3214 description: The bookmarks and history services (Places).
3216 - browser/components/places/**/*
3217 - toolkit/components/places/**/*
3226 - Firefox::Bookmarks & History
3228 review_group: places-reviewers
3236 machine_name: bookmarks_history
3238 - name: Desktop Theme
3239 description: The style rules used in the desktop UI.
3241 - browser/themes/**/*
3242 - toolkit/themes/**/*
3256 machine_name: desktop_theme
3259 description: The main browser UI except where covered by more specific submodules.
3261 - browser/base/content/**/*
3268 machine_name: desktop_ui
3270 - name: Download Manager
3271 description: The downloads UI and service.
3273 - browser/components/downloads/**/*
3274 - toolkit/mozapps/downloads/**/*
3275 - uriloader/exthandler/**/*
3285 machine_name: download_manager
3287 - name: Enterprise Policies
3288 description: System policies for controlling Firefox.
3290 - browser/components/enterprisepolicies/**/*
3295 machine_name: enterprise_policies
3297 - name: Experiments/Rollouts
3298 description: Desktop clients for our experiments and off-train deployments
3301 - toolkit/components/normandy/**/*
3302 - toolkit/components/nimbus/**/*
3308 - Firefox::Nimbus Desktop Client
3309 url: https://experimenter.info/
3315 machine_name: normandy
3317 - machine_name: firefox_view
3319 description: The Firefox View page and its modules.
3321 - browser/components/firefoxview/**/*
3329 - name: Form Autofill
3330 description: Form detection and autocomplete.
3332 - browser/extensions/formautofill/**/*
3333 - toolkit/components/satchel/**/*
3336 - Matthew Noorenberghe
3342 machine_name: form_autofill
3344 - name: In-product Messaging
3345 description: The system for delivering in-product messaging.
3347 - toolkit/components/messaging-system/**/*
3350 - Firefox::Messaging System
3357 machine_name: inproduct_messaging
3359 - name: Launcher Process
3360 description: Windows process for bootstrapping the browser process.
3362 - browser/app/winlauncher/**/*
3368 - Firefox::Launcher Process
3373 machine_name: launcher_process
3375 - machine_name: localization
3377 description: Tooling to enable translation and facilitate localization.
3385 - name: New Tab Page
3386 description: The new tab/home page.
3388 - browser/components/newtab/**/*
3391 - Firefox::New Tab Page
3398 machine_name: new_tab_page
3401 description: The onboarding experience including UI tours.
3403 - browser/components/uitour/**/*
3411 machine_name: onboarding
3413 - name: Password Manager
3414 description: Managing, saving and filling logins.
3416 - toolkit/components/passwordmgr/**/*
3417 - browser/components/aboutlogins/**/*
3420 - Matthew Noorenberghe
3424 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3426 - Toolkit::Password Manager
3427 - 'Toolkit::Password Manager: Site'
3429 - Firefox::about:logins
3437 machine_name: password_manager
3439 - machine_name: firefox_pip
3440 name: Picture-in-Picture
3441 description: A component that allows video elements to be pulled out into
3442 an always-on-top window.
3444 - toolkit/components/pictureinpicture
3445 - browser/extensions/pictureinpicture
3455 - name: Profile Migration
3456 description: Migrating data from other browsers.
3458 - browser/components/migration/**/*
3466 machine_name: profile_migration
3469 description: Code relating to Screenshots functionality
3471 - browser/extensions/screenshots/**/*
3472 - browser/components/screenshots/**/*
3480 - Firefox::Screenshots
3486 machine_name: screenshots
3488 - name: Search and Address Bar
3489 description: The search service, address bar and address bar autocomplete.
3491 - browser/components/search/**/*
3492 - browser/components/urlbar/**/*
3493 - toolkit/components/search/**/*
3496 - Firefox::Address Bar
3509 machine_name: search_and_address_bar
3511 - name: Security and Privacy UI
3512 description: The front-end to our security and privacy features, including
3513 Protections UI, Site Identity, Site Permissions and Certificate Errors
3515 - browser/components/protections/**/*
3516 - browser/components/controlcenter/**/*
3520 - Nihanth Subramanya
3525 - Firefox::Protections UI
3526 - Firefox::Site Identity
3527 - Firefox::Site Permissions
3532 machine_name: security_and_privacy_ui
3534 - name: Session Restore
3535 description: Restoring a user's session after starting Firefox.
3537 - browser/components/sessionstore/**/*
3538 - toolkit/components/sessionstore/**/*
3547 - Firefox::Session Restore
3555 machine_name: session_restore
3558 description: The front-end settings user interface.
3560 - browser/components/preferences/**/*
3561 - browser/themes/*/preferences
3562 - toolkit/mozapps/preferences
3573 machine_name: settings_ui
3575 - name: Tabbed Browser
3576 description: The UI component controlling browser tabs.
3578 - browser/base/content/tabbrowser*
3579 - browser/base/content/browser-allTabsMenu.js
3580 - browser/base/content/browser-ctrlTab.js
3581 - browser/base/content/browser-fullZoom.js
3582 - browser/modules/AsyncTabSwitcher.sys.mjs
3583 - browser/modules/NewTabPagePreloading.sys.mjs
3584 - browser/modules/OpenInTabsUtils.sys.mjs
3585 - browser/modules/TabsList.sys.mjs
3586 - browser/modules/TabUnloader.sys.mjs
3589 - Firefox::Tabbed Browser
3598 machine_name: tabbed_browser
3600 - name: Windows Installer
3601 description: The installer for Windows.
3603 - browser/installer/**/*
3604 - toolkit/mozapps/installer/**/*
3607 - Firefox::Installer
3613 machine_name: windows_installer
3614 machine_name: desktop_firefox
3616 - machine_name: devtools
3618 description: Mozilla Developer Tools
3644 - Steve Fink (heapsnapshot code)
3654 - Panagiotis Astithas
3672 url: http://firefox-dev.tools/
3675 - machine_name: javascript_usage
3676 name: JavaScript usage, tools, and style
3677 description: Aspects of JavaScript use such as language feature usage, tooling
3678 such as lint configurations, formatting and naming style.
3680 - .eslintrc-test-paths.js
3681 - '**/.eslintignore'
3683 - tools/lint/eslint/**/*
3700 - machine_name: mozharness
3702 description: Configuration-driven script harness.
3704 - testing/mozharness/**/*
3717 - 'Release Engineering :: Applications: MozharnessCore'
3718 - machine_name: python_usage
3719 name: Python usage, tools, and style
3720 description: Aspects of Python use such as tooling, formatting and naming style
3722 - tools/lint/python/**/*
3732 - 'Developer Infrastructure :: Lint and Formatting'
3734 - machine_name: remote_protocol
3735 name: Remote Protocol
3736 description: Low-level remote protocol exposing interfaces for inspecting state
3737 and controlling execution of web documents, instrumenting various subsystems
3738 in the browser, simulating user interaction for automation purposes, and for
3739 subscribing to updates from the aforementioned.
3745 url: https://firefox-source-docs.mozilla.org/remote/
3754 - machine_name: remote_protocol_agent
3756 description: Underlying transport layer and server to allow remoting of Firefox
3757 for automation and debugging.
3762 - remote/marionette/*
3763 - remote/webdriver-bidi/*
3768 - Maja Frydrychowicz
3772 - 'Remote Protocol :: Agent'
3780 - machine_name: remote_protocol_cdp
3782 description: The core implementation for CDP support. Please file domain specific
3783 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3790 - Maja Frydrychowicz
3794 - 'Remote Protocol :: CDP'
3802 - machine_name: remote_protocol_marionette
3804 description: Marionette is a remote protocol that lets out-of-process programs
3805 communicate with, instrument, and control Gecko-based browsers. Combined
3806 with geckodriver, this forms our WebDriver classic implementation.
3808 - remote/marionette/*
3813 - Maja Frydrychowicz
3816 - 'Remote Protocol :: Marionette'
3817 group: dev-webdriver
3825 - machine_name: remote_protocol_webdriver_bidi
3826 name: WebDriver BiDi
3827 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3829 - remote/webdriver-bidi/*
3832 - 'Remote Protocol :: WebDriver BiDi'
3833 group: dev-webdriver
3841 - machine_name: sync
3843 description: Firefox Sync client
3845 - services/sync/**/*
3858 url: https://wiki.mozilla.org/Services/Process/Code_Review
3862 - machine_name: testing_firefox_ui
3864 description: Firefox UI test framework.
3866 - testing/firefox-ui/**/*
3869 - Maja Frydrychowicz
3871 - 'Testing :: Firefox UI'
3879 - machine_name: testing_geckodriver
3881 description: Proxy for using W3C WebDriver-compatible clients to interact with
3882 Gecko-based browsers.
3884 - testing/geckodriver/**/*
3892 - 'Testing :: geckodriver'
3893 group: dev-webdriver
3895 - machine_name: testing_gtest
3897 description: GTest test harness.
3899 - testing/gtest/**/*
3906 - 'Testing :: GTest'
3908 - machine_name: testing_marionette_client_harness
3909 name: Marionette Client & Harness
3910 description: Python client and harness for the Marionette remote protocol implementation.
3912 - testing/marionette/**/*
3917 - Maja Frydrychowicz
3920 - 'Testing :: Marionette Client & Harness'
3928 - machine_name: testing_mochitest
3930 description: Mochitest test framework
3932 - testing/mochitest/**/*
3941 - 'Testing :: Mochitest'
3942 - machine_name: testing_mozbase
3944 description: Base modules used for implementing test components.
3958 - 'Testing :: Mozbase'
3959 - 'Testing :: Mozbase Rust'
3960 - machine_name: testing_performance_testing
3961 name: Performance Testing
3963 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3964 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3965 the owners/peers of the various components (linked below).
3967 - testing/raptor/**/*
3968 - testing/talos/**/*
3969 - python/mozperftest/**/*
3971 - tools/lint/perfdocs/**/*
3972 - testing/perfdocs/**/*
3973 - testing/performance/**/*
3974 - testing/condprofile/**/*
3975 - tools/browsertime/**/*
3976 - tools/tryselect/selectors/perf.py
3987 - 'Testing :: Raptor'
3988 - 'Testing :: Talos'
3990 - 'Testing :: Performance'
3991 - 'Testing :: mozperftest'
3992 - 'Testing :: Condprofile'
3993 url: :ref:`Performance Testing`
3994 - machine_name: testing_reftest
3995 name: Reftest (+ jsreftest + crashtest)
3996 description: Reftest test framework
3998 - layout/tools/reftest/**/*
4007 - 'Testing :: Reftest'
4008 - machine_name: testing_tryselect
4010 description: Frontend for selecting jobs on the try server.
4012 - tools/tryselect/**/*
4021 - 'Developer Infrastructure :: Try'
4022 - machine_name: testing_web_platform_tests_infrastructure
4023 name: web-platform-tests infrastructure
4024 description: Infrastructure for running the cross-browser web-platform-tests
4026 - testing/web-platform/**/*
4027 - testing/web-platform/tests/tools/**/*
4029 - testing/web-platform/tests/**/*
4030 - testing/web-platform/meta/**/*
4031 - testing/web-platform/mozilla/**/*
4037 - 'Testing :: web-platform-tests'
4038 - machine_name: testing_xpcshell
4040 description: XPCShell test harness.
4042 - testing/xpcshell/**/*
4050 - Testing::XPCShell Harness
4052 description: Components shared between desktop and mobile browsers.
4069 - name: Application Startup
4070 description: The profile system and startup process before the front-end launches.
4072 - toolkit/profile/**/*
4073 - toolkit/components/remote/**/*
4080 machine_name: application_startup
4084 The core infrastructure in the Firefox client to send back telemetry
4085 data. Includes the common mechanisms to record, view and submit data: Legacy
4086 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4087 does ''not'' include responsibility for every piece of submitted Telemetry
4088 data. Each team/module is responsible for their own measurements (histograms,
4089 scalars, other ping submissions, etc.).
4091 - toolkit/components/glean/**/*
4092 - toolkit/components/telemetry/**/*
4093 - toolkit/content/aboutTelemetry.*
4098 url: :ref:`Telemetry`
4106 machine_name: telemetry
4109 description: The base widgets used throughout the UI.
4111 - toolkit/content/widgets/**/*
4118 machine_name: ui_widgets
4120 - name: Webextensions
4121 description: Webextension APIs and integration.
4123 - browser/components/extensions/**/*
4124 - toolkit/components/extensions/**/*
4136 machine_name: webextensions
4137 machine_name: toolkit
4138 - machine_name: url_classifier
4139 name: URL Classifier
4140 description: Database and list-based classification of URL resources, such as
4141 Tracking Protection and SafeBrowsing.
4143 - toolkit/components/url-classifier/**/*
4144 - netwerk/url-classifier/**/*
4153 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4154 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4162 config: 4eaff8b1035215ae61f15733f96d3663f85f0d61
4163 export: a29150c80a29f8194c025b874f1ff0dd7e396947