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: '2022-11-30T12:24:52.251425'
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
48 name: Yoshi Cheng-Hao Huang
84 name: Andrew Sutherland
92 name: Andrea Marchesini
104 name: Benjamin Bouvier
112 name: Benjamin Beurdouche
147 name: Bryce Seager van Dyk
171 name: Calixte Denizet
179 name: Nazım Can Altınova
183 name: Caroline Cullen
263 name: Dragana Damjanovic
295 name: Emilio Cobos Álvarez
299 name: Masatoshi Kimura
318 name: Nick Fitzgerald
322 name: Francesco Lodolo
338 name: Gian-Carlo Pascutto
357 name: Gabriele Svelto
361 name: Haik Aftandilian
369 name: Hiroyuki Ikezoe
393 name: Jan-Erik Rediger
409 name: Julian Descottes
437 name: Jan-Ivar Bruaroey
488 name: Jean-Yves Avenard
512 name: Kimberly Sereduck
513 nick: kimberlythegeek
536 name: Dzmitry Malyshau
556 name: Marco Castelluccio
568 name: Masayuki Nakano
577 nick: MatsPalmgren_bugz
588 name: Andrew McCreight
619 name: Morgan Reschenberg
667 name: Niklas Baumgardner
695 name: Andreas Pehrson
703 name: Peter Van der Beken
759 name: Shravan Narayan
771 name: Greg Mierzwinski
787 name: Martin Stránský
794 name: Sylvestre Ledru
834 name: Toshihito Kikuchi
897 name: Tomislav Jovanovic
900 - name: mozilla-toplevel
901 description: The top level directory for the mozilla tree.
904 # TODO: verify, as this was toolkit/README
909 # - Technical Leadership Module
912 machine_name: _mozillatoplevel
914 - machine_name: code_coverage
916 description: Tools for code coverage instrumentation, and coverage data parsing
919 - tools/code-coverage/**/*
920 - python/mozbuild/mozbuild/codecoverage/**/*
921 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
930 - 'Testing :: Code Coverage'
931 - name: 'Core: Accessibility'
932 description: Support for platform accessibility APIs. Accessibility APIs are used
933 by 3rd party software like screen readers, screen magnifiers, and voice dictation
934 software, which need information about document content and UI controls, as
935 well as important events like changes of focus.
948 group: dev-accessibility
949 url: https://developer.mozilla.org/docs/Web/Accessibility
951 - Core::Disability Access APIs
958 machine_name: core_accessibility
960 - name: 'Core: Animation'
961 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
962 API, and off-main thread animations.'
965 # TODO "and animation-related and interpolation-related code
966 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
970 - Core::DOM::Animation
971 - Core::CSS Transitions and Animations
979 machine_name: core_animation
981 - name: 'Core: Anti-Tracking'
982 description: Tracking detection and content-blocking.
984 - toolkit/components/antitracking/**/*
985 # several files under browser/ and netwerk/url-classifier/ **TODO**
993 - 'Core::Privacy: Anti-Tracking'
1001 machine_name: core_antitracking
1003 - name: 'Core: APZ (Graphics submodule)'
1004 description: Asynchronous panning and zooming
1006 - gfx/layers/apz/**/*
1013 url: https://wiki.mozilla.org/Platform/GFX/APZ
1015 - Core::Panning and Zooming
1023 machine_name: core_apz_graphics_submodule
1025 - name: 'Core: Browser WebAPI'
1026 description: Web API for rendering apps, browser windows and widgets.
1028 - dom/browser-element/**/*
1039 machine_name: core_browser_webapi
1041 - name: 'Core: Build and Release Tools'
1042 description: Tools related to build and release automation and configuration of
1045 - tools/update-packaging/**/*
1046 - tools/update-verify/**/*
1048 group: release-engineering
1049 url: https://wiki.mozilla.org/ReleaseEngineering
1051 - Release Engineering::*
1055 machine_name: core_build_and_release_tools
1057 - name: 'Core: Build Config'
1058 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1063 - python/mozbuild/**/*
1064 - browser/config/mozconfigs/**/*
1082 url: :ref:`Build System`
1084 - Core::Build Config
1091 - name: 'Core: Build Config - Fennec'
1092 description: Submodule of the build config covering Fennec's build system
1097 - Core::Build Config
1101 machine_name: core_build_config_fennec
1103 - name: 'Core: Build Config - Taskgraph'
1104 description: Support for task-graph generation in decision, action, and cron
1105 tasks, including configuration of all tasks including those for CI, nightlies,
1106 and releases; as well as Docker and VM images used to execute those tasks.
1109 - Firefox Build System::Task Configuration
1122 machine_name: core_build_config_taskgraph
1123 machine_name: core_build_config
1125 - name: 'Core: Code Analysis and Debugging Tools'
1126 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1127 and other characteristics of it.
1130 - tools/leak-gauge/**/*
1131 - tools/performance/**/*
1134 group: dev-performance
1138 machine_name: core_code_analysis_and_debugging_tools
1140 - name: 'Core: Content Security'
1141 description: 'Native content-based security features enforced in the ContentSecurityManager,
1142 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1143 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1144 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1145 and top-level data: URI blocking.'
1157 - 'Core::DOM: Security'
1165 machine_name: core_content_security
1167 - name: 'Core: Cookies'
1170 - netwerk/cookie/**/*
1178 - Christian Biesinger
1183 - 'Core::Networking: Cookies'
1188 machine_name: core_cookies
1190 - name: 'Core: Crash reporting'
1191 description: Infrastructure and tools used to generate, submit and process crash
1192 reports. This includes the in-tree google-breakpad fork, the crash report generation
1193 machinery as well as the host tools used to dump symbols, analyse minidumps
1194 and generate stack traces.
1196 - toolkit/crashreporter/**/*
1197 - toolkit/components/crashes/**/*
1198 - tools/crashreporter/**/*
1199 - ipc/glue/CrashReporter*
1200 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1205 url: :ref:`Crash Reporter`
1207 - Toolkit::Crash Reporting
1213 machine_name: core_crash_reporting
1215 - name: 'Core: C++/Rust usage, tools, and style'
1216 description: Aspects of C++ use such as language feature usage, standard library
1217 versions/usage, compiler/toolchain versions, formatting and naming style, and
1218 aspects of Rust use as needs arise
1220 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1221 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1222 # - docs/code-quality/**/*
1223 # - docs/testing-rust-code/**/*
1224 # - docs/writing-rust-code/**/*
1239 machine_name: core_crust_usage_tools_and_style
1241 - name: 'Core: Cycle Collector'
1242 description: Code to break and collect objects within reference cycles
1244 - xpcom/base/nsCycleCollector.*
1245 # TODO "and some support headers"
1246 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1258 machine_name: core_cycle_collector
1260 - name: 'Core: DLL Services'
1261 description: Windows dynamic linker instrumentation and blocking
1263 - toolkit/xre/dllservices/**/*
1269 - Core::DLL Services
1274 machine_name: core_dll_services
1276 - name: 'Core: docshell'
1280 - uriloader/base/**/*
1286 - Christian Biesinger
1292 - Core::Document Navigation
1299 machine_name: core_docshell
1301 - name: 'Core: Document Object Model'
1305 exclude_module_paths: true
1322 url: http://developer.mozilla.org/en/docs/DOM
1325 - 'Core::DOM: CSS Object Model'
1326 - 'Core::DOM: Core & HTML'
1341 machine_name: core_document_object_model
1343 - name: 'Core: DOM File'
1344 description: DOM Blob, File and FileSystem APIs
1347 - dom/filesystem/**/*
1350 url: http://developer.mozilla.org/en/docs/DOM
1357 machine_name: core_dom_file
1359 - machine_name: core_dom_streams
1360 name: 'Core: DOM Streams'
1361 description: Streams Specification implementation
1372 url: http://developer.mozilla.org/en/docs/DOM
1375 - 'Core::DOM: Streams'
1376 - name: 'Core: Editor'
1391 machine_name: core_editor
1393 - name: 'Core: Event Handling'
1394 description: DOM Events and Event Handling
1397 # TODO "and event handling related code elsewhere"
1402 url: http://developer.mozilla.org/en/docs/DOM
1404 - 'Core::DOM: Events'
1405 - 'Core::DOM: UI Events & Focus Handling'
1411 machine_name: core_event_handling
1413 - machine_name: core_firefox_source_documentation
1414 name: 'Core: Firefox Source Documentation'
1415 description: The infrastructure platform used to generate Firefox's source documentation,
1416 excluding editorial control over the content.
1419 - tools/moztreedocs/
1426 - Developer Infrastructure::Source Documentation
1427 url: https://firefox-source-docs.mozilla.org/
1428 - name: 'Core: Gecko Profiler'
1429 description: Gecko's built-in profiler
1431 - tools/profiler/**/*
1432 - mozglue/baseprofiler/**/*
1437 - Shu-yu Guo (JS integration)
1438 - Thinker Lee (TaskTracer)
1439 - Cervantes Yu (TaskTracer)
1440 - Nicholas Nethercote
1446 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1448 - Core::Gecko Profiler
1455 machine_name: core_gecko_profiler
1457 - name: 'Core: GeckoView'
1458 description: Framework for embedding Gecko into Android applications
1460 - mobile/android/**/*
1461 - widget/android/**/*
1472 url: https://wiki.mozilla.org/Mobile/GeckoView
1474 - GeckoView::General
1480 machine_name: core_geckoview
1482 - name: 'Core: Global Key Bindings'
1483 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1484 and the like, as those are part of i18n.
1487 # TODO "and platform specific directories under it"
1489 group: dev-accessibility
1490 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1492 - 'Core::Keyboard: Navigation'
1497 machine_name: core_global_key_bindings
1499 - name: 'Core: Graphics'
1500 description: Mozilla graphics API
1508 - Benoit Girard(Compositor, Performance)
1510 - George Wright(Canvas2D)
1514 - John Daggett(text/fonts)
1515 - Benoit Jacob(gfx/gl)
1517 - Vladimir Vukicevic
1518 - James Willcox(Android)
1521 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1522 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1525 - 'Core::Graphics: Layers'
1526 - 'Core::Graphics: Text'
1527 - 'Core::Graphics: WebRender'
1528 - 'Core::GFX: Color Management'
1529 - 'Core::Canvas: 2D'
1530 - 'Core::Canvas: WebGL'
1542 machine_name: core_graphics
1545 description: Hardware Abstraction Layer
1551 - Core::Hardware Abstraction Layer (HAL)
1555 machine_name: core_hal
1557 - name: 'Core: HTML Parser'
1558 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1559 to the HTML specification, and is mostly translated automatically from Java
1565 url: http://about.validator.nu/
1567 - 'Core::HTML: Parser'
1572 machine_name: core_html_parser
1574 - name: 'Core: I18N Library'
1583 url: :ref:`Internationalization`
1585 - Core::Internationalization
1593 machine_name: core_i18n_library
1595 - name: 'Core: ImageLib'
1598 - media/libjpeg/**/*
1615 machine_name: core_imagelib
1617 - name: 'Core: IndexedDB'
1620 - dom/indexedDB/**/*
1628 url: https://developer.mozilla.org/en/IndexedDB
1630 - 'Core::DOM: IndexedDB'
1637 machine_name: core_indexeddb
1640 description: Native message-passing between threads and processes
1667 machine_name: core_ipc
1669 - name: 'Core: JavaScript'
1670 description: JavaScript engine (SpiderMonkey)
1694 - Nicholas Nethercote
1699 url: https://spidermonkey.dev/
1701 - Core::JavaScript Engine
1702 - 'Core::JavaScript: GC'
1703 - 'Core::JavaScript: Internationalization API'
1704 - 'Core::JavaScript: Standard Library'
1705 - 'Core::JavaScript: WebAssembly'
1727 machine_name: core_javascript
1729 - name: 'Core: JavaScript JIT'
1730 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1738 url: https://spidermonkey.dev/
1740 - 'Core::JavaScript Engine: JIT'
1756 machine_name: core_javascript_jit
1758 - name: 'Core: js-tests'
1759 description: JavaScript test suite
1763 group: dev-tech-js-engine
1764 url: http://www.mozilla.org/js/tests/library.html
1768 machine_name: core_jstests
1770 - name: 'Core: Layout Engine'
1771 description: rendering tree construction, layout (reflow), etc.
1777 - layout/generic/**/*
1778 - layout/printing/**/*
1779 - layout/tables/**/*
1788 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1791 - 'Core::Layout: Block and Inline'
1792 - 'Core::Layout: Columns'
1793 - 'Core::Layout: Flexbox'
1794 - 'Core::Layout: Floats'
1795 - 'Core::Layout: Form Controls'
1796 - 'Core::Layout: Generated Content, Lists, and Counters'
1797 - 'Core::Layout: Grid'
1798 - 'Core::Layout: Images, Video, and HTML Frames'
1799 - 'Core::Layout: Positioned'
1800 - 'Core::Layout: Ruby'
1801 - 'Core::Layout: Scrolling and Overflow'
1802 - 'Core::Layout: Tables'
1803 - 'Core::Layout: Text and Fonts'
1804 - Core::Print Preview
1805 - 'Core::Printing: Output'
1817 machine_name: core_layout_engine
1819 - name: 'Core: Legacy HTML Parser'
1822 - parser/htmlparser/**/*
1826 url: http://www.mozilla.org/newlayout/doc/parser.html
1828 - 'Core::HTML: Parser'
1835 machine_name: core_legacy_html_parser
1837 - name: 'Core: libjar'
1838 description: The JAR handling code (protocol handler, stream implementation, and
1839 zipreader/zipwriter).
1841 - modules/libjar/**/*
1851 - 'Core::Networking: JAR'
1857 machine_name: core_libjar
1859 - name: 'Core: MathML'
1860 description: MathML is a low-level specification for describing mathematics which
1861 provides a foundation for the inclusion of mathematical expressions in Web pages.
1863 - layout/mathml/**/*
1865 group: dev-tech-mathml
1866 url: https://developer.mozilla.org/docs/Web/MathML
1873 machine_name: core_mathml
1875 - name: 'Core: Media Playback'
1876 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
1877 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
1880 - media/gmp-clearkey/**/*
1881 - media/libcubeb/**/*
1882 - media/libnestegg/**/*
1884 - media/libopus/**/*
1885 - media/libtheora/**/*
1886 - media/libtremor/**/*
1887 - media/libvorbis/**/*
1889 - dom/media/platforms/omx/**/*
1890 - dom/media/gmp/rlz/**/*
1905 machine_name: core_media_playback
1907 - name: 'Core: Media Transport'
1908 description: Pluggable transport for real-time media
1910 - dom/media/webrtc/transport/**/*
1914 - Core::WebRTC::Networking
1921 machine_name: core_media_transport
1923 - name: 'Core: Memory Allocator'
1924 description: Most things related to memory allocation in Gecko, including jemalloc,
1925 replace-malloc, DMD (dark matter detector), logalloc, etc.
1931 - Nicholas Nethercote
1939 machine_name: core_memory_allocator
1941 - name: 'Core: mfbt'
1942 description: mfbt is a collection of headers, macros, data structures, methods,
1943 and other functionality available for use and reuse throughout all Mozilla code
1944 (including SpiderMonkey and Gecko more broadly).
1956 machine_name: core_mfbt
1958 - name: 'Core: Moz2D (Graphics submodule)'
1959 description: Platform independent 2D graphics API
1964 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
1972 machine_name: core_moz2d_graphics_submodule
1974 - name: 'Core: Mozglue'
1975 description: Glue library containing various low-level functionality, including
1976 a dynamic linker for Android, a DLL block list for Windows, etc.
1984 - Kartikaya Gupta (mozglue/android)
1989 machine_name: core_mozglue
1991 - name: 'Core: MSCOM'
1992 description: Integration with Microsoft Distributed COM
2002 - 'Core::IPC: MSCOM'
2005 machine_name: core_mscom
2007 - name: 'Core: Necko'
2008 description: The Mozilla Networking Library
2012 - netwerk/build/**/*
2013 - netwerk/cache/**/*
2015 - netwerk/locales/**/*
2017 - netwerk/protocol/**/*
2018 - netwerk/socket/**/*
2019 - netwerk/streamconv/**/*
2020 - netwerk/system/**/*
2025 - dom/websocket/**/*
2026 - uriloader/prefetch/**/*
2027 - uriloader/preload/**/*
2030 - Dragana Damjanovic
2032 - Christian Biesinger
2043 group: dev-tech-network
2044 url: :ref:`Networking`
2047 - 'Core::Networking: Cache'
2048 - 'Core::Networking: Cookies'
2049 - 'Core::Networking: FTP'
2050 - 'Core::Networking: File'
2051 - 'Core::Networking: HTTP'
2052 - 'Core::Networking: JAR'
2053 - 'Core::Networking: Websockets'
2054 - 'Core::DOM: Networking'
2060 machine_name: core_necko
2062 - name: 'Core: NodeJS usage, tools, and style'
2063 description: Advises on the use of NodeJS and npm packages at build and runtime.
2064 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2065 teams to maintain automated license and security audits of npm packages. Works
2066 with the security team and relevant developers to respond to vulnerabilities
2067 in NodeJS and vendored npm packages.
2072 # TODO: and others as appropriate
2076 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2085 machine_name: core_nodejs_usage_tools_and_style
2087 - name: 'Core: NSPR'
2088 description: Netscape Portable Runtime
2094 group: dev-tech-nspr
2102 machine_name: core_nspr
2105 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2108 - toolkit/components/pdfjs/**/*
2116 url: https://github.com/mozilla/pdf.js
2123 machine_name: core_pdf
2125 - name: 'Core: Permissions'
2128 - extensions/permissions/**/*
2137 - Christian Biesinger
2142 - 'Core :: Permission Manager'
2149 machine_name: core_permissions
2151 - name: 'Core: Plugins'
2152 description: ' NPAPI Plugin support.'
2164 url: https://wiki.mozilla.org/Plugins
2169 machine_name: core_plugins
2171 - name: 'Core: Preferences'
2172 description: Preference library
2174 - modules/libpref/**/*
2177 - Nicholas Nethercote
2183 - 'Core::Preferences: Backend'
2189 machine_name: core_preferences
2191 - name: 'Core: Private Browsing'
2192 description: Implementation of the Private Browsing mode, and the integration
2193 of other modules with Private Browsing APIs.
2196 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2197 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2205 url: https://wiki.mozilla.org/Private_Browsing
2207 - Firefox::Private Browsing
2212 machine_name: core_private_browsing
2214 - name: 'Core: Privilege Manager'
2215 description: Caps is the capabilities-based security system.
2224 url: http://www.mozilla.org/projects/security/components/index.html
2226 - 'Core::Security: CAPS'
2232 machine_name: core_privilege_manager
2234 - name: 'Core: Push Notifications'
2235 description: Push is a way for application developers to send messages to their
2246 - 'Core::DOM: Push Notifications'
2250 machine_name: core_push_notifications
2252 - name: 'Core: Sandboxing (Linux)'
2253 description: Sandboxing for the Linux platform
2255 - security/sandbox/linux/**/*
2258 url: https://wiki.mozilla.org/Security/Sandbox
2260 - 'Core::Security: Process Sandboxing'
2265 machine_name: core_sandboxing_linux
2267 - name: 'Core: Sandboxing (OSX)'
2268 description: Sandboxing for the OSX platform
2270 - security/sandbox/mac/**/*
2273 url: https://wiki.mozilla.org/Security/Sandbox
2275 - 'Core::Security: Process Sandboxing'
2279 machine_name: core_sandboxing_osx
2281 - name: 'Core: Sandboxing (Windows)'
2282 description: Sandboxing for the Windows platform
2284 - security/sandbox/win/**/*
2294 url: https://wiki.mozilla.org/Security/Sandbox
2296 - 'Core::Security: Process Sandboxing'
2301 machine_name: core_sandboxing_windows
2303 - name: 'Core: security'
2304 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2317 group: dev-tech-crypto
2318 url: :ref:`Network Security Services (NSS)`
2323 - 'Core::Security: S/MIME'
2336 machine_name: core_security
2338 - name: 'Core: Security - Mozilla PSM Glue'
2339 description: Personal Security Manager
2341 - security/manager/**/*
2344 - Kai Engert (2001-2012)
2345 group: dev-tech-crypto
2347 - 'Core::Security: PSM'
2356 machine_name: core_security_mozilla_psm_glue
2358 - machine_name: core_security_rlbox
2359 name: Security - RLBox
2360 description: Sandboxing using WASM/RLBox libraries.
2364 - third_party/rlbox_wasm2c_sandbox
2374 - 'Core::Security: RLBox'
2375 - name: 'Core: Static analysis & rewriting for C++'
2376 description: Tools for checking C++ code looking for problems at compile time,
2377 plus tools for automated rewriting of C++ code.
2379 - build/clang-plugin/**/*
2380 - tools/rewriting/**/*
2381 # TODO among other out of tree tools
2384 - Birunthan Mohanathas
2388 - Core::Rewriting & Analysis
2395 machine_name: core_static_analysis_rewriting_for_c
2397 - name: 'Core: storage'
2398 description: Storage APIs with a SQLite backend
2400 - third_party/sqlite3/**/*
2404 url: http://developer.mozilla.org/en/docs/Storage
2406 - Toolkit::Storage, Core::SQL
2412 machine_name: core_storage
2414 - name: 'Core: String'
2419 group: dev-tech-xpcom
2420 url: :ref:`String Guide`
2427 machine_name: core_string
2429 - name: 'Core: Style System'
2430 description: CSS style sheet handling; style data computation
2441 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2443 - Core::CSS Parsing and Computation
2449 machine_name: core_style_system
2452 description: Scalable Vector Graphics
2459 url: https://developer.mozilla.org/docs/Web/SVG
2469 machine_name: core_svg
2471 - name: 'Core: UA String'
2472 description: User Agent String
2474 - netwerk/protocol/http/**/*
2477 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2479 - 'Core::Networking: HTTP'
2485 machine_name: core_ua_string
2487 - name: 'Core: View System'
2488 description: The View Manager is responsible for handling "heavyweight" rendering
2489 (some clipping, compositing) and event handling tasks.
2497 - 'Core::Layout: View Rendering'
2503 machine_name: core_view_system
2505 - name: 'Core: Web Audio'
2506 description: Support for the W3C Web Audio API specification.
2508 - dom/media/webaudio/**/*
2513 url: https://wiki.mozilla.org/Web_Audio_API
2521 machine_name: core_web_audio
2523 - name: 'Core: Web Painting'
2524 description: painting, display lists, and layer construction
2526 - layout/painting/**/*
2527 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2530 url: :ref:`Layout & CSS`
2532 - 'Core::Layout: Web Painting'
2543 machine_name: core_web_painting
2545 - name: 'Core: Web Workers'
2558 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2560 - 'Core::DOM: Workers'
2566 machine_name: core_web_workers
2568 - name: 'Core: WebGPU (Graphics submodule)'
2569 description: WebGPU implementation
2574 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2576 - Core::Graphics::WebGPU
2582 machine_name: core_webgpu_graphics_submodule
2584 - name: 'Core: WebRTC'
2585 description: WebRTC is responsible for realtime audio and video communication,
2586 as well as related issues like low-level camera and microphone access
2589 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2594 url: https://wiki.mozilla.org/Media/webrtc
2597 - Core::WebRTC Networking
2604 machine_name: core_webrtc
2606 - name: 'Core: WebVR'
2607 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2608 including API, devices, graphics and integration
2614 - Vladimir Vukicevic
2617 url: https://mozvr.com/
2626 - name: 'Core: WebRTC Media'
2627 description: Submodule of WebRTC responsible for access to media input devices
2628 (microphones, cameras, screen capture), as well as realtime audiovisual
2629 codecs and packetization.
2632 - dom/media/webrtc/**/*
2633 - dom/media/systemservices/**/*
2639 url: https://wiki.mozilla.org/Media/webrtc
2641 - Core::WebRTC (Audio/Video)
2648 machine_name: core_webrtc_media
2650 - name: 'Core: WebRTC Signaling'
2651 description: Submodule of WebRTC responsible for implementation of PeerConnection
2652 API, WebRTC identity, and SDP/JSEP handling
2654 - media/webrtc/signaling/**/*
2659 url: https://wiki.mozilla.org/Media/webrtc
2661 - Core::WebRTC (Signaling)
2669 machine_name: core_webrtc_signaling
2670 machine_name: core_webvr
2672 - name: 'Core: Widget'
2673 description: Top level Widget
2678 - Vladimir Vukicevic
2685 - Core::Drag and Drop
2687 - 'Core::Printing: Setup'
2690 machine_name: core_widget
2692 - name: 'Core: Widget - Android'
2693 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2698 machine_name: core_widget_android
2700 - name: 'Core: Widget - GTK'
2701 description: GTK widget support
2708 url: http://www.mozilla.org/ports/gtk/
2710 - 'Core::Widget: Gtk'
2715 machine_name: core_widget_gtk
2717 - name: 'Core: Widget - Headless'
2718 description: Headless widget support
2720 - widget/headless/**/*
2729 machine_name: core_widget_headless
2731 - name: 'Core: Widget - macOS'
2732 description: ' macOS widget support'
2745 - 'Core::Widget: Cocoa'
2751 machine_name: core_widget_macos
2753 - name: 'Core: Widget - Windows'
2754 description: Windows widget support
2756 - widget/windows/**/*
2762 - Vladimir Vukicevic
2765 - Christian Biesinger
2767 - Josh 'timeless' Soref
2774 - 'Core::Widget: Win32'
2780 machine_name: core_widget_windows
2783 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2784 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2785 that are not covered by more specific projects.
2801 machine_name: core_xml
2803 - name: 'Core: XPApps'
2804 description: Cross-Platform Applications, mostly Navigator front end and application
2809 group: dev-apps-seamonkey
2813 - Josh 'timeless' Soref
2816 machine_name: core_xpapps
2818 - name: 'Core: XPCOM'
2819 description: The cross-platform object model and core data structures.
2825 - xpcom/components/**/*
2829 - xpcom/reflect/**/*
2833 - xpcom/threads/**/*
2834 - xpcom/windbgdlg/**/*
2855 machine_name: core_xpcom
2857 - name: 'Core: XPConnect'
2858 description: Deep Magic
2877 machine_name: core_xpconnect
2879 - name: 'Core: XPIDL'
2880 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
2881 runtime type description files from .idl interface description files.
2883 - xpcom/idl-parser/**/*
2890 - Josh 'timeless' Soref
2891 group: dev-tech-xpcom
2897 machine_name: core_xpidl
2899 - name: 'Core: XSLT Processor'
2900 description: XSLT transformations processor
2908 group: dev-tech-xslt
2909 url: https://developer.mozilla.org/docs/Web/XSLT
2915 machine_name: core_xslt_processor
2917 - name: Desktop Firefox
2918 description: Standalone Web Browser.
2931 - Tim Guan-tin Chien
2961 - name: Add-ons Manager
2962 description: Extension management back-end.
2964 - toolkit/mozapps/extensions/**/*
2978 machine_name: addons_manager
2980 - name: Add-ons Manager UI
2981 description: about:addons.
2983 - toolkit/mozapps/extensions/content/**/*
2996 machine_name: addons_manager_ui
2998 - name: Application Update
2999 description: The application update services.
3001 - toolkit/mozapps/update/**/*
3008 machine_name: application_update
3010 - name: Bookmarks & History
3011 description: The bookmarks and history services (Places).
3013 - browser/components/places/**/*
3014 - toolkit/components/places/**/*
3021 machine_name: bookmarks_history
3023 - name: Desktop Theme
3024 description: The style rules used in the desktop UI.
3026 - browser/themes/**/*
3027 - toolkit/themes/**/*
3040 machine_name: desktop_theme
3043 description: The main browser UI except where covered by more specific submodules.
3045 - browser/base/content/**/*
3052 machine_name: desktop_ui
3054 - name: Download Manager
3055 description: The downloads UI and service.
3057 - browser/components/downloads/**/*
3058 - toolkit/mozapps/downloads/**/*
3059 - uriloader/exthandler/**/*
3067 machine_name: download_manager
3069 - name: Enterprise Policies
3070 description: System policies for controlling Firefox.
3072 - browser/components/enterprisepolicies/**/*
3077 machine_name: enterprise_policies
3079 - name: Experiments/Rollouts
3080 description: Desktop clients for our experiments and off-train deployments
3083 - toolkit/components/normandy/**/*
3084 - toolkit/components/nimbus/**/*
3090 - Firefox::Nimbus Desktop Client
3091 url: https://experimenter.info/
3097 machine_name: normandy
3099 - name: Form Autofill
3100 description: Form detection and autocomplete.
3102 - browser/extensions/formautofill/**/*
3103 - toolkit/components/satchel/**/*
3106 - Matthew Noorenberghe
3112 machine_name: form_autofill
3114 - name: In-product Messaging
3115 description: The system for delivering in-product messaging.
3117 - toolkit/components/messaging-system/**/*
3120 - Firefox::Messaging System
3127 machine_name: inproduct_messaging
3129 - name: Launcher Process
3130 description: Windows process for bootstrapping the browser process.
3132 - browser/app/winlauncher/**/*
3138 - Firefox::Launcher Process
3143 machine_name: launcher_process
3145 - machine_name: localization
3147 description: Tooling to enable translation and facilitate localization.
3155 - name: New Tab Page
3156 description: The new tab/home page.
3158 - browser/components/newtab/**/*
3161 - Firefox::New Tab Page
3168 machine_name: new_tab_page
3171 description: The onboarding experience including UI tours.
3173 - browser/components/uitour/**/*
3181 machine_name: onboarding
3183 - name: Password Manager
3184 description: Managing, saving and filling logins.
3186 - toolkit/components/passwordmgr/**/*
3187 - browser/components/aboutlogins/**/*
3190 - Matthew Noorenberghe
3194 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3196 - Toolkit::Password Manager
3197 - 'Toolkit::Password Manager: Site'
3199 - Firefox::about:logins
3207 machine_name: password_manager
3209 - machine_name: firefox_pip
3210 name: Picture-in-Picture
3211 description: A component that allows video elements to be pulled out into
3212 an always-on-top window.
3214 - toolkit/components/pictureinpicture
3215 - browser/extensions/pictureinpicture
3227 - name: Profile Migration
3228 description: Migrating data from other browsers.
3230 - browser/components/migration/**/*
3237 machine_name: profile_migration
3240 description: Code relating to Screenshots functionality
3242 - browser/extensions/screenshots/**/*
3243 - browser/components/screenshots/**/*
3251 - Firefox::Screenshots
3257 machine_name: screenshots
3259 - name: Search and Address Bar
3260 description: The search service, address bar and address bar autocomplete.
3262 - browser/components/search/**/*
3263 - browser/components/urlbar/**/*
3264 - toolkit/components/search/**/*
3267 - Firefox::Address Bar
3279 machine_name: search_and_address_bar
3281 - name: Security and Privacy UI
3282 description: The front-end to our security and privacy features, including
3283 Protections UI, Site Identity, Site Permissions and Certificate Errors
3285 - browser/components/protections/**/*
3286 - browser/components/controlcenter/**/*
3290 - Nihanth Subramanya
3295 - Firefox::Protections UI
3296 - Firefox::Site Identity
3297 - Firefox::Site Permissions
3302 machine_name: security_and_privacy_ui
3304 - name: Session Restore
3305 description: Restoring a user's session after starting Firefox.
3307 - browser/components/sessionstore/**/*
3308 - toolkit/components/sessionstore/**/*
3316 - Firefox::Session Restore
3322 machine_name: session_restore
3325 description: The front-end settings user interface.
3327 - browser/components/preferences/**/*
3328 - browser/themes/*/preferences
3329 - toolkit/mozapps/preferences
3340 machine_name: settings_ui
3342 - name: Tabbed Browser
3343 description: The UI component controlling browser tabs.
3345 # TODO double check that this works as expected
3346 - browser/base/content/tabbrowser*
3347 - browser/modules/AsyncTabSwitcher.jsm
3350 - Firefox::Tabbed Browser
3354 machine_name: tabbed_browser
3356 - name: Windows Installer
3357 description: The installer for Windows.
3359 - browser/installer/**/*
3360 - toolkit/mozapps/installer/**/*
3363 - Firefox::Installer
3369 machine_name: windows_installer
3370 machine_name: desktop_firefox
3372 - machine_name: marionette
3374 description: Marionette is a remote protocol that lets out-of-process programs
3375 communicate with, instrument, and control Gecko-based browsers. Combined with
3376 geckodriver, this forms our WebDriver implementation.
3378 - testing/marionette/**/*
3387 - 'Testing :: Marionette'
3395 - machine_name: mozharness
3397 description: Configuration-driven script harness.
3399 - testing/mozharness/**/*
3408 - 'Release Engineering :: Applications: MozharnessCore'
3409 - machine_name: python_usage
3410 name: Python usage, tools, and style
3411 description: Aspects of Python use such as tooling, formatting and naming style
3413 - tools/lint/python/**/*
3423 - 'Developer Infrastructure :: Lint and Formatting'
3424 - machine_name: testing_firefox_ui
3426 description: Firefox UI test framework.
3428 - testing/firefox-ui/**/*
3436 - 'Testing :: Firefox UI'
3437 - machine_name: testing_geckodriver
3439 description: Proxy for using W3C WebDriver-compatible clients to interact with
3440 Gecko-based browsers.
3442 - testing/geckodriver/**/*
3450 - 'Testing :: geckodriver'
3451 - machine_name: testing_gtest
3453 description: GTest test harness.
3455 - testing/gtest/**/*
3462 - 'Testing :: GTest'
3463 - machine_name: testing_mochitest
3465 description: Mochitest test framework
3467 - testing/mochitest/**/*
3476 - 'Testing :: Mochitest'
3477 - machine_name: testing_mozbase
3479 description: Base modules used for implementing test components.
3492 - 'Testing :: Mozbase'
3493 - 'Testing :: Mozbase Rust'
3494 - machine_name: testing_performance_testing
3495 name: Performance Testing
3496 description: 'This module encompasses all of our performance test frameworks:
3497 Raptor, Talos, MozPerfTest, AWSY.'
3499 - testing/raptor/**/*
3500 - testing/talos/**/*
3501 - python/mozperftest/**/*
3510 - 'Testing :: Raptor'
3511 - 'Testing :: Talos'
3513 - 'Testing :: Performance'
3514 - machine_name: testing_reftest
3515 name: Reftest (+ jsreftest + crashtest)
3516 description: Reftest test framework
3518 - layout/tools/reftest/**/*
3527 - 'Testing :: Reftest'
3528 - machine_name: testing_tryselect
3530 description: Frontend for selecting jobs on the try server.
3532 - tools/tryselect/**/*
3540 - 'Firefox Build System :: Try'
3541 - machine_name: testing_web_platform_tests_infrastructure
3542 name: web-platform-tests infrastructure
3543 description: Infrastructure for running the cross-browser web-platform-tests
3545 - testing/web-platform/**/*
3546 - testing/web-platform/tests/tools/**/*
3548 - testing/web-platform/tests/**/*
3549 - testing/web-platform/meta/**/*
3550 - testing/web-platform/mozilla/**/*
3556 - 'Testing :: web-platform-tests'
3557 - machine_name: testing_xpcshell
3559 description: XPCShell test harness.
3561 - testing/xpcshell/**/*
3569 - Testing::XPCShell Harness
3571 description: Components shared between desktop and mobile browsers.
3588 - name: Application Startup
3589 description: The profile system and startup process before the front-end launches.
3591 - toolkit/profile/**/*
3592 - toolkit/components/remote/**/*
3599 machine_name: application_startup
3603 The core infrastructure in the Firefox client to send back telemetry
3604 data. Includes the common mechanisms to record, view and submit data: Legacy
3605 Telemetry and Glean (via Firefox on Glean (FOG)). This module
3606 does ''not'' include responsibility for every piece of submitted Telemetry
3607 data. Each team/module is responsible for their own measurements (histograms,
3608 scalars, other ping submissions, etc.).
3610 - toolkit/components/glean/**/*
3611 - toolkit/components/telemetry/**/*
3612 - toolkit/content/aboutTelemetry.*
3617 url: :ref:`Telemetry`
3625 machine_name: telemetry
3628 description: The base widgets used throughout the UI.
3630 - toolkit/content/widgets/**/*
3637 machine_name: ui_widgets
3639 - name: Webextensions
3640 description: Webextension APIs and integration.
3642 - browser/components/extensions/**/*
3643 - toolkit/components/extensions/**/*
3655 machine_name: webextensions
3656 machine_name: toolkit
3658 config: 426b6ba19d817c9605570db5f5dac05d36d435b9
3659 export: 2433164179899f1b2b2e051ef36d27744b9e1f6e