3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at https://mozilla.org/MPL/2.0/.
7 # See https://mots.readthedocs.io/en/latest/#quick-start for quick start
8 # documentation and how to modify this file.
10 created_at: '2021-10-14T12:50:40.073465'
11 updated_at: '2024-02-21T11:15:29.585462'
13 path: ./docs/mots/index.rst
15 searchfox_enabled: true
17 Mozilla operates under a `module ownership governance system <https://www.mozilla.org/hacking/module-ownership.html>`_. A module is a discrete unit of code or activity. An owner is the person in charge of a module or sub-module. A peer is a person whom the owner has appointed to help them. A module may have multiple peers and, very occasionally, multiple owners.
19 The system is overseen by the owner and peers of the Module Ownership module. For the modules that make up Firefox, oversight is provided by the Firefox Technical Leadership module. Owners may add and remove peers from their modules as they wish, without reference to anyone else.
40 name: Andrew Halberstadt
44 name: Yoshi Cheng-Hao Huang
80 name: Andrew Sutherland
88 name: Andrea Marchesini
104 name: Ben Dean-Kawamura
112 name: Benjamin Beurdouche
136 name: Hubert Boma Manilla
147 name: Bryce Seager van Dyk
158 name: Benjamin VanderSloot
170 name: Calixte Denizet
181 name: Nazım Can Altınova
193 name: Christoph Kerschbaumer
209 name: Daisuke Akatsuka
244 name: Alessio Placitelli
308 name: Emilio Cobos Álvarez
312 name: Masatoshi Kimura
334 name: Nick Fitzgerald
338 name: Francesco Lodolo
358 name: Gabriel Bustamante
366 name: Gian-Carlo Pascutto
393 name: Gabriele Svelto
401 name: Haik Aftandilian
409 name: Hiroyuki Ikezoe
421 name: Jan Honza Odvarko
445 name: Jan-Erik Rediger
461 name: Julian Descottes
489 name: Jan-Ivar Bruaroey
517 name: Jonathan Almeida
545 name: Jonathan Sudiaman
553 name: Jules Simplicio
560 name: Jean-Yves Avenard
612 name: Dzmitry Malyshau
624 name: Lougenia Bailey
640 name: Marco Castelluccio
656 name: Masayuki Nakano
668 name: Andrew McCreight
704 name: Morgan Reschenberg
740 name: Nicolas Chevobbe
752 name: Niklas Baumgardner
776 name: Alexandre Poirot
784 name: Andrew Overholt
804 name: Andreas Pehrson
812 name: Peter Van der Beken
852 name: Alexandra Borovova
876 name: Shravan Narayan
892 name: Greg Mierzwinski
904 name: Martin Stránský
911 name: Sylvestre Ledru
923 name: Teodor Tanasoaia
958 name: Toshihito Kikuchi
1009 name: Zibi Braniecki
1017 name: Tomislav Jovanovic
1024 - name: firefox-toplevel
1025 description: The top level directory for the Firefox/Gecko tree. Owned by the
1041 machine_name: _firefoxtoplevel
1043 - machine_name: code_coverage
1045 description: Tools for code coverage instrumentation, and coverage data parsing
1048 - tools/code-coverage/**/*
1049 - python/mozbuild/mozbuild/codecoverage/**/*
1050 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1059 - 'Testing :: Code Coverage'
1060 - name: 'Core: Accessibility'
1061 description: Support for platform accessibility APIs. Accessibility APIs are used
1062 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1063 software, which need information about document content and UI controls, as
1064 well as important events like changes of focus.
1078 group: dev-accessibility
1079 url: https://developer.mozilla.org/docs/Web/Accessibility
1081 - Core::Disability Access APIs
1088 machine_name: core_accessibility
1090 - name: 'Core: Animation'
1091 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1092 API, and off-main thread animations.'
1094 - dom/animation/**/*
1095 # TODO "and animation-related and interpolation-related code
1096 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1100 - Core::DOM::Animation
1101 - Core::CSS Transitions and Animations
1109 machine_name: core_animation
1111 - name: 'Core: Anti-Tracking'
1112 description: Tracking detection and content-blocking.
1114 - toolkit/components/antitracking/**/*
1115 # several files under browser/ and netwerk/url-classifier/ **TODO**
1125 - 'Core::Privacy: Anti-Tracking'
1132 machine_name: core_antitracking
1134 - name: 'Core: APZ (Graphics submodule)'
1135 description: Asynchronous panning and zooming
1137 - gfx/layers/apz/**/*
1144 url: https://wiki.mozilla.org/Platform/GFX/APZ
1146 - Core::Panning and Zooming
1154 machine_name: core_apz_graphics_submodule
1156 - name: 'Core: Browser WebAPI'
1157 description: Web API for rendering apps, browser windows and widgets.
1159 - dom/browser-element/**/*
1170 machine_name: core_browser_webapi
1172 - name: 'Core: Build and Release Tools'
1173 description: Tools related to build and release automation and configuration of
1176 - tools/update-packaging/**/*
1177 - tools/update-verify/**/*
1181 group: release-engineering
1182 url: https://wiki.mozilla.org/ReleaseEngineering
1184 - Release Engineering::*
1191 machine_name: core_build_and_release_tools
1193 - name: 'Core: Build Config'
1194 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1199 - python/mozbuild/**/*
1200 - browser/config/mozconfigs/**/*
1218 url: :ref:`Build System`
1220 - Core::Build Config
1227 - name: 'Core: Build Config - Fennec'
1228 description: Submodule of the build config covering Fennec's build system
1233 - Core::Build Config
1237 machine_name: core_build_config_fennec
1239 - name: 'Core: Build Config - Taskgraph'
1240 description: Support for task-graph generation in decision, action, and cron
1241 tasks, including configuration of all tasks including those for CI, nightlies,
1242 and releases; as well as Docker and VM images used to execute those tasks.
1247 - Firefox Build System::Task Configuration
1263 machine_name: core_build_config_taskgraph
1264 machine_name: core_build_config
1266 - name: 'Core: Code Analysis and Debugging Tools'
1267 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1268 and other characteristics of it.
1271 - tools/leak-gauge/**/*
1272 - tools/performance/**/*
1275 group: dev-performance
1280 machine_name: core_code_analysis_and_debugging_tools
1282 - name: 'Core: Content Security'
1283 description: 'Native content-based security features enforced in the ContentSecurityManager,
1284 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1285 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1286 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1287 and top-level data: URI blocking.'
1301 - '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::DOM: 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)
1698 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1699 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1702 - 'Core::Graphics: Layers'
1703 - 'Core::Graphics: Text'
1704 - 'Core::Graphics: WebRender'
1705 - 'Core::GFX: Color Management'
1706 - 'Core::Canvas: 2D'
1707 - 'Core::Canvas: WebGL'
1721 machine_name: core_graphics
1724 description: Hardware Abstraction Layer
1730 - Core::Hardware Abstraction Layer (HAL)
1734 machine_name: core_hal
1736 - name: 'Core: HTML Parser'
1737 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1738 to the HTML specification, and is mostly translated automatically from Java
1744 url: http://about.validator.nu/
1746 - 'Core::HTML: Parser'
1751 machine_name: core_html_parser
1753 - name: 'Core: I18N Library'
1762 url: :ref:`Internationalization`
1764 - Core::Internationalization
1772 machine_name: core_i18n_library
1774 - name: 'Core: ImageLib'
1777 - media/libjpeg/**/*
1794 machine_name: core_imagelib
1796 - name: 'Core: IndexedDB'
1799 - dom/indexedDB/**/*
1807 url: https://developer.mozilla.org/en/IndexedDB
1809 - 'Core::DOM: IndexedDB'
1810 review_group: dom-storage-reviewers
1817 machine_name: core_indexeddb
1820 description: Native message-passing between threads and processes
1841 review_group: ipc-reviewers
1848 machine_name: core_ipc
1850 - name: 'Core: JavaScript'
1851 description: JavaScript engine (SpiderMonkey)
1875 - Nicholas Nethercote
1880 url: https://spidermonkey.dev/
1882 - Core::JavaScript Engine
1883 - 'Core::JavaScript: GC'
1884 - 'Core::JavaScript: Internationalization API'
1885 - 'Core::JavaScript: Standard Library'
1886 - 'Core::JavaScript: WebAssembly'
1908 machine_name: core_javascript
1910 - name: 'Core: JavaScript JIT'
1911 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1925 url: https://spidermonkey.dev/
1927 - 'Core::JavaScript Engine: JIT'
1937 machine_name: core_javascript_jit
1939 - name: 'Core: Layout Engine'
1940 description: rendering tree construction, layout (reflow), etc.
1946 - layout/generic/**/*
1947 - layout/printing/**/*
1948 - layout/tables/**/*
1959 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1962 - 'Core::Layout: Block and Inline'
1963 - 'Core::Layout: Columns'
1964 - 'Core::Layout: Flexbox'
1965 - 'Core::Layout: Floats'
1966 - 'Core::Layout: Form Controls'
1967 - 'Core::Layout: Generated Content, Lists, and Counters'
1968 - 'Core::Layout: Grid'
1969 - 'Core::Layout: Images, Video, and HTML Frames'
1970 - 'Core::Layout: Positioned'
1971 - 'Core::Layout: Ruby'
1972 - 'Core::Layout: Scrolling and Overflow'
1973 - 'Core::Layout: Tables'
1974 - 'Core::Layout: Text and Fonts'
1975 - Core::Print Preview
1976 - 'Core::Printing: Output'
1986 machine_name: core_layout_engine
1988 - name: 'Core: Legacy HTML Parser'
1991 - parser/htmlparser/**/*
1998 url: http://www.mozilla.org/newlayout/doc/parser.html
2000 - 'Core::HTML: Parser'
2005 machine_name: core_legacy_html_parser
2007 - name: 'Core: libjar'
2008 description: The JAR handling code (protocol handler, stream implementation, and
2009 zipreader/zipwriter).
2011 - modules/libjar/**/*
2021 - 'Core::Networking: JAR'
2027 machine_name: core_libjar
2029 - name: 'Core: MathML'
2030 description: MathML is a low-level specification for describing mathematics which
2031 provides a foundation for the inclusion of mathematical expressions in Web pages.
2033 - layout/mathml/**/*
2035 group: dev-tech-mathml
2036 url: https://developer.mozilla.org/docs/Web/MathML
2048 machine_name: core_mathml
2050 - name: 'Core: Media Playback'
2051 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2052 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2055 - media/gmp-clearkey/**/*
2056 - media/libcubeb/**/*
2057 - media/libnestegg/**/*
2059 - media/libopus/**/*
2060 - media/libtheora/**/*
2061 - media/libtremor/**/*
2062 - media/libvorbis/**/*
2064 - dom/media/platforms/omx/**/*
2065 - dom/media/gmp/rlz/**/*
2080 machine_name: core_media_playback
2082 - name: 'Core: Media Transport'
2083 description: Pluggable transport for real-time media
2085 - dom/media/webrtc/transport/**/*
2089 - Core::WebRTC::Networking
2098 machine_name: core_media_transport
2100 - name: 'Core: Memory Allocator'
2101 description: Most things related to memory allocation in Gecko, including jemalloc,
2102 replace-malloc, DMD (dark matter detector), logalloc, etc.
2108 - Nicholas Nethercote
2116 machine_name: core_memory_allocator
2118 - name: 'Core: mfbt'
2119 description: mfbt is a collection of headers, macros, data structures, methods,
2120 and other functionality available for use and reuse throughout all Mozilla code
2121 (including SpiderMonkey and Gecko more broadly).
2135 machine_name: core_mfbt
2137 - name: 'Core: Moz2D (Graphics submodule)'
2138 description: Platform independent 2D graphics API
2143 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2151 machine_name: core_moz2d_graphics_submodule
2153 - name: 'Core: Mozglue'
2154 description: Glue library containing various low-level functionality, including
2155 a dynamic linker for Android, a DLL block list for Windows, etc.
2163 - Kartikaya Gupta (mozglue/android)
2168 machine_name: core_mozglue
2170 - name: 'Core: MSCOM'
2171 description: Integration with Microsoft Distributed COM
2182 - 'Core::IPC: MSCOM'
2188 machine_name: core_mscom
2190 - name: 'Core: Necko'
2191 description: The Mozilla Networking Library
2195 - netwerk/build/**/*
2196 - netwerk/cache2/**/*
2198 - netwerk/locales/**/*
2200 - netwerk/protocol/**/*
2201 - netwerk/socket/**/*
2202 - netwerk/streamconv/**/*
2203 - netwerk/system/**/*
2208 - dom/websocket/**/*
2209 - uriloader/prefetch/**/*
2210 - uriloader/preload/**/*
2213 - Dragana Damjanovic
2215 - Christian Biesinger
2226 group: dev-tech-network
2227 url: :ref:`Networking`
2230 - 'Core::Networking: Cache'
2231 - 'Core::Networking: Cookies'
2232 - 'Core::Networking: File'
2233 - 'Core::Networking: HTTP'
2234 - 'Core::Networking: JAR'
2235 - 'Core::Networking: Proxy'
2236 - 'Core::Networking: Websockets'
2237 - 'Core::DOM: Networking'
2243 machine_name: core_necko
2245 - name: 'Core: NodeJS usage, tools, and style'
2246 description: Advises on the use of NodeJS and npm packages at build and runtime.
2247 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2248 teams to maintain automated license and security audits of npm packages. Works
2249 with the security team and relevant developers to respond to vulnerabilities
2250 in NodeJS and vendored npm packages.
2255 # TODO: and others as appropriate
2259 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2269 machine_name: core_nodejs_usage_tools_and_style
2271 - name: 'Core: NSPR'
2272 description: Netscape Portable Runtime
2278 group: dev-tech-nspr
2286 machine_name: core_nspr
2289 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2292 - toolkit/components/pdfjs/**/*
2300 url: https://github.com/mozilla/pdf.js
2307 machine_name: core_pdf
2309 - name: 'Core: Permissions'
2312 - extensions/permissions/**/*
2321 - Christian Biesinger
2328 - 'Core :: Permission Manager'
2329 review_group: permissions-reviewers
2334 machine_name: core_permissions
2336 - name: 'Core: Plugins'
2337 description: ' NPAPI Plugin support.'
2349 url: https://wiki.mozilla.org/Plugins
2354 machine_name: core_plugins
2356 - name: 'Core: Preferences'
2357 description: Preference library
2359 - modules/libpref/**/*
2362 - Nicholas Nethercote
2368 - 'Core::Preferences: Backend'
2374 machine_name: core_preferences
2376 - name: 'Core: Private Browsing'
2377 description: Implementation of the Private Browsing mode, and the integration
2378 of other modules with Private Browsing APIs.
2381 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2382 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2390 url: https://wiki.mozilla.org/Private_Browsing
2392 - Firefox::Private Browsing
2397 machine_name: core_private_browsing
2399 - name: 'Core: Privilege Manager'
2400 description: Caps is the capabilities-based security system.
2410 url: http://www.mozilla.org/projects/security/components/index.html
2412 - 'Core::Security: CAPS'
2417 machine_name: core_privilege_manager
2419 - name: 'Core: Push Notifications'
2420 description: Push is a way for application developers to send messages to their
2430 - Dragana Damjanovic
2432 - 'Core::DOM: Notifications'
2435 machine_name: core_push_notifications
2437 - name: 'Core: Sandboxing (Linux)'
2438 description: Sandboxing for the Linux platform
2440 - security/sandbox/linux/**/*
2443 url: https://wiki.mozilla.org/Security/Sandbox
2445 - 'Core::Security: Process Sandboxing'
2450 machine_name: core_sandboxing_linux
2452 - name: 'Core: Sandboxing (OSX)'
2453 description: Sandboxing for the OSX platform
2455 - security/sandbox/mac/**/*
2458 url: https://wiki.mozilla.org/Security/Sandbox
2460 - 'Core::Security: Process Sandboxing'
2464 machine_name: core_sandboxing_osx
2466 - name: 'Core: Sandboxing (Windows)'
2467 description: Sandboxing for the Windows platform
2469 - security/sandbox/win/**/*
2479 url: https://wiki.mozilla.org/Security/Sandbox
2481 - 'Core::Security: Process Sandboxing'
2486 machine_name: core_sandboxing_windows
2488 - name: 'Core: security'
2489 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2502 group: dev-tech-crypto
2503 url: :ref:`Network Security Services (NSS)`
2508 - 'Core::Security: S/MIME'
2521 machine_name: core_security
2523 - name: 'Core: Security - Mozilla PSM Glue'
2524 description: Personal Security Manager
2526 - security/manager/**/*
2529 - Kai Engert (2001-2012)
2530 group: dev-tech-crypto
2532 - 'Core::Security: PSM'
2541 machine_name: core_security_mozilla_psm_glue
2543 - machine_name: core_security_rlbox
2544 name: Security - RLBox
2545 description: Sandboxing using WASM/RLBox libraries.
2549 - third_party/rlbox_wasm2c_sandbox
2559 - 'Core::Security: RLBox'
2560 - name: 'Core: Static analysis & rewriting for C++'
2561 description: Tools for checking C++ code looking for problems at compile time,
2562 plus tools for automated rewriting of C++ code.
2564 - build/clang-plugin/**/*
2565 - tools/rewriting/**/*
2566 # TODO among other out of tree tools
2569 - Birunthan Mohanathas
2573 - Core::Rewriting & Analysis
2580 machine_name: core_static_analysis_rewriting_for_c
2582 - name: 'Core: storage'
2583 description: Storage APIs with a SQLite backend
2585 - third_party/sqlite3/**/*
2589 url: http://developer.mozilla.org/en/docs/Storage
2591 - Toolkit::Storage, Core::SQL
2599 machine_name: core_storage
2601 - name: 'Core: String'
2606 group: dev-tech-xpcom
2607 url: :ref:`String Guide`
2616 machine_name: core_string
2618 - name: 'Core: Style System'
2619 description: CSS style sheet handling; style data computation
2630 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2632 - Core::CSS Parsing and Computation
2633 - 'Core::DOM: CSS Object Model'
2643 machine_name: core_style_system
2646 description: Scalable Vector Graphics
2653 url: https://developer.mozilla.org/docs/Web/SVG
2664 machine_name: core_svg
2666 - name: 'Core: UA String'
2667 description: User Agent String
2669 - netwerk/protocol/http/**/*
2672 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2674 - 'Core::Networking: HTTP'
2680 machine_name: core_ua_string
2682 - name: 'Core: View System'
2683 description: The View Manager is responsible for handling "heavyweight" rendering
2684 (some clipping, compositing) and event handling tasks.
2695 - 'Core::Layout: View Rendering'
2700 machine_name: core_view_system
2702 - name: 'Core: Web Audio'
2703 description: Support for the W3C Web Audio API specification.
2705 - dom/media/webaudio/**/*
2712 url: https://wiki.mozilla.org/Web_Audio_API
2719 machine_name: core_web_audio
2721 - name: 'Core: Web Painting'
2722 description: painting, display lists, and layer construction
2724 - layout/painting/**/*
2725 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2728 url: :ref:`Layout & CSS`
2730 - 'Core::Layout: Web Painting'
2742 machine_name: core_web_painting
2744 - name: 'Core: Web Workers'
2758 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2760 - 'Core::DOM: Workers'
2761 review_group: dom-worker-reviewers
2766 machine_name: core_web_workers
2768 - name: 'Core: WebGPU (Graphics submodule)'
2769 description: WebGPU implementation
2772 - gfx/wgpu_bindings/**/*
2773 - third_party/rust/naga/**/*
2774 - third_party/rust/wgpu-core/**/*
2775 - third_party/rust/wgpu-hal/**/*
2776 - third_party/rust/wgpu-types/**/*
2777 - testing/web-platform/tests/webgpu/**/*
2778 - testing/web-platform/meta/webgpu/**/*
2779 - testing/web-platform/mozilla/tests/webgpu/**/*
2780 - testing/web-platform/mozilla/meta/webgpu/**/*
2783 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2785 - Core::Graphics::WebGPU
2786 review_group: webgpu-reviewers
2798 machine_name: core_webgpu_graphics_submodule
2800 - name: 'Core: WebRTC'
2801 description: WebRTC is responsible for realtime audio and video communication,
2802 as well as related issues like low-level camera and microphone access
2805 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2812 url: https://wiki.mozilla.org/Media/webrtc
2815 - Core::WebRTC Networking
2820 machine_name: core_webrtc
2822 - name: 'Core: WebVR'
2823 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2824 including API, devices, graphics and integration
2830 - Vladimir Vukicevic
2833 url: https://mozvr.com/
2842 - name: 'Core: WebRTC Media'
2843 description: Submodule of WebRTC responsible for access to media input devices
2844 (microphones, cameras, screen capture), as well as realtime audiovisual
2845 codecs and packetization.
2848 - dom/media/webrtc/**/*
2849 - dom/media/systemservices/**/*
2855 url: https://wiki.mozilla.org/Media/webrtc
2857 - Core::WebRTC (Audio/Video)
2864 machine_name: core_webrtc_media
2866 - name: 'Core: WebRTC Signaling'
2867 description: Submodule of WebRTC responsible for implementation of PeerConnection
2868 API, WebRTC identity, and SDP/JSEP handling
2870 - media/webrtc/signaling/**/*
2878 url: https://wiki.mozilla.org/Media/webrtc
2880 - Core::WebRTC (Signaling)
2885 machine_name: core_webrtc_signaling
2886 machine_name: core_webvr
2888 - name: 'Core: Widget'
2889 description: Top level Widget
2894 - Vladimir Vukicevic
2901 - Core::Drag and Drop
2903 - 'Core::Printing: Setup'
2906 machine_name: core_widget
2908 - name: 'Core: Widget - Android'
2909 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2914 machine_name: core_widget_android
2916 - name: 'Core: Widget - GTK'
2917 description: GTK widget support
2924 url: http://www.mozilla.org/ports/gtk/
2926 - 'Core::Widget: Gtk'
2931 machine_name: core_widget_gtk
2933 - name: 'Core: Widget - Headless'
2934 description: Headless widget support
2936 - widget/headless/**/*
2945 machine_name: core_widget_headless
2947 - name: 'Core: Widget - macOS'
2948 description: ' macOS widget support'
2961 - 'Core::Widget: Cocoa'
2967 machine_name: core_widget_macos
2969 - name: 'Core: Widget - Windows'
2970 description: Windows widget support
2972 - widget/windows/**/*
2978 - Vladimir Vukicevic
2981 - Christian Biesinger
2983 - Josh 'timeless' Soref
2990 - 'Core::Widget: Win32'
2996 machine_name: core_widget_windows
2999 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
3000 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
3001 that are not covered by more specific projects.
3017 machine_name: core_xml
3019 - name: 'Core: XPApps'
3020 description: Cross-Platform Applications, mostly Navigator front end and application
3025 group: dev-apps-seamonkey
3029 - Josh 'timeless' Soref
3032 machine_name: core_xpapps
3034 - name: 'Core: XPCOM'
3035 description: The cross-platform object model and core data structures.
3041 - xpcom/components/**/*
3045 - xpcom/reflect/**/*
3049 - xpcom/threads/**/*
3050 - xpcom/windbgdlg/**/*
3062 review_group: xpcom-reviewers
3072 machine_name: core_xpcom
3074 - name: 'Core: XPConnect'
3075 description: Deep Magic
3094 machine_name: core_xpconnect
3096 - name: 'Core: XPIDL'
3097 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3098 runtime type description files from .idl interface description files.
3100 - xpcom/idl-parser/**/*
3107 - Josh 'timeless' Soref
3108 group: dev-tech-xpcom
3114 machine_name: core_xpidl
3116 - name: 'Core: XSLT Processor'
3117 description: XSLT transformations processor
3125 group: dev-tech-xslt
3126 url: https://developer.mozilla.org/docs/Web/XSLT
3132 machine_name: core_xslt_processor
3134 - name: Desktop Firefox
3135 description: Standalone Web Browser.
3148 - Tim Guan-tin Chien
3158 - Matthew Noorenberghe
3180 - name: Add-ons Manager
3181 description: Extension management back-end.
3183 - toolkit/mozapps/extensions/**/*
3197 machine_name: addons_manager
3199 - name: Add-ons Manager UI
3200 description: about:addons.
3202 - toolkit/mozapps/extensions/content/**/*
3215 machine_name: addons_manager_ui
3217 - name: Application Update
3218 description: The application update services.
3220 - toolkit/mozapps/update/**/*
3225 machine_name: application_update
3231 - name: Bookmarks & History
3232 description: The bookmarks and history services (Places).
3234 - browser/components/places/**/*
3235 - toolkit/components/places/**/*
3244 - Firefox::Bookmarks & History
3246 review_group: places-reviewers
3254 machine_name: bookmarks_history
3256 - name: Desktop Theme
3257 description: The style rules used in the desktop UI.
3259 - browser/themes/**/*
3260 - toolkit/themes/**/*
3277 machine_name: desktop_theme
3280 description: The main browser UI except where covered by more specific submodules.
3282 - browser/base/content/**/*
3295 machine_name: desktop_ui
3297 - name: Download Manager
3298 description: The downloads UI and service.
3300 - browser/components/downloads/**/*
3301 - toolkit/mozapps/downloads/**/*
3302 - uriloader/exthandler/**/*
3312 machine_name: download_manager
3314 - name: Enterprise Policies
3315 description: System policies for controlling Firefox.
3317 - browser/components/enterprisepolicies/**/*
3322 machine_name: enterprise_policies
3324 - name: Experiments/Rollouts
3325 description: Desktop clients for our experiments and off-train deployments
3328 - toolkit/components/normandy/**/*
3329 - toolkit/components/nimbus/**/*
3335 - Firefox::Nimbus Desktop Client
3336 url: https://experimenter.info/
3342 machine_name: normandy
3344 - machine_name: firefox_view
3346 description: The Firefox View page and its modules.
3348 - browser/components/firefoxview/**/*
3357 - name: Form Autofill
3358 description: Form detection and autocomplete.
3360 - browser/extensions/formautofill/**/*
3361 - toolkit/components/satchel/**/*
3364 - Matthew Noorenberghe
3370 machine_name: form_autofill
3372 - name: In-product Messaging
3373 description: The system for delivering in-product messaging and onboarding
3374 including Activity Stream Router, about:welcome, UI tour.
3376 - browser/components/asrouter/**/*
3377 - browser/components/aboutwelcome/**/*
3378 - browser/components/uitour/**/*
3379 - toolkit/components/messaging-system/**/*
3382 - Firefox::Messaging System
3396 machine_name: inproduct_messaging
3398 - name: Launcher Process
3399 description: Windows process for bootstrapping the browser process.
3401 - browser/app/winlauncher/**/*
3407 - Firefox::Launcher Process
3414 machine_name: launcher_process
3416 - machine_name: localization
3418 description: Tooling to enable translation and facilitate localization.
3426 - name: New Tab Page
3427 description: The new tab/home page.
3429 - browser/components/newtab/**/*
3432 - Firefox::New Tab Page
3442 machine_name: new_tab_page
3444 - name: Password Manager
3445 description: Managing, saving and filling logins.
3447 - toolkit/components/passwordmgr/**/*
3448 - browser/components/aboutlogins/**/*
3451 - Matthew Noorenberghe
3456 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3458 - Toolkit::Password Manager
3459 - 'Toolkit::Password Manager: Site'
3461 - Firefox::about:logins
3468 machine_name: password_manager
3470 - machine_name: firefox_pip
3471 name: Picture-in-Picture
3472 description: A component that allows video elements to be pulled out into
3473 an always-on-top window.
3475 - toolkit/components/pictureinpicture
3476 - browser/extensions/pictureinpicture
3488 - name: Profile Migration
3489 description: Migrating data from other browsers.
3491 - browser/components/migration/**/*
3499 machine_name: profile_migration
3502 description: Code relating to Screenshots functionality
3504 - browser/extensions/screenshots/**/*
3505 - browser/components/screenshots/**/*
3513 - Firefox::Screenshots
3519 machine_name: screenshots
3521 - name: Search and Address Bar
3522 description: The search service, address bar and address bar autocomplete.
3524 - browser/components/search/**/*
3525 - browser/components/urlbar/**/*
3526 - toolkit/components/search/**/*
3529 - Firefox::Address Bar
3542 machine_name: search_and_address_bar
3544 - name: Security and Privacy UI
3545 description: The front-end to our security and privacy features, including
3546 Protections UI, Site Identity, Site Permissions and Certificate Errors
3548 - browser/components/protections/**/*
3549 - browser/components/controlcenter/**/*
3553 - Nihanth Subramanya
3559 - Firefox::Protections UI
3560 - Firefox::Site Identity
3561 - Firefox::Site Permissions
3564 machine_name: security_and_privacy_ui
3566 - name: Session Restore
3567 description: Restoring a user's session after starting Firefox.
3569 - browser/components/sessionstore/**/*
3570 - toolkit/components/sessionstore/**/*
3580 - Firefox::Session Restore
3587 machine_name: session_restore
3590 description: The front-end settings user interface.
3592 - browser/components/preferences/**/*
3593 - browser/themes/*/preferences
3594 - toolkit/mozapps/preferences
3606 machine_name: settings_ui
3608 - name: Tabbed Browser
3609 description: The UI component controlling browser tabs.
3611 - browser/base/content/tabbrowser*
3612 - browser/base/content/browser-allTabsMenu.js
3613 - browser/base/content/browser-ctrlTab.js
3614 - browser/base/content/browser-fullZoom.js
3615 - browser/modules/AsyncTabSwitcher.sys.mjs
3616 - browser/modules/NewTabPagePreloading.sys.mjs
3617 - browser/modules/OpenInTabsUtils.sys.mjs
3618 - browser/modules/TabsList.sys.mjs
3619 - browser/modules/TabUnloader.sys.mjs
3622 - Firefox::Tabbed Browser
3631 machine_name: tabbed_browser
3633 - name: Windows Installer
3634 description: The installer for Windows.
3636 - browser/installer/**/*
3637 - toolkit/mozapps/installer/**/*
3640 - Firefox::Installer
3646 machine_name: windows_installer
3647 machine_name: desktop_firefox
3649 - machine_name: devtools
3651 description: Mozilla Developer Tools
3677 - Steve Fink (heapsnapshot code)
3687 - Panagiotis Astithas
3705 url: http://firefox-dev.tools/
3708 - machine_name: javascript_usage
3709 name: JavaScript usage, tools, and style
3710 description: Aspects of JavaScript use such as language feature usage, tooling
3711 such as lint configurations, formatting and naming style.
3713 - .eslintrc-test-paths.js
3714 - '**/.eslintignore'
3716 - tools/lint/eslint/**/*
3733 - machine_name: mozharness
3735 description: Configuration-driven script harness.
3737 - testing/mozharness/**/*
3750 - 'Release Engineering :: Applications: MozharnessCore'
3751 - machine_name: python_usage
3752 name: Python usage, tools, and style
3753 description: Aspects of Python use such as tooling, formatting and naming style
3755 - tools/lint/python/**/*
3765 - 'Developer Infrastructure :: Lint and Formatting'
3767 - machine_name: remote_protocol
3768 name: Remote Protocol
3769 description: Low-level remote protocol exposing interfaces for inspecting state
3770 and controlling execution of web documents, instrumenting various subsystems
3771 in the browser, simulating user interaction for automation purposes, and for
3772 subscribing to updates from the aforementioned.
3778 url: https://firefox-source-docs.mozilla.org/remote/
3787 - machine_name: remote_protocol_agent
3789 description: Underlying transport layer and server to allow remoting of Firefox
3790 for automation and debugging.
3795 - remote/marionette/*
3796 - remote/webdriver-bidi/*
3801 - Maja Frydrychowicz
3805 - 'Remote Protocol :: Agent'
3813 - machine_name: remote_protocol_cdp
3815 description: The core implementation for CDP support. Please file domain specific
3816 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3823 - Maja Frydrychowicz
3827 - 'Remote Protocol :: CDP'
3835 - machine_name: remote_protocol_marionette
3837 description: Marionette is a remote protocol that lets out-of-process programs
3838 communicate with, instrument, and control Gecko-based browsers. Combined
3839 with geckodriver, this forms our WebDriver classic implementation.
3841 - remote/marionette/*
3846 - Maja Frydrychowicz
3849 - 'Remote Protocol :: Marionette'
3850 group: dev-webdriver
3858 - machine_name: remote_protocol_webdriver_bidi
3859 name: WebDriver BiDi
3860 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3862 - remote/webdriver-bidi/*
3865 - 'Remote Protocol :: WebDriver BiDi'
3866 group: dev-webdriver
3874 - machine_name: sync
3876 description: Firefox Sync client
3878 - services/sync/**/*
3891 url: https://wiki.mozilla.org/Services/Process/Code_Review
3895 - machine_name: testing_firefox_ui
3897 description: Firefox UI test framework.
3899 - testing/firefox-ui/**/*
3902 - Maja Frydrychowicz
3904 - 'Testing :: Firefox UI'
3912 - machine_name: testing_geckodriver
3914 description: Proxy for using W3C WebDriver-compatible clients to interact with
3915 Gecko-based browsers.
3917 - testing/geckodriver/**/*
3925 - 'Testing :: geckodriver'
3926 group: dev-webdriver
3928 - machine_name: testing_gtest
3930 description: GTest test harness.
3932 - testing/gtest/**/*
3939 - 'Testing :: GTest'
3941 - machine_name: testing_marionette_client_harness
3942 name: Marionette Client & Harness
3943 description: Python client and harness for the Marionette remote protocol implementation.
3945 - testing/marionette/**/*
3950 - Maja Frydrychowicz
3953 - 'Testing :: Marionette Client & Harness'
3961 - machine_name: testing_mochitest
3963 description: Mochitest test framework
3965 - testing/mochitest/**/*
3974 - 'Testing :: Mochitest'
3975 - machine_name: testing_mozbase
3977 description: Base modules used for implementing test components.
3991 - 'Testing :: Mozbase'
3992 - 'Testing :: Mozbase Rust'
3993 - machine_name: testing_performance_testing
3994 name: Performance Testing
3996 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3997 MozPerfTest, AWSY, JSShell, mach try perf, etc.. See our PerfDocs for more information on
3998 the owners/peers of the various components (linked below).
4000 - testing/raptor/**/*
4001 - testing/talos/**/*
4002 - python/mozperftest/**/*
4004 - testing/jsshell/**/*
4005 - tools/lint/perfdocs/**/*
4006 - testing/perfdocs/**/*
4007 - testing/performance/**/*
4008 - testing/condprofile/**/*
4009 - tools/browsertime/**/*
4010 - tools/tryselect/selectors/perf.py
4020 - 'Testing :: Raptor'
4021 - 'Testing :: Talos'
4023 - 'Testing :: Performance'
4024 - 'Testing :: mozperftest'
4025 - 'Testing :: Condprofile'
4026 url: :ref:`Performance Testing`
4027 - machine_name: testing_reftest
4028 name: Reftest (+ jsreftest + crashtest)
4029 description: Reftest test framework
4031 - layout/tools/reftest/**/*
4040 - 'Testing :: Reftest'
4041 - machine_name: testing_tryselect
4043 description: Frontend for selecting jobs on the try server.
4045 - tools/tryselect/**/*
4054 - 'Developer Infrastructure :: Try'
4055 - machine_name: testing_web_platform_tests_infrastructure
4056 name: web-platform-tests infrastructure
4057 description: Infrastructure for running the cross-browser web-platform-tests
4059 - testing/web-platform/**/*
4060 - testing/web-platform/tests/tools/**/*
4062 - testing/web-platform/tests/**/*
4063 - testing/web-platform/meta/**/*
4064 - testing/web-platform/mozilla/**/*
4070 - 'Testing :: web-platform-tests'
4071 - machine_name: testing_xpcshell
4073 description: XPCShell test harness.
4075 - testing/xpcshell/**/*
4083 - Testing::XPCShell Harness
4085 description: Components shared between desktop and mobile browsers.
4094 - Matthew Noorenberghe
4106 - name: Application Startup
4107 description: The profile system and startup process before the front-end launches.
4109 - toolkit/profile/**/*
4110 - toolkit/components/remote/**/*
4117 machine_name: application_startup
4121 The core infrastructure in the Firefox client to send back telemetry
4122 data. Includes the common mechanisms to record, view and submit data: Legacy
4123 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4124 does ''not'' include responsibility for every piece of submitted Telemetry
4125 data. Each team/module is responsible for their own measurements (histograms,
4126 scalars, other ping submissions, etc.).
4128 - toolkit/components/glean/**/*
4129 - toolkit/components/telemetry/**/*
4130 - toolkit/content/aboutTelemetry.*
4135 url: :ref:`Telemetry`
4143 machine_name: telemetry
4146 description: The base widgets used throughout the UI.
4148 - toolkit/content/widgets/**/*
4160 machine_name: ui_widgets
4162 - name: Webextensions
4163 description: Webextension APIs and integration.
4165 - browser/components/extensions/**/*
4166 - toolkit/components/extensions/**/*
4178 machine_name: webextensions
4179 machine_name: toolkit
4180 - machine_name: translation
4182 description: Support for translation in Firefox, and the infrastructure to train
4183 new translation language models.
4185 - toolkit/components/translations/**/*
4186 - toolkit/components/translation/**/*
4187 - browser/components/translations/**/*
4197 url: https://github.com/mozilla/firefox-translations-training https://github.com/mozilla/firefox-translations-models
4198 https://github.com/mozilla/firefox-translations-evaluations https://github.com/mozilla/firefox-translations
4200 - Firefox::Translation
4201 review_group: translations-reviewers
4202 - machine_name: url_classifier
4203 name: URL Classifier
4204 description: Database and list-based classification of URL resources, such as
4205 Tracking Protection and SafeBrowsing.
4207 - toolkit/components/url-classifier/**/*
4208 - netwerk/url-classifier/**/*
4217 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4218 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4226 config: 54f91ca2462a64360545ffc2403badb529932325
4227 export: 0c8a2059514a6c6499bd16522f51bb3831cfb3aa