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-05-08T10:19:39.816442'
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
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
148 name: Hubert Boma Manilla
159 name: Bryce Seager van Dyk
170 name: Benjamin VanderSloot
186 name: Calixte Denizet
197 name: Nazım Can Altınova
201 name: Caroline Cullen
213 name: Christoph Kerschbaumer
225 name: Daisuke Akatsuka
289 name: Dragana Damjanovic
325 name: Emilio Cobos Álvarez
329 name: Masatoshi Kimura
348 name: Nick Fitzgerald
352 name: Francesco Lodolo
368 name: Gian-Carlo Pascutto
390 name: Gabriele Svelto
394 name: Haik Aftandilian
402 name: Hiroyuki Ikezoe
410 name: Jan Honza Odvarko
434 name: Jan-Erik Rediger
454 name: Julian Descottes
482 name: Jan-Ivar Bruaroey
510 name: Jonathan Almeida
541 name: Jean-Yves Avenard
569 name: Kimberly Sereduck
570 nick: kimberlythegeek
597 name: Dzmitry Malyshau
609 name: Lougenia Bailey
625 name: Marco Castelluccio
641 name: Masayuki Nakano
650 nick: MatsPalmgren_bugz
657 name: Andrew McCreight
689 name: Morgan Reschenberg
729 name: Nicolas Chevobbe
741 name: Niklas Baumgardner
753 name: Alexandre Poirot
777 name: Andreas Pehrson
785 name: Peter Van der Beken
825 name: Alexandra Borovova
853 name: Shravan Narayan
869 name: Greg Mierzwinski
885 name: Martin Stránský
892 name: Sylvestre Ledru
935 name: Toshihito Kikuchi
1002 name: Tomislav Jovanovic
1005 - name: mozilla-toplevel
1006 description: The top level directory for the mozilla tree.
1009 # TODO: verify, as this was toolkit/README
1014 # - Technical Leadership Module
1017 machine_name: _mozillatoplevel
1019 - machine_name: code_coverage
1021 description: Tools for code coverage instrumentation, and coverage data parsing
1024 - tools/code-coverage/**/*
1025 - python/mozbuild/mozbuild/codecoverage/**/*
1026 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1035 - 'Testing :: Code Coverage'
1036 - name: 'Core: Accessibility'
1037 description: Support for platform accessibility APIs. Accessibility APIs are used
1038 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1039 software, which need information about document content and UI controls, as
1040 well as important events like changes of focus.
1053 group: dev-accessibility
1054 url: https://developer.mozilla.org/docs/Web/Accessibility
1056 - Core::Disability Access APIs
1063 machine_name: core_accessibility
1065 - name: 'Core: Animation'
1066 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1067 API, and off-main thread animations.'
1069 - dom/animation/**/*
1070 # TODO "and animation-related and interpolation-related code
1071 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1075 - Core::DOM::Animation
1076 - Core::CSS Transitions and Animations
1084 machine_name: core_animation
1086 - name: 'Core: Anti-Tracking'
1087 description: Tracking detection and content-blocking.
1089 - toolkit/components/antitracking/**/*
1090 # several files under browser/ and netwerk/url-classifier/ **TODO**
1098 - 'Core::Privacy: Anti-Tracking'
1106 machine_name: core_antitracking
1108 - name: 'Core: APZ (Graphics submodule)'
1109 description: Asynchronous panning and zooming
1111 - gfx/layers/apz/**/*
1118 url: https://wiki.mozilla.org/Platform/GFX/APZ
1120 - Core::Panning and Zooming
1128 machine_name: core_apz_graphics_submodule
1130 - name: 'Core: Browser WebAPI'
1131 description: Web API for rendering apps, browser windows and widgets.
1133 - dom/browser-element/**/*
1144 machine_name: core_browser_webapi
1146 - name: 'Core: Build and Release Tools'
1147 description: Tools related to build and release automation and configuration of
1150 - tools/update-packaging/**/*
1151 - tools/update-verify/**/*
1155 group: release-engineering
1156 url: https://wiki.mozilla.org/ReleaseEngineering
1158 - Release Engineering::*
1164 machine_name: core_build_and_release_tools
1166 - name: 'Core: Build Config'
1167 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1172 - python/mozbuild/**/*
1173 - browser/config/mozconfigs/**/*
1191 url: :ref:`Build System`
1193 - Core::Build Config
1200 - name: 'Core: Build Config - Fennec'
1201 description: Submodule of the build config covering Fennec's build system
1206 - Core::Build Config
1210 machine_name: core_build_config_fennec
1212 - name: 'Core: Build Config - Taskgraph'
1213 description: Support for task-graph generation in decision, action, and cron
1214 tasks, including configuration of all tasks including those for CI, nightlies,
1215 and releases; as well as Docker and VM images used to execute those tasks.
1220 - Firefox Build System::Task Configuration
1236 machine_name: core_build_config_taskgraph
1237 machine_name: core_build_config
1239 - name: 'Core: Code Analysis and Debugging Tools'
1240 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1241 and other characteristics of it.
1244 - tools/leak-gauge/**/*
1245 - tools/performance/**/*
1248 group: dev-performance
1252 machine_name: core_code_analysis_and_debugging_tools
1254 - name: 'Core: Content Security'
1255 description: 'Native content-based security features enforced in the ContentSecurityManager,
1256 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1257 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1258 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1259 and top-level data: URI blocking.'
1271 - 'Core::DOM: Security'
1279 machine_name: core_content_security
1281 - name: 'Core: Cookies'
1284 - netwerk/cookie/**/*
1293 - Christian Biesinger
1299 - 'Core::Networking: Cookies'
1308 machine_name: core_cookies
1310 - name: 'Core: Crash reporting'
1311 description: Infrastructure and tools used to generate, submit and process crash
1312 reports. This includes the in-tree google-breakpad fork, the crash report generation
1313 machinery as well as the host tools used to dump symbols, analyse minidumps
1314 and generate stack traces.
1316 - toolkit/crashreporter/**/*
1317 - toolkit/components/crashes/**/*
1318 - tools/crashreporter/**/*
1319 - ipc/glue/CrashReporter*
1320 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1325 url: :ref:`Crash Reporter`
1327 - Toolkit::Crash Reporting
1333 machine_name: core_crash_reporting
1335 - machine_name: core_credentials
1336 name: 'Core: Credentials'
1337 description: API Surface for FedCM and WebAuthn
1339 - toolkit/components/credentialmanagement/**/*
1340 - browser/components/credentialmanager/**/*
1341 - dom/credentialmanagement/**/*
1353 - 'Core::DOM: Credential Management'
1354 - 'Core::DOM: Web Authentication'
1356 - name: 'Core: C++/Rust usage, tools, and style'
1357 description: Aspects of C++ use such as language feature usage, standard library
1358 versions/usage, compiler/toolchain versions, formatting and naming style, and
1359 aspects of Rust use as needs arise
1361 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1362 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1363 # - docs/code-quality/**/*
1364 # - docs/testing-rust-code/**/*
1365 # - docs/writing-rust-code/**/*
1380 machine_name: core_crust_usage_tools_and_style
1382 - name: 'Core: Cycle Collector'
1383 description: Code to break and collect objects within reference cycles
1385 - xpcom/base/nsCycleCollect*
1386 # TODO "and some support headers"
1387 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1393 - Core::Cycle Collector
1399 machine_name: core_cycle_collector
1401 - name: 'Core: DLL Services'
1402 description: Windows dynamic linker instrumentation and blocking
1404 - toolkit/xre/dllservices/**/*
1410 - Core::DLL Services
1415 machine_name: core_dll_services
1417 - name: 'Core: docshell'
1421 - uriloader/base/**/*
1427 - Christian Biesinger
1433 - Core::Document Navigation
1440 machine_name: core_docshell
1442 - name: 'Core: Document Object Model'
1446 exclude_module_paths: true
1463 url: http://developer.mozilla.org/en/docs/DOM
1466 - 'Core::DOM: Core & HTML'
1482 machine_name: core_document_object_model
1484 - name: 'Core: DOM File'
1485 description: DOM Blob, File and FileSystem APIs
1488 - dom/filesystem/**/*
1491 url: http://developer.mozilla.org/en/docs/DOM
1498 machine_name: core_dom_file
1500 - machine_name: core_dom_streams
1501 name: 'Core: DOM Streams'
1502 description: Streams Specification implementation
1513 url: http://developer.mozilla.org/en/docs/DOM
1516 - 'Core::DOM: Streams'
1519 - name: 'Core: Editor'
1534 machine_name: core_editor
1536 - name: 'Core: Event Handling'
1537 description: DOM Events and Event Handling
1540 # TODO "and event handling related code elsewhere"
1545 url: http://developer.mozilla.org/en/docs/DOM
1547 - 'Core::DOM: Events'
1548 - 'Core::DOM: UI Events & Focus Handling'
1554 machine_name: core_event_handling
1556 - machine_name: core_firefox_source_documentation
1557 name: 'Core: Firefox Source Documentation'
1558 description: The infrastructure platform used to generate Firefox's source documentation,
1559 excluding editorial control over the content.
1562 - tools/moztreedocs/
1569 - Developer Infrastructure::Source Documentation
1570 url: https://firefox-source-docs.mozilla.org/
1571 - name: 'Core: Gecko Profiler'
1572 description: Gecko's built-in profiler
1574 - tools/profiler/**/*
1575 - mozglue/baseprofiler/**/*
1580 - Shu-yu Guo (JS integration)
1581 - Thinker Lee (TaskTracer)
1582 - Cervantes Yu (TaskTracer)
1583 - Nicholas Nethercote
1589 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1591 - Core::Gecko Profiler
1598 machine_name: core_gecko_profiler
1600 - name: 'Core: GeckoView'
1601 description: Framework for embedding Gecko into Android applications
1603 - mobile/android/**/*
1604 - widget/android/**/*
1616 url: https://wiki.mozilla.org/Mobile/GeckoView
1618 - GeckoView::General
1626 machine_name: core_geckoview
1628 - name: 'Core: Global Key Bindings'
1629 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1630 and the like, as those are part of i18n.
1633 # TODO "and platform specific directories under it"
1635 group: dev-accessibility
1636 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1638 - 'Core::Keyboard: Navigation'
1643 machine_name: core_global_key_bindings
1645 - name: 'Core: Graphics'
1646 description: Mozilla graphics API
1654 - Benoit Girard(Compositor, Performance)
1656 - George Wright(Canvas2D)
1660 - John Daggett(text/fonts)
1661 - Benoit Jacob(gfx/gl)
1663 - Vladimir Vukicevic
1664 - James Willcox(Android)
1667 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1668 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1671 - 'Core::Graphics: Layers'
1672 - 'Core::Graphics: Text'
1673 - 'Core::Graphics: WebRender'
1674 - 'Core::GFX: Color Management'
1675 - 'Core::Canvas: 2D'
1676 - 'Core::Canvas: WebGL'
1688 machine_name: core_graphics
1691 description: Hardware Abstraction Layer
1697 - Core::Hardware Abstraction Layer (HAL)
1701 machine_name: core_hal
1703 - name: 'Core: HTML Parser'
1704 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1705 to the HTML specification, and is mostly translated automatically from Java
1711 url: http://about.validator.nu/
1713 - 'Core::HTML: Parser'
1718 machine_name: core_html_parser
1720 - name: 'Core: I18N Library'
1729 url: :ref:`Internationalization`
1731 - Core::Internationalization
1739 machine_name: core_i18n_library
1741 - name: 'Core: ImageLib'
1744 - media/libjpeg/**/*
1761 machine_name: core_imagelib
1763 - name: 'Core: IndexedDB'
1766 - dom/indexedDB/**/*
1774 url: https://developer.mozilla.org/en/IndexedDB
1776 - 'Core::DOM: IndexedDB'
1783 machine_name: core_indexeddb
1786 description: Native message-passing between threads and processes
1813 machine_name: core_ipc
1815 - name: 'Core: JavaScript'
1816 description: JavaScript engine (SpiderMonkey)
1840 - Nicholas Nethercote
1845 url: https://spidermonkey.dev/
1847 - Core::JavaScript Engine
1848 - 'Core::JavaScript: GC'
1849 - 'Core::JavaScript: Internationalization API'
1850 - 'Core::JavaScript: Standard Library'
1851 - 'Core::JavaScript: WebAssembly'
1873 machine_name: core_javascript
1875 - name: 'Core: JavaScript JIT'
1876 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1884 url: https://spidermonkey.dev/
1886 - 'Core::JavaScript Engine: JIT'
1902 machine_name: core_javascript_jit
1904 - name: 'Core: js-tests'
1905 description: JavaScript test suite
1909 group: dev-tech-js-engine
1910 url: http://www.mozilla.org/js/tests/library.html
1914 machine_name: core_jstests
1916 - name: 'Core: Layout Engine'
1917 description: rendering tree construction, layout (reflow), etc.
1923 - layout/generic/**/*
1924 - layout/printing/**/*
1925 - layout/tables/**/*
1934 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1937 - 'Core::Layout: Block and Inline'
1938 - 'Core::Layout: Columns'
1939 - 'Core::Layout: Flexbox'
1940 - 'Core::Layout: Floats'
1941 - 'Core::Layout: Form Controls'
1942 - 'Core::Layout: Generated Content, Lists, and Counters'
1943 - 'Core::Layout: Grid'
1944 - 'Core::Layout: Images, Video, and HTML Frames'
1945 - 'Core::Layout: Positioned'
1946 - 'Core::Layout: Ruby'
1947 - 'Core::Layout: Scrolling and Overflow'
1948 - 'Core::Layout: Tables'
1949 - 'Core::Layout: Text and Fonts'
1950 - Core::Print Preview
1951 - 'Core::Printing: Output'
1963 machine_name: core_layout_engine
1965 - name: 'Core: Legacy HTML Parser'
1968 - parser/htmlparser/**/*
1972 url: http://www.mozilla.org/newlayout/doc/parser.html
1974 - 'Core::HTML: Parser'
1981 machine_name: core_legacy_html_parser
1983 - name: 'Core: libjar'
1984 description: The JAR handling code (protocol handler, stream implementation, and
1985 zipreader/zipwriter).
1987 - modules/libjar/**/*
1997 - 'Core::Networking: JAR'
2003 machine_name: core_libjar
2005 - name: 'Core: MathML'
2006 description: MathML is a low-level specification for describing mathematics which
2007 provides a foundation for the inclusion of mathematical expressions in Web pages.
2009 - layout/mathml/**/*
2011 group: dev-tech-mathml
2012 url: https://developer.mozilla.org/docs/Web/MathML
2019 machine_name: core_mathml
2021 - name: 'Core: Media Playback'
2022 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2023 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2026 - media/gmp-clearkey/**/*
2027 - media/libcubeb/**/*
2028 - media/libnestegg/**/*
2030 - media/libopus/**/*
2031 - media/libtheora/**/*
2032 - media/libtremor/**/*
2033 - media/libvorbis/**/*
2035 - dom/media/platforms/omx/**/*
2036 - dom/media/gmp/rlz/**/*
2051 machine_name: core_media_playback
2053 - name: 'Core: Media Transport'
2054 description: Pluggable transport for real-time media
2056 - dom/media/webrtc/transport/**/*
2060 - Core::WebRTC::Networking
2067 machine_name: core_media_transport
2069 - name: 'Core: Memory Allocator'
2070 description: Most things related to memory allocation in Gecko, including jemalloc,
2071 replace-malloc, DMD (dark matter detector), logalloc, etc.
2077 - Nicholas Nethercote
2085 machine_name: core_memory_allocator
2087 - name: 'Core: mfbt'
2088 description: mfbt is a collection of headers, macros, data structures, methods,
2089 and other functionality available for use and reuse throughout all Mozilla code
2090 (including SpiderMonkey and Gecko more broadly).
2102 machine_name: core_mfbt
2104 - name: 'Core: Moz2D (Graphics submodule)'
2105 description: Platform independent 2D graphics API
2110 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2118 machine_name: core_moz2d_graphics_submodule
2120 - name: 'Core: Mozglue'
2121 description: Glue library containing various low-level functionality, including
2122 a dynamic linker for Android, a DLL block list for Windows, etc.
2130 - Kartikaya Gupta (mozglue/android)
2135 machine_name: core_mozglue
2137 - name: 'Core: MSCOM'
2138 description: Integration with Microsoft Distributed COM
2148 - 'Core::IPC: MSCOM'
2151 machine_name: core_mscom
2153 - name: 'Core: Necko'
2154 description: The Mozilla Networking Library
2158 - netwerk/build/**/*
2159 - netwerk/cache2/**/*
2161 - netwerk/locales/**/*
2163 - netwerk/protocol/**/*
2164 - netwerk/socket/**/*
2165 - netwerk/streamconv/**/*
2166 - netwerk/system/**/*
2171 - dom/websocket/**/*
2172 - uriloader/prefetch/**/*
2173 - uriloader/preload/**/*
2176 - Dragana Damjanovic
2178 - Christian Biesinger
2189 group: dev-tech-network
2190 url: :ref:`Networking`
2193 - 'Core::Networking: Cache'
2194 - 'Core::Networking: Cookies'
2195 - 'Core::Networking: FTP'
2196 - 'Core::Networking: File'
2197 - 'Core::Networking: HTTP'
2198 - 'Core::Networking: JAR'
2199 - 'Core::Networking: Websockets'
2200 - 'Core::DOM: Networking'
2206 machine_name: core_necko
2208 - name: 'Core: NodeJS usage, tools, and style'
2209 description: Advises on the use of NodeJS and npm packages at build and runtime.
2210 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2211 teams to maintain automated license and security audits of npm packages. Works
2212 with the security team and relevant developers to respond to vulnerabilities
2213 in NodeJS and vendored npm packages.
2218 # TODO: and others as appropriate
2222 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2231 machine_name: core_nodejs_usage_tools_and_style
2233 - name: 'Core: NSPR'
2234 description: Netscape Portable Runtime
2240 group: dev-tech-nspr
2248 machine_name: core_nspr
2251 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2254 - toolkit/components/pdfjs/**/*
2262 url: https://github.com/mozilla/pdf.js
2269 machine_name: core_pdf
2271 - name: 'Core: Permissions'
2274 - extensions/permissions/**/*
2283 - Christian Biesinger
2288 - 'Core :: Permission Manager'
2295 machine_name: core_permissions
2297 - name: 'Core: Plugins'
2298 description: ' NPAPI Plugin support.'
2310 url: https://wiki.mozilla.org/Plugins
2315 machine_name: core_plugins
2317 - name: 'Core: Preferences'
2318 description: Preference library
2320 - modules/libpref/**/*
2323 - Nicholas Nethercote
2329 - 'Core::Preferences: Backend'
2335 machine_name: core_preferences
2337 - name: 'Core: Private Browsing'
2338 description: Implementation of the Private Browsing mode, and the integration
2339 of other modules with Private Browsing APIs.
2342 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2343 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2351 url: https://wiki.mozilla.org/Private_Browsing
2353 - Firefox::Private Browsing
2358 machine_name: core_private_browsing
2360 - name: 'Core: Privilege Manager'
2361 description: Caps is the capabilities-based security system.
2370 url: http://www.mozilla.org/projects/security/components/index.html
2372 - 'Core::Security: CAPS'
2378 machine_name: core_privilege_manager
2380 - name: 'Core: Push Notifications'
2381 description: Push is a way for application developers to send messages to their
2392 - 'Core::DOM: Push Notifications'
2396 machine_name: core_push_notifications
2398 - name: 'Core: Sandboxing (Linux)'
2399 description: Sandboxing for the Linux platform
2401 - security/sandbox/linux/**/*
2404 url: https://wiki.mozilla.org/Security/Sandbox
2406 - 'Core::Security: Process Sandboxing'
2411 machine_name: core_sandboxing_linux
2413 - name: 'Core: Sandboxing (OSX)'
2414 description: Sandboxing for the OSX platform
2416 - security/sandbox/mac/**/*
2419 url: https://wiki.mozilla.org/Security/Sandbox
2421 - 'Core::Security: Process Sandboxing'
2425 machine_name: core_sandboxing_osx
2427 - name: 'Core: Sandboxing (Windows)'
2428 description: Sandboxing for the Windows platform
2430 - security/sandbox/win/**/*
2440 url: https://wiki.mozilla.org/Security/Sandbox
2442 - 'Core::Security: Process Sandboxing'
2447 machine_name: core_sandboxing_windows
2449 - name: 'Core: security'
2450 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2463 group: dev-tech-crypto
2464 url: :ref:`Network Security Services (NSS)`
2469 - 'Core::Security: S/MIME'
2482 machine_name: core_security
2484 - name: 'Core: Security - Mozilla PSM Glue'
2485 description: Personal Security Manager
2487 - security/manager/**/*
2490 - Kai Engert (2001-2012)
2491 group: dev-tech-crypto
2493 - 'Core::Security: PSM'
2502 machine_name: core_security_mozilla_psm_glue
2504 - machine_name: core_security_rlbox
2505 name: Security - RLBox
2506 description: Sandboxing using WASM/RLBox libraries.
2510 - third_party/rlbox_wasm2c_sandbox
2520 - 'Core::Security: RLBox'
2521 - name: 'Core: Static analysis & rewriting for C++'
2522 description: Tools for checking C++ code looking for problems at compile time,
2523 plus tools for automated rewriting of C++ code.
2525 - build/clang-plugin/**/*
2526 - tools/rewriting/**/*
2527 # TODO among other out of tree tools
2530 - Birunthan Mohanathas
2534 - Core::Rewriting & Analysis
2541 machine_name: core_static_analysis_rewriting_for_c
2543 - name: 'Core: storage'
2544 description: Storage APIs with a SQLite backend
2546 - third_party/sqlite3/**/*
2550 url: http://developer.mozilla.org/en/docs/Storage
2552 - Toolkit::Storage, Core::SQL
2560 machine_name: core_storage
2562 - name: 'Core: String'
2567 group: dev-tech-xpcom
2568 url: :ref:`String Guide`
2575 machine_name: core_string
2577 - name: 'Core: Style System'
2578 description: CSS style sheet handling; style data computation
2589 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2591 - Core::CSS Parsing and Computation
2592 - 'Core::DOM: CSS Object Model'
2598 machine_name: core_style_system
2601 description: Scalable Vector Graphics
2608 url: https://developer.mozilla.org/docs/Web/SVG
2618 machine_name: core_svg
2620 - name: 'Core: UA String'
2621 description: User Agent String
2623 - netwerk/protocol/http/**/*
2626 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2628 - 'Core::Networking: HTTP'
2634 machine_name: core_ua_string
2636 - name: 'Core: View System'
2637 description: The View Manager is responsible for handling "heavyweight" rendering
2638 (some clipping, compositing) and event handling tasks.
2646 - 'Core::Layout: View Rendering'
2652 machine_name: core_view_system
2654 - name: 'Core: Web Audio'
2655 description: Support for the W3C Web Audio API specification.
2657 - dom/media/webaudio/**/*
2662 url: https://wiki.mozilla.org/Web_Audio_API
2670 machine_name: core_web_audio
2672 - name: 'Core: Web Painting'
2673 description: painting, display lists, and layer construction
2675 - layout/painting/**/*
2676 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2679 url: :ref:`Layout & CSS`
2681 - 'Core::Layout: Web Painting'
2692 machine_name: core_web_painting
2694 - name: 'Core: Web Workers'
2707 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2709 - 'Core::DOM: Workers'
2715 machine_name: core_web_workers
2717 - name: 'Core: WebGPU (Graphics submodule)'
2718 description: WebGPU implementation
2723 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2725 - Core::Graphics::WebGPU
2731 machine_name: core_webgpu_graphics_submodule
2733 - name: 'Core: WebRTC'
2734 description: WebRTC is responsible for realtime audio and video communication,
2735 as well as related issues like low-level camera and microphone access
2738 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2743 url: https://wiki.mozilla.org/Media/webrtc
2746 - Core::WebRTC Networking
2753 machine_name: core_webrtc
2755 - name: 'Core: WebVR'
2756 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2757 including API, devices, graphics and integration
2763 - Vladimir Vukicevic
2766 url: https://mozvr.com/
2775 - name: 'Core: WebRTC Media'
2776 description: Submodule of WebRTC responsible for access to media input devices
2777 (microphones, cameras, screen capture), as well as realtime audiovisual
2778 codecs and packetization.
2781 - dom/media/webrtc/**/*
2782 - dom/media/systemservices/**/*
2788 url: https://wiki.mozilla.org/Media/webrtc
2790 - Core::WebRTC (Audio/Video)
2797 machine_name: core_webrtc_media
2799 - name: 'Core: WebRTC Signaling'
2800 description: Submodule of WebRTC responsible for implementation of PeerConnection
2801 API, WebRTC identity, and SDP/JSEP handling
2803 - media/webrtc/signaling/**/*
2808 url: https://wiki.mozilla.org/Media/webrtc
2810 - Core::WebRTC (Signaling)
2818 machine_name: core_webrtc_signaling
2819 machine_name: core_webvr
2821 - name: 'Core: Widget'
2822 description: Top level Widget
2827 - Vladimir Vukicevic
2834 - Core::Drag and Drop
2836 - 'Core::Printing: Setup'
2839 machine_name: core_widget
2841 - name: 'Core: Widget - Android'
2842 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2847 machine_name: core_widget_android
2849 - name: 'Core: Widget - GTK'
2850 description: GTK widget support
2857 url: http://www.mozilla.org/ports/gtk/
2859 - 'Core::Widget: Gtk'
2864 machine_name: core_widget_gtk
2866 - name: 'Core: Widget - Headless'
2867 description: Headless widget support
2869 - widget/headless/**/*
2878 machine_name: core_widget_headless
2880 - name: 'Core: Widget - macOS'
2881 description: ' macOS widget support'
2894 - 'Core::Widget: Cocoa'
2900 machine_name: core_widget_macos
2902 - name: 'Core: Widget - Windows'
2903 description: Windows widget support
2905 - widget/windows/**/*
2911 - Vladimir Vukicevic
2914 - Christian Biesinger
2916 - Josh 'timeless' Soref
2923 - 'Core::Widget: Win32'
2929 machine_name: core_widget_windows
2932 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2933 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2934 that are not covered by more specific projects.
2950 machine_name: core_xml
2952 - name: 'Core: XPApps'
2953 description: Cross-Platform Applications, mostly Navigator front end and application
2958 group: dev-apps-seamonkey
2962 - Josh 'timeless' Soref
2965 machine_name: core_xpapps
2967 - name: 'Core: XPCOM'
2968 description: The cross-platform object model and core data structures.
2974 - xpcom/components/**/*
2978 - xpcom/reflect/**/*
2982 - xpcom/threads/**/*
2983 - xpcom/windbgdlg/**/*
3004 machine_name: core_xpcom
3006 - name: 'Core: XPConnect'
3007 description: Deep Magic
3026 machine_name: core_xpconnect
3028 - name: 'Core: XPIDL'
3029 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3030 runtime type description files from .idl interface description files.
3032 - xpcom/idl-parser/**/*
3039 - Josh 'timeless' Soref
3040 group: dev-tech-xpcom
3046 machine_name: core_xpidl
3048 - name: 'Core: XSLT Processor'
3049 description: XSLT transformations processor
3057 group: dev-tech-xslt
3058 url: https://developer.mozilla.org/docs/Web/XSLT
3064 machine_name: core_xslt_processor
3066 - name: Desktop Firefox
3067 description: Standalone Web Browser.
3080 - Tim Guan-tin Chien
3110 - name: Add-ons Manager
3111 description: Extension management back-end.
3113 - toolkit/mozapps/extensions/**/*
3127 machine_name: addons_manager
3129 - name: Add-ons Manager UI
3130 description: about:addons.
3132 - toolkit/mozapps/extensions/content/**/*
3145 machine_name: addons_manager_ui
3147 - name: Application Update
3148 description: The application update services.
3150 - toolkit/mozapps/update/**/*
3157 machine_name: application_update
3159 - name: Bookmarks & History
3160 description: The bookmarks and history services (Places).
3162 - browser/components/places/**/*
3163 - toolkit/components/places/**/*
3178 machine_name: bookmarks_history
3180 - name: Desktop Theme
3181 description: The style rules used in the desktop UI.
3183 - browser/themes/**/*
3184 - toolkit/themes/**/*
3197 machine_name: desktop_theme
3200 description: The main browser UI except where covered by more specific submodules.
3202 - browser/base/content/**/*
3209 machine_name: desktop_ui
3211 - name: Download Manager
3212 description: The downloads UI and service.
3214 - browser/components/downloads/**/*
3215 - toolkit/mozapps/downloads/**/*
3216 - uriloader/exthandler/**/*
3226 machine_name: download_manager
3228 - name: Enterprise Policies
3229 description: System policies for controlling Firefox.
3231 - browser/components/enterprisepolicies/**/*
3236 machine_name: enterprise_policies
3238 - name: Experiments/Rollouts
3239 description: Desktop clients for our experiments and off-train deployments
3242 - toolkit/components/normandy/**/*
3243 - toolkit/components/nimbus/**/*
3249 - Firefox::Nimbus Desktop Client
3250 url: https://experimenter.info/
3256 machine_name: normandy
3258 - machine_name: firefox_view
3260 description: The Firefox View page and its modules.
3262 - browser/components/firefoxview/**/*
3270 - name: Form Autofill
3271 description: Form detection and autocomplete.
3273 - browser/extensions/formautofill/**/*
3274 - toolkit/components/satchel/**/*
3277 - Matthew Noorenberghe
3283 machine_name: form_autofill
3285 - name: In-product Messaging
3286 description: The system for delivering in-product messaging.
3288 - toolkit/components/messaging-system/**/*
3291 - Firefox::Messaging System
3298 machine_name: inproduct_messaging
3300 - name: Launcher Process
3301 description: Windows process for bootstrapping the browser process.
3303 - browser/app/winlauncher/**/*
3309 - Firefox::Launcher Process
3314 machine_name: launcher_process
3316 - machine_name: localization
3318 description: Tooling to enable translation and facilitate localization.
3326 - name: New Tab Page
3327 description: The new tab/home page.
3329 - browser/components/newtab/**/*
3332 - Firefox::New Tab Page
3339 machine_name: new_tab_page
3342 description: The onboarding experience including UI tours.
3344 - browser/components/uitour/**/*
3352 machine_name: onboarding
3354 - name: Password Manager
3355 description: Managing, saving and filling logins.
3357 - toolkit/components/passwordmgr/**/*
3358 - browser/components/aboutlogins/**/*
3361 - Matthew Noorenberghe
3365 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3367 - Toolkit::Password Manager
3368 - 'Toolkit::Password Manager: Site'
3370 - Firefox::about:logins
3378 machine_name: password_manager
3380 - machine_name: firefox_pip
3381 name: Picture-in-Picture
3382 description: A component that allows video elements to be pulled out into
3383 an always-on-top window.
3385 - toolkit/components/pictureinpicture
3386 - browser/extensions/pictureinpicture
3396 - name: Profile Migration
3397 description: Migrating data from other browsers.
3399 - browser/components/migration/**/*
3407 machine_name: profile_migration
3410 description: Code relating to Screenshots functionality
3412 - browser/extensions/screenshots/**/*
3413 - browser/components/screenshots/**/*
3421 - Firefox::Screenshots
3427 machine_name: screenshots
3429 - name: Search and Address Bar
3430 description: The search service, address bar and address bar autocomplete.
3432 - browser/components/search/**/*
3433 - browser/components/urlbar/**/*
3434 - toolkit/components/search/**/*
3437 - Firefox::Address Bar
3449 machine_name: search_and_address_bar
3451 - name: Security and Privacy UI
3452 description: The front-end to our security and privacy features, including
3453 Protections UI, Site Identity, Site Permissions and Certificate Errors
3455 - browser/components/protections/**/*
3456 - browser/components/controlcenter/**/*
3460 - Nihanth Subramanya
3465 - Firefox::Protections UI
3466 - Firefox::Site Identity
3467 - Firefox::Site Permissions
3472 machine_name: security_and_privacy_ui
3474 - name: Session Restore
3475 description: Restoring a user's session after starting Firefox.
3477 - browser/components/sessionstore/**/*
3478 - toolkit/components/sessionstore/**/*
3486 - Firefox::Session Restore
3492 machine_name: session_restore
3495 description: The front-end settings user interface.
3497 - browser/components/preferences/**/*
3498 - browser/themes/*/preferences
3499 - toolkit/mozapps/preferences
3510 machine_name: settings_ui
3512 - name: Tabbed Browser
3513 description: The UI component controlling browser tabs.
3515 # TODO double check that this works as expected
3516 - browser/base/content/tabbrowser*
3517 - browser/modules/AsyncTabSwitcher.jsm
3520 - Firefox::Tabbed Browser
3528 machine_name: tabbed_browser
3530 - name: Windows Installer
3531 description: The installer for Windows.
3533 - browser/installer/**/*
3534 - toolkit/mozapps/installer/**/*
3537 - Firefox::Installer
3543 machine_name: windows_installer
3544 machine_name: desktop_firefox
3546 - machine_name: devtools
3548 description: Mozilla Developer Tools
3574 - Steve Fink (heapsnapshot code)
3584 - Panagiotis Astithas
3602 url: http://firefox-dev.tools/
3605 - machine_name: javascript_usage
3606 name: JavaScript usage, tools, and style
3607 description: Aspects of JavaScript use such as language feature usage, tooling
3608 such as lint configurations, formatting and naming style.
3610 - .eslintrc-test-paths.js
3611 - '**/.eslintignore'
3613 - tools/lint/eslint/**/*
3630 - machine_name: mozharness
3632 description: Configuration-driven script harness.
3634 - testing/mozharness/**/*
3647 - 'Release Engineering :: Applications: MozharnessCore'
3648 - machine_name: python_usage
3649 name: Python usage, tools, and style
3650 description: Aspects of Python use such as tooling, formatting and naming style
3652 - tools/lint/python/**/*
3662 - 'Developer Infrastructure :: Lint and Formatting'
3664 - machine_name: remote_protocol
3665 name: Remote Protocol
3666 description: Low-level remote protocol exposing interfaces for inspecting state
3667 and controlling execution of web documents, instrumenting various subsystems
3668 in the browser, simulating user interaction for automation purposes, and for
3669 subscribing to updates from the aforementioned.
3675 url: https://firefox-source-docs.mozilla.org/remote/
3684 - machine_name: remote_protocol_agent
3686 description: Underlying transport layer and server to allow remoting of Firefox
3687 for automation and debugging.
3692 - remote/marionette/*
3693 - remote/webdriver-bidi/*
3698 - Maja Frydrychowicz
3702 - 'Remote Protocol :: Agent'
3710 - machine_name: remote_protocol_cdp
3712 description: The core implementation for CDP support. Please file domain specific
3713 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3720 - Maja Frydrychowicz
3724 - 'Remote Protocol :: CDP'
3732 - machine_name: remote_protocol_marionette
3734 description: Marionette is a remote protocol that lets out-of-process programs
3735 communicate with, instrument, and control Gecko-based browsers. Combined
3736 with geckodriver, this forms our WebDriver classic implementation.
3738 - remote/marionette/*
3743 - Maja Frydrychowicz
3746 - 'Remote Protocol :: Marionette'
3747 group: dev-webdriver
3755 - machine_name: remote_protocol_webdriver_bidi
3756 name: WebDriver BiDi
3757 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3759 - remote/webdriver-bidi/*
3762 - 'Remote Protocol :: WebDriver BiDi'
3763 group: dev-webdriver
3771 - machine_name: sync
3773 description: Firefox Sync client
3775 - services/sync/**/*
3788 url: https://wiki.mozilla.org/Services/Process/Code_Review
3792 - machine_name: testing_firefox_ui
3794 description: Firefox UI test framework.
3796 - testing/firefox-ui/**/*
3799 - Maja Frydrychowicz
3801 - 'Testing :: Firefox UI'
3809 - machine_name: testing_geckodriver
3811 description: Proxy for using W3C WebDriver-compatible clients to interact with
3812 Gecko-based browsers.
3814 - testing/geckodriver/**/*
3822 - 'Testing :: geckodriver'
3823 group: dev-webdriver
3825 - machine_name: testing_gtest
3827 description: GTest test harness.
3829 - testing/gtest/**/*
3836 - 'Testing :: GTest'
3838 - machine_name: testing_marionette_client_harness
3839 name: Marionette Client & Harness
3840 description: Python client and harness for the Marionette remote protocol implementation.
3842 - testing/marionette/**/*
3847 - Maja Frydrychowicz
3850 - 'Testing :: Marionette Client & Harness'
3858 - machine_name: testing_mochitest
3860 description: Mochitest test framework
3862 - testing/mochitest/**/*
3871 - 'Testing :: Mochitest'
3872 - machine_name: testing_mozbase
3874 description: Base modules used for implementing test components.
3888 - 'Testing :: Mozbase'
3889 - 'Testing :: Mozbase Rust'
3890 - machine_name: testing_performance_testing
3891 name: Performance Testing
3893 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3894 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3895 the owners/peers of the various components (linked below).
3897 - testing/raptor/**/*
3898 - testing/talos/**/*
3899 - python/mozperftest/**/*
3901 - tools/lint/perfdocs/**/*
3902 - testing/perfdocs/**/*
3903 - testing/performance/**/*
3904 - testing/condprofile/**/*
3905 - tools/browsertime/**/*
3906 - tools/tryselect/selectors/perf.py
3917 - 'Testing :: Raptor'
3918 - 'Testing :: Talos'
3920 - 'Testing :: Performance'
3921 - 'Testing :: mozperftest'
3922 - 'Testing :: Condprofile'
3923 url: :ref:`Performance Testing`
3924 - machine_name: testing_reftest
3925 name: Reftest (+ jsreftest + crashtest)
3926 description: Reftest test framework
3928 - layout/tools/reftest/**/*
3937 - 'Testing :: Reftest'
3938 - machine_name: testing_tryselect
3940 description: Frontend for selecting jobs on the try server.
3942 - tools/tryselect/**/*
3950 - 'Developer Infrastructure :: Try'
3951 - machine_name: testing_web_platform_tests_infrastructure
3952 name: web-platform-tests infrastructure
3953 description: Infrastructure for running the cross-browser web-platform-tests
3955 - testing/web-platform/**/*
3956 - testing/web-platform/tests/tools/**/*
3958 - testing/web-platform/tests/**/*
3959 - testing/web-platform/meta/**/*
3960 - testing/web-platform/mozilla/**/*
3966 - 'Testing :: web-platform-tests'
3967 - machine_name: testing_xpcshell
3969 description: XPCShell test harness.
3971 - testing/xpcshell/**/*
3979 - Testing::XPCShell Harness
3981 description: Components shared between desktop and mobile browsers.
3998 - name: Application Startup
3999 description: The profile system and startup process before the front-end launches.
4001 - toolkit/profile/**/*
4002 - toolkit/components/remote/**/*
4009 machine_name: application_startup
4013 The core infrastructure in the Firefox client to send back telemetry
4014 data. Includes the common mechanisms to record, view and submit data: Legacy
4015 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4016 does ''not'' include responsibility for every piece of submitted Telemetry
4017 data. Each team/module is responsible for their own measurements (histograms,
4018 scalars, other ping submissions, etc.).
4020 - toolkit/components/glean/**/*
4021 - toolkit/components/telemetry/**/*
4022 - toolkit/content/aboutTelemetry.*
4027 url: :ref:`Telemetry`
4035 machine_name: telemetry
4038 description: The base widgets used throughout the UI.
4040 - toolkit/content/widgets/**/*
4047 machine_name: ui_widgets
4049 - name: Webextensions
4050 description: Webextension APIs and integration.
4052 - browser/components/extensions/**/*
4053 - toolkit/components/extensions/**/*
4065 machine_name: webextensions
4066 machine_name: toolkit
4067 - machine_name: url_classifier
4068 name: URL Classifier
4069 description: Database and list-based classification of URL resources, such as
4070 Tracking Protection and SafeBrowsing.
4072 - toolkit/components/url-classifier/**/*
4073 - netwerk/url-classifier/**/*
4082 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4083 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4091 config: 744d9670bbabb63a47b90e323e7bfd7b257d2975
4092 export: 2ab8326405a3e9fd5ed2519554d6df2aaa95a57e