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-03-27T14:14:47.856248'
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
565 name: Kimberly Sereduck
566 nick: kimberlythegeek
593 name: Dzmitry Malyshau
605 name: Lougenia Bailey
621 name: Marco Castelluccio
637 name: Masayuki Nakano
646 nick: MatsPalmgren_bugz
653 name: Andrew McCreight
685 name: Morgan Reschenberg
725 name: Nicolas Chevobbe
737 name: Niklas Baumgardner
749 name: Alexandre Poirot
773 name: Andreas Pehrson
781 name: Peter Van der Beken
821 name: Alexandra Borovova
845 name: Shravan Narayan
861 name: Greg Mierzwinski
877 name: Martin Stránský
884 name: Sylvestre Ledru
927 name: Toshihito Kikuchi
994 name: Tomislav Jovanovic
997 - name: mozilla-toplevel
998 description: The top level directory for the mozilla tree.
1001 # TODO: verify, as this was toolkit/README
1006 # - Technical Leadership Module
1009 machine_name: _mozillatoplevel
1011 - machine_name: code_coverage
1013 description: Tools for code coverage instrumentation, and coverage data parsing
1016 - tools/code-coverage/**/*
1017 - python/mozbuild/mozbuild/codecoverage/**/*
1018 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1027 - 'Testing :: Code Coverage'
1028 - name: 'Core: Accessibility'
1029 description: Support for platform accessibility APIs. Accessibility APIs are used
1030 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1031 software, which need information about document content and UI controls, as
1032 well as important events like changes of focus.
1045 group: dev-accessibility
1046 url: https://developer.mozilla.org/docs/Web/Accessibility
1048 - Core::Disability Access APIs
1055 machine_name: core_accessibility
1057 - name: 'Core: Animation'
1058 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1059 API, and off-main thread animations.'
1061 - dom/animation/**/*
1062 # TODO "and animation-related and interpolation-related code
1063 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1067 - Core::DOM::Animation
1068 - Core::CSS Transitions and Animations
1076 machine_name: core_animation
1078 - name: 'Core: Anti-Tracking'
1079 description: Tracking detection and content-blocking.
1081 - toolkit/components/antitracking/**/*
1082 # several files under browser/ and netwerk/url-classifier/ **TODO**
1090 - 'Core::Privacy: Anti-Tracking'
1098 machine_name: core_antitracking
1100 - name: 'Core: APZ (Graphics submodule)'
1101 description: Asynchronous panning and zooming
1103 - gfx/layers/apz/**/*
1110 url: https://wiki.mozilla.org/Platform/GFX/APZ
1112 - Core::Panning and Zooming
1120 machine_name: core_apz_graphics_submodule
1122 - name: 'Core: Browser WebAPI'
1123 description: Web API for rendering apps, browser windows and widgets.
1125 - dom/browser-element/**/*
1136 machine_name: core_browser_webapi
1138 - name: 'Core: Build and Release Tools'
1139 description: Tools related to build and release automation and configuration of
1142 - tools/update-packaging/**/*
1143 - tools/update-verify/**/*
1147 group: release-engineering
1148 url: https://wiki.mozilla.org/ReleaseEngineering
1150 - Release Engineering::*
1156 machine_name: core_build_and_release_tools
1158 - name: 'Core: Build Config'
1159 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1164 - python/mozbuild/**/*
1165 - browser/config/mozconfigs/**/*
1183 url: :ref:`Build System`
1185 - Core::Build Config
1192 - name: 'Core: Build Config - Fennec'
1193 description: Submodule of the build config covering Fennec's build system
1198 - Core::Build Config
1202 machine_name: core_build_config_fennec
1204 - name: 'Core: Build Config - Taskgraph'
1205 description: Support for task-graph generation in decision, action, and cron
1206 tasks, including configuration of all tasks including those for CI, nightlies,
1207 and releases; as well as Docker and VM images used to execute those tasks.
1212 - Firefox Build System::Task Configuration
1228 machine_name: core_build_config_taskgraph
1229 machine_name: core_build_config
1231 - name: 'Core: Code Analysis and Debugging Tools'
1232 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1233 and other characteristics of it.
1236 - tools/leak-gauge/**/*
1237 - tools/performance/**/*
1240 group: dev-performance
1244 machine_name: core_code_analysis_and_debugging_tools
1246 - name: 'Core: Content Security'
1247 description: 'Native content-based security features enforced in the ContentSecurityManager,
1248 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1249 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1250 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1251 and top-level data: URI blocking.'
1263 - 'Core::DOM: Security'
1271 machine_name: core_content_security
1273 - name: 'Core: Cookies'
1276 - netwerk/cookie/**/*
1285 - Christian Biesinger
1291 - 'Core::Networking: Cookies'
1300 machine_name: core_cookies
1302 - name: 'Core: Crash reporting'
1303 description: Infrastructure and tools used to generate, submit and process crash
1304 reports. This includes the in-tree google-breakpad fork, the crash report generation
1305 machinery as well as the host tools used to dump symbols, analyse minidumps
1306 and generate stack traces.
1308 - toolkit/crashreporter/**/*
1309 - toolkit/components/crashes/**/*
1310 - tools/crashreporter/**/*
1311 - ipc/glue/CrashReporter*
1312 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1317 url: :ref:`Crash Reporter`
1319 - Toolkit::Crash Reporting
1325 machine_name: core_crash_reporting
1327 - machine_name: core_credentials
1328 name: 'Core: Credentials'
1329 description: API Surface for FedCM and WebAuthn
1331 - toolkit/components/credentialmanagement/**/*
1332 - browser/components/credentialmanager/**/*
1333 - dom/credentialmanagement/**/*
1345 - 'Core::DOM: Credential Management'
1346 - 'Core::DOM: Web Authentication'
1348 - name: 'Core: C++/Rust usage, tools, and style'
1349 description: Aspects of C++ use such as language feature usage, standard library
1350 versions/usage, compiler/toolchain versions, formatting and naming style, and
1351 aspects of Rust use as needs arise
1353 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1354 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1355 # - docs/code-quality/**/*
1356 # - docs/testing-rust-code/**/*
1357 # - docs/writing-rust-code/**/*
1372 machine_name: core_crust_usage_tools_and_style
1374 - name: 'Core: Cycle Collector'
1375 description: Code to break and collect objects within reference cycles
1377 - xpcom/base/nsCycleCollect*
1378 # TODO "and some support headers"
1379 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1385 - Core::Cycle Collector
1391 machine_name: core_cycle_collector
1393 - name: 'Core: DLL Services'
1394 description: Windows dynamic linker instrumentation and blocking
1396 - toolkit/xre/dllservices/**/*
1402 - Core::DLL Services
1407 machine_name: core_dll_services
1409 - name: 'Core: docshell'
1413 - uriloader/base/**/*
1419 - Christian Biesinger
1425 - Core::Document Navigation
1432 machine_name: core_docshell
1434 - name: 'Core: Document Object Model'
1438 exclude_module_paths: true
1455 url: http://developer.mozilla.org/en/docs/DOM
1458 - 'Core::DOM: CSS Object Model'
1459 - 'Core::DOM: Core & HTML'
1474 machine_name: core_document_object_model
1476 - name: 'Core: DOM File'
1477 description: DOM Blob, File and FileSystem APIs
1480 - dom/filesystem/**/*
1483 url: http://developer.mozilla.org/en/docs/DOM
1490 machine_name: core_dom_file
1492 - machine_name: core_dom_streams
1493 name: 'Core: DOM Streams'
1494 description: Streams Specification implementation
1505 url: http://developer.mozilla.org/en/docs/DOM
1508 - 'Core::DOM: Streams'
1509 - name: 'Core: Editor'
1524 machine_name: core_editor
1526 - name: 'Core: Event Handling'
1527 description: DOM Events and Event Handling
1530 # TODO "and event handling related code elsewhere"
1535 url: http://developer.mozilla.org/en/docs/DOM
1537 - 'Core::DOM: Events'
1538 - 'Core::DOM: UI Events & Focus Handling'
1544 machine_name: core_event_handling
1546 - machine_name: core_firefox_source_documentation
1547 name: 'Core: Firefox Source Documentation'
1548 description: The infrastructure platform used to generate Firefox's source documentation,
1549 excluding editorial control over the content.
1552 - tools/moztreedocs/
1559 - Developer Infrastructure::Source Documentation
1560 url: https://firefox-source-docs.mozilla.org/
1561 - name: 'Core: Gecko Profiler'
1562 description: Gecko's built-in profiler
1564 - tools/profiler/**/*
1565 - mozglue/baseprofiler/**/*
1570 - Shu-yu Guo (JS integration)
1571 - Thinker Lee (TaskTracer)
1572 - Cervantes Yu (TaskTracer)
1573 - Nicholas Nethercote
1579 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1581 - Core::Gecko Profiler
1588 machine_name: core_gecko_profiler
1590 - name: 'Core: GeckoView'
1591 description: Framework for embedding Gecko into Android applications
1593 - mobile/android/**/*
1594 - widget/android/**/*
1606 url: https://wiki.mozilla.org/Mobile/GeckoView
1608 - GeckoView::General
1616 machine_name: core_geckoview
1618 - name: 'Core: Global Key Bindings'
1619 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1620 and the like, as those are part of i18n.
1623 # TODO "and platform specific directories under it"
1625 group: dev-accessibility
1626 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1628 - 'Core::Keyboard: Navigation'
1633 machine_name: core_global_key_bindings
1635 - name: 'Core: Graphics'
1636 description: Mozilla graphics API
1644 - Benoit Girard(Compositor, Performance)
1646 - George Wright(Canvas2D)
1650 - John Daggett(text/fonts)
1651 - Benoit Jacob(gfx/gl)
1653 - Vladimir Vukicevic
1654 - James Willcox(Android)
1657 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1658 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1661 - 'Core::Graphics: Layers'
1662 - 'Core::Graphics: Text'
1663 - 'Core::Graphics: WebRender'
1664 - 'Core::GFX: Color Management'
1665 - 'Core::Canvas: 2D'
1666 - 'Core::Canvas: WebGL'
1678 machine_name: core_graphics
1681 description: Hardware Abstraction Layer
1687 - Core::Hardware Abstraction Layer (HAL)
1691 machine_name: core_hal
1693 - name: 'Core: HTML Parser'
1694 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1695 to the HTML specification, and is mostly translated automatically from Java
1701 url: http://about.validator.nu/
1703 - 'Core::HTML: Parser'
1708 machine_name: core_html_parser
1710 - name: 'Core: I18N Library'
1719 url: :ref:`Internationalization`
1721 - Core::Internationalization
1729 machine_name: core_i18n_library
1731 - name: 'Core: ImageLib'
1734 - media/libjpeg/**/*
1751 machine_name: core_imagelib
1753 - name: 'Core: IndexedDB'
1756 - dom/indexedDB/**/*
1764 url: https://developer.mozilla.org/en/IndexedDB
1766 - 'Core::DOM: IndexedDB'
1773 machine_name: core_indexeddb
1776 description: Native message-passing between threads and processes
1803 machine_name: core_ipc
1805 - name: 'Core: JavaScript'
1806 description: JavaScript engine (SpiderMonkey)
1830 - Nicholas Nethercote
1835 url: https://spidermonkey.dev/
1837 - Core::JavaScript Engine
1838 - 'Core::JavaScript: GC'
1839 - 'Core::JavaScript: Internationalization API'
1840 - 'Core::JavaScript: Standard Library'
1841 - 'Core::JavaScript: WebAssembly'
1863 machine_name: core_javascript
1865 - name: 'Core: JavaScript JIT'
1866 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1874 url: https://spidermonkey.dev/
1876 - 'Core::JavaScript Engine: JIT'
1892 machine_name: core_javascript_jit
1894 - name: 'Core: js-tests'
1895 description: JavaScript test suite
1899 group: dev-tech-js-engine
1900 url: http://www.mozilla.org/js/tests/library.html
1904 machine_name: core_jstests
1906 - name: 'Core: Layout Engine'
1907 description: rendering tree construction, layout (reflow), etc.
1913 - layout/generic/**/*
1914 - layout/printing/**/*
1915 - layout/tables/**/*
1924 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1927 - 'Core::Layout: Block and Inline'
1928 - 'Core::Layout: Columns'
1929 - 'Core::Layout: Flexbox'
1930 - 'Core::Layout: Floats'
1931 - 'Core::Layout: Form Controls'
1932 - 'Core::Layout: Generated Content, Lists, and Counters'
1933 - 'Core::Layout: Grid'
1934 - 'Core::Layout: Images, Video, and HTML Frames'
1935 - 'Core::Layout: Positioned'
1936 - 'Core::Layout: Ruby'
1937 - 'Core::Layout: Scrolling and Overflow'
1938 - 'Core::Layout: Tables'
1939 - 'Core::Layout: Text and Fonts'
1940 - Core::Print Preview
1941 - 'Core::Printing: Output'
1953 machine_name: core_layout_engine
1955 - name: 'Core: Legacy HTML Parser'
1958 - parser/htmlparser/**/*
1962 url: http://www.mozilla.org/newlayout/doc/parser.html
1964 - 'Core::HTML: Parser'
1971 machine_name: core_legacy_html_parser
1973 - name: 'Core: libjar'
1974 description: The JAR handling code (protocol handler, stream implementation, and
1975 zipreader/zipwriter).
1977 - modules/libjar/**/*
1987 - 'Core::Networking: JAR'
1993 machine_name: core_libjar
1995 - name: 'Core: MathML'
1996 description: MathML is a low-level specification for describing mathematics which
1997 provides a foundation for the inclusion of mathematical expressions in Web pages.
1999 - layout/mathml/**/*
2001 group: dev-tech-mathml
2002 url: https://developer.mozilla.org/docs/Web/MathML
2009 machine_name: core_mathml
2011 - name: 'Core: Media Playback'
2012 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2013 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2016 - media/gmp-clearkey/**/*
2017 - media/libcubeb/**/*
2018 - media/libnestegg/**/*
2020 - media/libopus/**/*
2021 - media/libtheora/**/*
2022 - media/libtremor/**/*
2023 - media/libvorbis/**/*
2025 - dom/media/platforms/omx/**/*
2026 - dom/media/gmp/rlz/**/*
2041 machine_name: core_media_playback
2043 - name: 'Core: Media Transport'
2044 description: Pluggable transport for real-time media
2046 - dom/media/webrtc/transport/**/*
2050 - Core::WebRTC::Networking
2057 machine_name: core_media_transport
2059 - name: 'Core: Memory Allocator'
2060 description: Most things related to memory allocation in Gecko, including jemalloc,
2061 replace-malloc, DMD (dark matter detector), logalloc, etc.
2067 - Nicholas Nethercote
2075 machine_name: core_memory_allocator
2077 - name: 'Core: mfbt'
2078 description: mfbt is a collection of headers, macros, data structures, methods,
2079 and other functionality available for use and reuse throughout all Mozilla code
2080 (including SpiderMonkey and Gecko more broadly).
2092 machine_name: core_mfbt
2094 - name: 'Core: Moz2D (Graphics submodule)'
2095 description: Platform independent 2D graphics API
2100 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2108 machine_name: core_moz2d_graphics_submodule
2110 - name: 'Core: Mozglue'
2111 description: Glue library containing various low-level functionality, including
2112 a dynamic linker for Android, a DLL block list for Windows, etc.
2120 - Kartikaya Gupta (mozglue/android)
2125 machine_name: core_mozglue
2127 - name: 'Core: MSCOM'
2128 description: Integration with Microsoft Distributed COM
2138 - 'Core::IPC: MSCOM'
2141 machine_name: core_mscom
2143 - name: 'Core: Necko'
2144 description: The Mozilla Networking Library
2148 - netwerk/build/**/*
2149 - netwerk/cache/**/*
2151 - netwerk/locales/**/*
2153 - netwerk/protocol/**/*
2154 - netwerk/socket/**/*
2155 - netwerk/streamconv/**/*
2156 - netwerk/system/**/*
2161 - dom/websocket/**/*
2162 - uriloader/prefetch/**/*
2163 - uriloader/preload/**/*
2166 - Dragana Damjanovic
2168 - Christian Biesinger
2179 group: dev-tech-network
2180 url: :ref:`Networking`
2183 - 'Core::Networking: Cache'
2184 - 'Core::Networking: Cookies'
2185 - 'Core::Networking: FTP'
2186 - 'Core::Networking: File'
2187 - 'Core::Networking: HTTP'
2188 - 'Core::Networking: JAR'
2189 - 'Core::Networking: Websockets'
2190 - 'Core::DOM: Networking'
2196 machine_name: core_necko
2198 - name: 'Core: NodeJS usage, tools, and style'
2199 description: Advises on the use of NodeJS and npm packages at build and runtime.
2200 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2201 teams to maintain automated license and security audits of npm packages. Works
2202 with the security team and relevant developers to respond to vulnerabilities
2203 in NodeJS and vendored npm packages.
2208 # TODO: and others as appropriate
2212 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2221 machine_name: core_nodejs_usage_tools_and_style
2223 - name: 'Core: NSPR'
2224 description: Netscape Portable Runtime
2230 group: dev-tech-nspr
2238 machine_name: core_nspr
2241 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2244 - toolkit/components/pdfjs/**/*
2252 url: https://github.com/mozilla/pdf.js
2259 machine_name: core_pdf
2261 - name: 'Core: Permissions'
2264 - extensions/permissions/**/*
2273 - Christian Biesinger
2278 - 'Core :: Permission Manager'
2285 machine_name: core_permissions
2287 - name: 'Core: Plugins'
2288 description: ' NPAPI Plugin support.'
2300 url: https://wiki.mozilla.org/Plugins
2305 machine_name: core_plugins
2307 - name: 'Core: Preferences'
2308 description: Preference library
2310 - modules/libpref/**/*
2313 - Nicholas Nethercote
2319 - 'Core::Preferences: Backend'
2325 machine_name: core_preferences
2327 - name: 'Core: Private Browsing'
2328 description: Implementation of the Private Browsing mode, and the integration
2329 of other modules with Private Browsing APIs.
2332 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2333 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2341 url: https://wiki.mozilla.org/Private_Browsing
2343 - Firefox::Private Browsing
2348 machine_name: core_private_browsing
2350 - name: 'Core: Privilege Manager'
2351 description: Caps is the capabilities-based security system.
2360 url: http://www.mozilla.org/projects/security/components/index.html
2362 - 'Core::Security: CAPS'
2368 machine_name: core_privilege_manager
2370 - name: 'Core: Push Notifications'
2371 description: Push is a way for application developers to send messages to their
2382 - 'Core::DOM: Push Notifications'
2386 machine_name: core_push_notifications
2388 - name: 'Core: Sandboxing (Linux)'
2389 description: Sandboxing for the Linux platform
2391 - security/sandbox/linux/**/*
2394 url: https://wiki.mozilla.org/Security/Sandbox
2396 - 'Core::Security: Process Sandboxing'
2401 machine_name: core_sandboxing_linux
2403 - name: 'Core: Sandboxing (OSX)'
2404 description: Sandboxing for the OSX platform
2406 - security/sandbox/mac/**/*
2409 url: https://wiki.mozilla.org/Security/Sandbox
2411 - 'Core::Security: Process Sandboxing'
2415 machine_name: core_sandboxing_osx
2417 - name: 'Core: Sandboxing (Windows)'
2418 description: Sandboxing for the Windows platform
2420 - security/sandbox/win/**/*
2430 url: https://wiki.mozilla.org/Security/Sandbox
2432 - 'Core::Security: Process Sandboxing'
2437 machine_name: core_sandboxing_windows
2439 - name: 'Core: security'
2440 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2453 group: dev-tech-crypto
2454 url: :ref:`Network Security Services (NSS)`
2459 - 'Core::Security: S/MIME'
2472 machine_name: core_security
2474 - name: 'Core: Security - Mozilla PSM Glue'
2475 description: Personal Security Manager
2477 - security/manager/**/*
2480 - Kai Engert (2001-2012)
2481 group: dev-tech-crypto
2483 - 'Core::Security: PSM'
2492 machine_name: core_security_mozilla_psm_glue
2494 - machine_name: core_security_rlbox
2495 name: Security - RLBox
2496 description: Sandboxing using WASM/RLBox libraries.
2500 - third_party/rlbox_wasm2c_sandbox
2510 - 'Core::Security: RLBox'
2511 - name: 'Core: Static analysis & rewriting for C++'
2512 description: Tools for checking C++ code looking for problems at compile time,
2513 plus tools for automated rewriting of C++ code.
2515 - build/clang-plugin/**/*
2516 - tools/rewriting/**/*
2517 # TODO among other out of tree tools
2520 - Birunthan Mohanathas
2524 - Core::Rewriting & Analysis
2531 machine_name: core_static_analysis_rewriting_for_c
2533 - name: 'Core: storage'
2534 description: Storage APIs with a SQLite backend
2536 - third_party/sqlite3/**/*
2540 url: http://developer.mozilla.org/en/docs/Storage
2542 - Toolkit::Storage, Core::SQL
2550 machine_name: core_storage
2552 - name: 'Core: String'
2557 group: dev-tech-xpcom
2558 url: :ref:`String Guide`
2565 machine_name: core_string
2567 - name: 'Core: Style System'
2568 description: CSS style sheet handling; style data computation
2579 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2581 - Core::CSS Parsing and Computation
2587 machine_name: core_style_system
2590 description: Scalable Vector Graphics
2597 url: https://developer.mozilla.org/docs/Web/SVG
2607 machine_name: core_svg
2609 - name: 'Core: UA String'
2610 description: User Agent String
2612 - netwerk/protocol/http/**/*
2615 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2617 - 'Core::Networking: HTTP'
2623 machine_name: core_ua_string
2625 - name: 'Core: View System'
2626 description: The View Manager is responsible for handling "heavyweight" rendering
2627 (some clipping, compositing) and event handling tasks.
2635 - 'Core::Layout: View Rendering'
2641 machine_name: core_view_system
2643 - name: 'Core: Web Audio'
2644 description: Support for the W3C Web Audio API specification.
2646 - dom/media/webaudio/**/*
2651 url: https://wiki.mozilla.org/Web_Audio_API
2659 machine_name: core_web_audio
2661 - name: 'Core: Web Painting'
2662 description: painting, display lists, and layer construction
2664 - layout/painting/**/*
2665 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2668 url: :ref:`Layout & CSS`
2670 - 'Core::Layout: Web Painting'
2681 machine_name: core_web_painting
2683 - name: 'Core: Web Workers'
2696 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2698 - 'Core::DOM: Workers'
2704 machine_name: core_web_workers
2706 - name: 'Core: WebGPU (Graphics submodule)'
2707 description: WebGPU implementation
2712 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2714 - Core::Graphics::WebGPU
2720 machine_name: core_webgpu_graphics_submodule
2722 - name: 'Core: WebRTC'
2723 description: WebRTC is responsible for realtime audio and video communication,
2724 as well as related issues like low-level camera and microphone access
2727 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2732 url: https://wiki.mozilla.org/Media/webrtc
2735 - Core::WebRTC Networking
2742 machine_name: core_webrtc
2744 - name: 'Core: WebVR'
2745 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2746 including API, devices, graphics and integration
2752 - Vladimir Vukicevic
2755 url: https://mozvr.com/
2764 - name: 'Core: WebRTC Media'
2765 description: Submodule of WebRTC responsible for access to media input devices
2766 (microphones, cameras, screen capture), as well as realtime audiovisual
2767 codecs and packetization.
2770 - dom/media/webrtc/**/*
2771 - dom/media/systemservices/**/*
2777 url: https://wiki.mozilla.org/Media/webrtc
2779 - Core::WebRTC (Audio/Video)
2786 machine_name: core_webrtc_media
2788 - name: 'Core: WebRTC Signaling'
2789 description: Submodule of WebRTC responsible for implementation of PeerConnection
2790 API, WebRTC identity, and SDP/JSEP handling
2792 - media/webrtc/signaling/**/*
2797 url: https://wiki.mozilla.org/Media/webrtc
2799 - Core::WebRTC (Signaling)
2807 machine_name: core_webrtc_signaling
2808 machine_name: core_webvr
2810 - name: 'Core: Widget'
2811 description: Top level Widget
2816 - Vladimir Vukicevic
2823 - Core::Drag and Drop
2825 - 'Core::Printing: Setup'
2828 machine_name: core_widget
2830 - name: 'Core: Widget - Android'
2831 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2836 machine_name: core_widget_android
2838 - name: 'Core: Widget - GTK'
2839 description: GTK widget support
2846 url: http://www.mozilla.org/ports/gtk/
2848 - 'Core::Widget: Gtk'
2853 machine_name: core_widget_gtk
2855 - name: 'Core: Widget - Headless'
2856 description: Headless widget support
2858 - widget/headless/**/*
2867 machine_name: core_widget_headless
2869 - name: 'Core: Widget - macOS'
2870 description: ' macOS widget support'
2883 - 'Core::Widget: Cocoa'
2889 machine_name: core_widget_macos
2891 - name: 'Core: Widget - Windows'
2892 description: Windows widget support
2894 - widget/windows/**/*
2900 - Vladimir Vukicevic
2903 - Christian Biesinger
2905 - Josh 'timeless' Soref
2912 - 'Core::Widget: Win32'
2918 machine_name: core_widget_windows
2921 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2922 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2923 that are not covered by more specific projects.
2939 machine_name: core_xml
2941 - name: 'Core: XPApps'
2942 description: Cross-Platform Applications, mostly Navigator front end and application
2947 group: dev-apps-seamonkey
2951 - Josh 'timeless' Soref
2954 machine_name: core_xpapps
2956 - name: 'Core: XPCOM'
2957 description: The cross-platform object model and core data structures.
2963 - xpcom/components/**/*
2967 - xpcom/reflect/**/*
2971 - xpcom/threads/**/*
2972 - xpcom/windbgdlg/**/*
2993 machine_name: core_xpcom
2995 - name: 'Core: XPConnect'
2996 description: Deep Magic
3015 machine_name: core_xpconnect
3017 - name: 'Core: XPIDL'
3018 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3019 runtime type description files from .idl interface description files.
3021 - xpcom/idl-parser/**/*
3028 - Josh 'timeless' Soref
3029 group: dev-tech-xpcom
3035 machine_name: core_xpidl
3037 - name: 'Core: XSLT Processor'
3038 description: XSLT transformations processor
3046 group: dev-tech-xslt
3047 url: https://developer.mozilla.org/docs/Web/XSLT
3053 machine_name: core_xslt_processor
3055 - name: Desktop Firefox
3056 description: Standalone Web Browser.
3069 - Tim Guan-tin Chien
3099 - name: Add-ons Manager
3100 description: Extension management back-end.
3102 - toolkit/mozapps/extensions/**/*
3116 machine_name: addons_manager
3118 - name: Add-ons Manager UI
3119 description: about:addons.
3121 - toolkit/mozapps/extensions/content/**/*
3134 machine_name: addons_manager_ui
3136 - name: Application Update
3137 description: The application update services.
3139 - toolkit/mozapps/update/**/*
3146 machine_name: application_update
3148 - name: Bookmarks & History
3149 description: The bookmarks and history services (Places).
3151 - browser/components/places/**/*
3152 - toolkit/components/places/**/*
3167 machine_name: bookmarks_history
3169 - name: Desktop Theme
3170 description: The style rules used in the desktop UI.
3172 - browser/themes/**/*
3173 - toolkit/themes/**/*
3186 machine_name: desktop_theme
3189 description: The main browser UI except where covered by more specific submodules.
3191 - browser/base/content/**/*
3198 machine_name: desktop_ui
3200 - name: Download Manager
3201 description: The downloads UI and service.
3203 - browser/components/downloads/**/*
3204 - toolkit/mozapps/downloads/**/*
3205 - uriloader/exthandler/**/*
3215 machine_name: download_manager
3217 - name: Enterprise Policies
3218 description: System policies for controlling Firefox.
3220 - browser/components/enterprisepolicies/**/*
3225 machine_name: enterprise_policies
3227 - name: Experiments/Rollouts
3228 description: Desktop clients for our experiments and off-train deployments
3231 - toolkit/components/normandy/**/*
3232 - toolkit/components/nimbus/**/*
3238 - Firefox::Nimbus Desktop Client
3239 url: https://experimenter.info/
3245 machine_name: normandy
3247 - machine_name: firefox_view
3249 description: The Firefox View page and its modules.
3251 - browser/components/firefoxview/**/*
3258 - name: Form Autofill
3259 description: Form detection and autocomplete.
3261 - browser/extensions/formautofill/**/*
3262 - toolkit/components/satchel/**/*
3265 - Matthew Noorenberghe
3271 machine_name: form_autofill
3273 - name: In-product Messaging
3274 description: The system for delivering in-product messaging.
3276 - toolkit/components/messaging-system/**/*
3279 - Firefox::Messaging System
3286 machine_name: inproduct_messaging
3288 - name: Launcher Process
3289 description: Windows process for bootstrapping the browser process.
3291 - browser/app/winlauncher/**/*
3297 - Firefox::Launcher Process
3302 machine_name: launcher_process
3304 - machine_name: localization
3306 description: Tooling to enable translation and facilitate localization.
3314 - name: New Tab Page
3315 description: The new tab/home page.
3317 - browser/components/newtab/**/*
3320 - Firefox::New Tab Page
3327 machine_name: new_tab_page
3330 description: The onboarding experience including UI tours.
3332 - browser/components/uitour/**/*
3340 machine_name: onboarding
3342 - name: Password Manager
3343 description: Managing, saving and filling logins.
3345 - toolkit/components/passwordmgr/**/*
3346 - browser/components/aboutlogins/**/*
3349 - Matthew Noorenberghe
3353 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3355 - Toolkit::Password Manager
3356 - 'Toolkit::Password Manager: Site'
3358 - Firefox::about:logins
3366 machine_name: password_manager
3368 - machine_name: firefox_pip
3369 name: Picture-in-Picture
3370 description: A component that allows video elements to be pulled out into
3371 an always-on-top window.
3373 - toolkit/components/pictureinpicture
3374 - browser/extensions/pictureinpicture
3384 - name: Profile Migration
3385 description: Migrating data from other browsers.
3387 - browser/components/migration/**/*
3395 machine_name: profile_migration
3398 description: Code relating to Screenshots functionality
3400 - browser/extensions/screenshots/**/*
3401 - browser/components/screenshots/**/*
3409 - Firefox::Screenshots
3415 machine_name: screenshots
3417 - name: Search and Address Bar
3418 description: The search service, address bar and address bar autocomplete.
3420 - browser/components/search/**/*
3421 - browser/components/urlbar/**/*
3422 - toolkit/components/search/**/*
3425 - Firefox::Address Bar
3437 machine_name: search_and_address_bar
3439 - name: Security and Privacy UI
3440 description: The front-end to our security and privacy features, including
3441 Protections UI, Site Identity, Site Permissions and Certificate Errors
3443 - browser/components/protections/**/*
3444 - browser/components/controlcenter/**/*
3448 - Nihanth Subramanya
3453 - Firefox::Protections UI
3454 - Firefox::Site Identity
3455 - Firefox::Site Permissions
3460 machine_name: security_and_privacy_ui
3462 - name: Session Restore
3463 description: Restoring a user's session after starting Firefox.
3465 - browser/components/sessionstore/**/*
3466 - toolkit/components/sessionstore/**/*
3474 - Firefox::Session Restore
3480 machine_name: session_restore
3483 description: The front-end settings user interface.
3485 - browser/components/preferences/**/*
3486 - browser/themes/*/preferences
3487 - toolkit/mozapps/preferences
3498 machine_name: settings_ui
3500 - name: Tabbed Browser
3501 description: The UI component controlling browser tabs.
3503 # TODO double check that this works as expected
3504 - browser/base/content/tabbrowser*
3505 - browser/modules/AsyncTabSwitcher.jsm
3508 - Firefox::Tabbed Browser
3516 machine_name: tabbed_browser
3518 - name: Windows Installer
3519 description: The installer for Windows.
3521 - browser/installer/**/*
3522 - toolkit/mozapps/installer/**/*
3525 - Firefox::Installer
3531 machine_name: windows_installer
3532 machine_name: desktop_firefox
3534 - machine_name: devtools
3536 description: Mozilla Developer Tools
3562 - Steve Fink (heapsnapshot code)
3572 - Panagiotis Astithas
3590 url: http://firefox-dev.tools/
3593 - machine_name: javascript_usage
3594 name: JavaScript usage, tools, and style
3595 description: Aspects of JavaScript use such as language feature usage, tooling
3596 such as lint configurations, formatting and naming style.
3598 - .eslintrc-test-paths.js
3599 - '**/.eslintignore'
3601 - tools/lint/eslint/**/*
3618 - machine_name: mozharness
3620 description: Configuration-driven script harness.
3622 - testing/mozharness/**/*
3635 - 'Release Engineering :: Applications: MozharnessCore'
3636 - machine_name: python_usage
3637 name: Python usage, tools, and style
3638 description: Aspects of Python use such as tooling, formatting and naming style
3640 - tools/lint/python/**/*
3650 - 'Developer Infrastructure :: Lint and Formatting'
3652 - machine_name: remote_protocol
3653 name: Remote Protocol
3654 description: Low-level remote protocol exposing interfaces for inspecting state
3655 and controlling execution of web documents, instrumenting various subsystems
3656 in the browser, simulating user interaction for automation purposes, and for
3657 subscribing to updates from the aforementioned.
3663 url: https://firefox-source-docs.mozilla.org/remote/
3672 - machine_name: remote_protocol_agent
3674 description: Underlying transport layer and server to allow remoting of Firefox
3675 for automation and debugging.
3680 - remote/marionette/*
3681 - remote/webdriver-bidi/*
3686 - Maja Frydrychowicz
3690 - 'Remote Protocol :: Agent'
3698 - machine_name: remote_protocol_cdp
3700 description: The core implementation for CDP support. Please file domain specific
3701 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3708 - Maja Frydrychowicz
3712 - 'Remote Protocol :: CDP'
3720 - machine_name: remote_protocol_marionette
3722 description: Marionette is a remote protocol that lets out-of-process programs
3723 communicate with, instrument, and control Gecko-based browsers. Combined
3724 with geckodriver, this forms our WebDriver classic implementation.
3726 - remote/marionette/*
3731 - Maja Frydrychowicz
3734 - 'Remote Protocol :: Marionette'
3735 group: dev-webdriver
3743 - machine_name: remote_protocol_webdriver_bidi
3744 name: WebDriver BiDi
3745 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3747 - remote/webdriver-bidi/*
3750 - 'Remote Protocol :: WebDriver BiDi'
3751 group: dev-webdriver
3759 - machine_name: sync
3761 description: Firefox Sync client
3763 - services/sync/**/*
3776 url: https://wiki.mozilla.org/Services/Process/Code_Review
3780 - machine_name: testing_firefox_ui
3782 description: Firefox UI test framework.
3784 - testing/firefox-ui/**/*
3787 - Maja Frydrychowicz
3789 - 'Testing :: Firefox UI'
3797 - machine_name: testing_geckodriver
3799 description: Proxy for using W3C WebDriver-compatible clients to interact with
3800 Gecko-based browsers.
3802 - testing/geckodriver/**/*
3810 - 'Testing :: geckodriver'
3811 group: dev-webdriver
3813 - machine_name: testing_gtest
3815 description: GTest test harness.
3817 - testing/gtest/**/*
3824 - 'Testing :: GTest'
3826 - machine_name: testing_marionette_client_harness
3827 name: Marionette Client & Harness
3828 description: Python client and harness for the Marionette remote protocol implementation.
3830 - testing/marionette/**/*
3835 - Maja Frydrychowicz
3838 - 'Testing :: Marionette Client & Harness'
3846 - machine_name: testing_mochitest
3848 description: Mochitest test framework
3850 - testing/mochitest/**/*
3859 - 'Testing :: Mochitest'
3860 - machine_name: testing_mozbase
3862 description: Base modules used for implementing test components.
3876 - 'Testing :: Mozbase'
3877 - 'Testing :: Mozbase Rust'
3878 - machine_name: testing_performance_testing
3879 name: Performance Testing
3881 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3882 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3883 the owners/peers of the various components (linked below).
3885 - testing/raptor/**/*
3886 - testing/talos/**/*
3887 - python/mozperftest/**/*
3889 - tools/lint/perfdocs/**/*
3890 - testing/perfdocs/**/*
3891 - testing/performance/**/*
3892 - testing/condprofile/**/*
3893 - tools/browsertime/**/*
3894 - tools/tryselect/selectors/perf.py
3905 - 'Testing :: Raptor'
3906 - 'Testing :: Talos'
3908 - 'Testing :: Performance'
3909 - 'Testing :: mozperftest'
3910 - 'Testing :: Condprofile'
3911 url: :ref:`Performance Testing`
3912 - machine_name: testing_reftest
3913 name: Reftest (+ jsreftest + crashtest)
3914 description: Reftest test framework
3916 - layout/tools/reftest/**/*
3925 - 'Testing :: Reftest'
3926 - machine_name: testing_tryselect
3928 description: Frontend for selecting jobs on the try server.
3930 - tools/tryselect/**/*
3938 - 'Developer Infrastructure :: Try'
3939 - machine_name: testing_web_platform_tests_infrastructure
3940 name: web-platform-tests infrastructure
3941 description: Infrastructure for running the cross-browser web-platform-tests
3943 - testing/web-platform/**/*
3944 - testing/web-platform/tests/tools/**/*
3946 - testing/web-platform/tests/**/*
3947 - testing/web-platform/meta/**/*
3948 - testing/web-platform/mozilla/**/*
3954 - 'Testing :: web-platform-tests'
3955 - machine_name: testing_xpcshell
3957 description: XPCShell test harness.
3959 - testing/xpcshell/**/*
3967 - Testing::XPCShell Harness
3969 description: Components shared between desktop and mobile browsers.
3986 - name: Application Startup
3987 description: The profile system and startup process before the front-end launches.
3989 - toolkit/profile/**/*
3990 - toolkit/components/remote/**/*
3997 machine_name: application_startup
4001 The core infrastructure in the Firefox client to send back telemetry
4002 data. Includes the common mechanisms to record, view and submit data: Legacy
4003 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4004 does ''not'' include responsibility for every piece of submitted Telemetry
4005 data. Each team/module is responsible for their own measurements (histograms,
4006 scalars, other ping submissions, etc.).
4008 - toolkit/components/glean/**/*
4009 - toolkit/components/telemetry/**/*
4010 - toolkit/content/aboutTelemetry.*
4015 url: :ref:`Telemetry`
4023 machine_name: telemetry
4026 description: The base widgets used throughout the UI.
4028 - toolkit/content/widgets/**/*
4035 machine_name: ui_widgets
4037 - name: Webextensions
4038 description: Webextension APIs and integration.
4040 - browser/components/extensions/**/*
4041 - toolkit/components/extensions/**/*
4053 machine_name: webextensions
4054 machine_name: toolkit
4055 - machine_name: url_classifier
4056 name: URL Classifier
4057 description: Database and list-based classification of URL resources, such as
4058 Tracking Protection and SafeBrowsing.
4060 - toolkit/components/url-classifier/**/*
4061 - netwerk/url-classifier/**/*
4070 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4071 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4079 config: d9dcf5cedd0ecf9b7c3c06fded5f691b9f1a8f1a
4080 export: efcd21ae36e1484bdda851f78032c3cc512e6cf2