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-15T14:56:45.077565'
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
321 name: Emilio Cobos Álvarez
325 name: Masatoshi Kimura
344 name: Nick Fitzgerald
348 name: Francesco Lodolo
364 name: Gian-Carlo Pascutto
386 name: Gabriele Svelto
390 name: Haik Aftandilian
398 name: Hiroyuki Ikezoe
406 name: Jan Honza Odvarko
430 name: Jan-Erik Rediger
450 name: Julian Descottes
478 name: Jan-Ivar Bruaroey
506 name: Jonathan Almeida
537 name: Jean-Yves Avenard
561 name: Kimberly Sereduck
562 nick: kimberlythegeek
589 name: Dzmitry Malyshau
601 name: Lougenia Bailey
617 name: Marco Castelluccio
633 name: Masayuki Nakano
642 nick: MatsPalmgren_bugz
653 name: Andrew McCreight
688 name: Morgan Reschenberg
728 name: Nicolas Chevobbe
740 name: Niklas Baumgardner
752 name: Alexandre Poirot
776 name: Andreas Pehrson
784 name: Peter Van der Beken
824 name: Alexandra Borovova
848 name: Shravan Narayan
864 name: Greg Mierzwinski
880 name: Martin Stránský
887 name: Sylvestre Ledru
930 name: Toshihito Kikuchi
993 name: Tomislav Jovanovic
996 - name: mozilla-toplevel
997 description: The top level directory for the mozilla tree.
1000 # TODO: verify, as this was toolkit/README
1005 # - Technical Leadership Module
1008 machine_name: _mozillatoplevel
1010 - machine_name: code_coverage
1012 description: Tools for code coverage instrumentation, and coverage data parsing
1015 - tools/code-coverage/**/*
1016 - python/mozbuild/mozbuild/codecoverage/**/*
1017 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1026 - 'Testing :: Code Coverage'
1027 - name: 'Core: Accessibility'
1028 description: Support for platform accessibility APIs. Accessibility APIs are used
1029 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1030 software, which need information about document content and UI controls, as
1031 well as important events like changes of focus.
1044 group: dev-accessibility
1045 url: https://developer.mozilla.org/docs/Web/Accessibility
1047 - Core::Disability Access APIs
1054 machine_name: core_accessibility
1056 - name: 'Core: Animation'
1057 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1058 API, and off-main thread animations.'
1060 - dom/animation/**/*
1061 # TODO "and animation-related and interpolation-related code
1062 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1066 - Core::DOM::Animation
1067 - Core::CSS Transitions and Animations
1075 machine_name: core_animation
1077 - name: 'Core: Anti-Tracking'
1078 description: Tracking detection and content-blocking.
1080 - toolkit/components/antitracking/**/*
1081 # several files under browser/ and netwerk/url-classifier/ **TODO**
1089 - 'Core::Privacy: Anti-Tracking'
1097 machine_name: core_antitracking
1099 - name: 'Core: APZ (Graphics submodule)'
1100 description: Asynchronous panning and zooming
1102 - gfx/layers/apz/**/*
1109 url: https://wiki.mozilla.org/Platform/GFX/APZ
1111 - Core::Panning and Zooming
1119 machine_name: core_apz_graphics_submodule
1121 - name: 'Core: Browser WebAPI'
1122 description: Web API for rendering apps, browser windows and widgets.
1124 - dom/browser-element/**/*
1135 machine_name: core_browser_webapi
1137 - name: 'Core: Build and Release Tools'
1138 description: Tools related to build and release automation and configuration of
1141 - tools/update-packaging/**/*
1142 - tools/update-verify/**/*
1146 group: release-engineering
1147 url: https://wiki.mozilla.org/ReleaseEngineering
1149 - Release Engineering::*
1155 machine_name: core_build_and_release_tools
1157 - name: 'Core: Build Config'
1158 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1163 - python/mozbuild/**/*
1164 - browser/config/mozconfigs/**/*
1182 url: :ref:`Build System`
1184 - Core::Build Config
1191 - name: 'Core: Build Config - Fennec'
1192 description: Submodule of the build config covering Fennec's build system
1197 - Core::Build Config
1201 machine_name: core_build_config_fennec
1203 - name: 'Core: Build Config - Taskgraph'
1204 description: Support for task-graph generation in decision, action, and cron
1205 tasks, including configuration of all tasks including those for CI, nightlies,
1206 and releases; as well as Docker and VM images used to execute those tasks.
1211 - Firefox Build System::Task Configuration
1227 machine_name: core_build_config_taskgraph
1228 machine_name: core_build_config
1230 - name: 'Core: Code Analysis and Debugging Tools'
1231 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1232 and other characteristics of it.
1235 - tools/leak-gauge/**/*
1236 - tools/performance/**/*
1239 group: dev-performance
1243 machine_name: core_code_analysis_and_debugging_tools
1245 - name: 'Core: Content Security'
1246 description: 'Native content-based security features enforced in the ContentSecurityManager,
1247 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1248 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1249 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1250 and top-level data: URI blocking.'
1262 - 'Core::DOM: Security'
1270 machine_name: core_content_security
1272 - name: 'Core: Cookies'
1275 - netwerk/cookie/**/*
1283 - Christian Biesinger
1288 - 'Core::Networking: Cookies'
1293 machine_name: core_cookies
1295 - name: 'Core: Crash reporting'
1296 description: Infrastructure and tools used to generate, submit and process crash
1297 reports. This includes the in-tree google-breakpad fork, the crash report generation
1298 machinery as well as the host tools used to dump symbols, analyse minidumps
1299 and generate stack traces.
1301 - toolkit/crashreporter/**/*
1302 - toolkit/components/crashes/**/*
1303 - tools/crashreporter/**/*
1304 - ipc/glue/CrashReporter*
1305 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1310 url: :ref:`Crash Reporter`
1312 - Toolkit::Crash Reporting
1318 machine_name: core_crash_reporting
1320 - machine_name: core_credentials
1321 name: 'Core: Credentials'
1322 description: API Surface for FedCM and WebAuthn
1324 - toolkit/components/credentialmanagement/**/*
1325 - browser/components/credentialmanager/**/*
1326 - dom/credentialmanagement/**/*
1338 - 'Core::DOM: Credential Management'
1339 - 'Core::DOM: Web Authentication'
1341 - name: 'Core: C++/Rust usage, tools, and style'
1342 description: Aspects of C++ use such as language feature usage, standard library
1343 versions/usage, compiler/toolchain versions, formatting and naming style, and
1344 aspects of Rust use as needs arise
1346 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1347 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1348 # - docs/code-quality/**/*
1349 # - docs/testing-rust-code/**/*
1350 # - docs/writing-rust-code/**/*
1365 machine_name: core_crust_usage_tools_and_style
1367 - name: 'Core: Cycle Collector'
1368 description: Code to break and collect objects within reference cycles
1370 - xpcom/base/nsCycleCollect*
1371 # TODO "and some support headers"
1372 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1378 - Core::Cycle Collector
1384 machine_name: core_cycle_collector
1386 - name: 'Core: DLL Services'
1387 description: Windows dynamic linker instrumentation and blocking
1389 - toolkit/xre/dllservices/**/*
1395 - Core::DLL Services
1400 machine_name: core_dll_services
1402 - name: 'Core: docshell'
1406 - uriloader/base/**/*
1412 - Christian Biesinger
1418 - Core::Document Navigation
1425 machine_name: core_docshell
1427 - name: 'Core: Document Object Model'
1431 exclude_module_paths: true
1448 url: http://developer.mozilla.org/en/docs/DOM
1451 - 'Core::DOM: CSS Object Model'
1452 - 'Core::DOM: Core & HTML'
1467 machine_name: core_document_object_model
1469 - name: 'Core: DOM File'
1470 description: DOM Blob, File and FileSystem APIs
1473 - dom/filesystem/**/*
1476 url: http://developer.mozilla.org/en/docs/DOM
1483 machine_name: core_dom_file
1485 - machine_name: core_dom_streams
1486 name: 'Core: DOM Streams'
1487 description: Streams Specification implementation
1498 url: http://developer.mozilla.org/en/docs/DOM
1501 - 'Core::DOM: Streams'
1502 - name: 'Core: Editor'
1517 machine_name: core_editor
1519 - name: 'Core: Event Handling'
1520 description: DOM Events and Event Handling
1523 # TODO "and event handling related code elsewhere"
1528 url: http://developer.mozilla.org/en/docs/DOM
1530 - 'Core::DOM: Events'
1531 - 'Core::DOM: UI Events & Focus Handling'
1537 machine_name: core_event_handling
1539 - machine_name: core_firefox_source_documentation
1540 name: 'Core: Firefox Source Documentation'
1541 description: The infrastructure platform used to generate Firefox's source documentation,
1542 excluding editorial control over the content.
1545 - tools/moztreedocs/
1552 - Developer Infrastructure::Source Documentation
1553 url: https://firefox-source-docs.mozilla.org/
1554 - name: 'Core: Gecko Profiler'
1555 description: Gecko's built-in profiler
1557 - tools/profiler/**/*
1558 - mozglue/baseprofiler/**/*
1563 - Shu-yu Guo (JS integration)
1564 - Thinker Lee (TaskTracer)
1565 - Cervantes Yu (TaskTracer)
1566 - Nicholas Nethercote
1572 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1574 - Core::Gecko Profiler
1581 machine_name: core_gecko_profiler
1583 - name: 'Core: GeckoView'
1584 description: Framework for embedding Gecko into Android applications
1586 - mobile/android/**/*
1587 - widget/android/**/*
1599 url: https://wiki.mozilla.org/Mobile/GeckoView
1601 - GeckoView::General
1609 machine_name: core_geckoview
1611 - name: 'Core: Global Key Bindings'
1612 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1613 and the like, as those are part of i18n.
1616 # TODO "and platform specific directories under it"
1618 group: dev-accessibility
1619 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1621 - 'Core::Keyboard: Navigation'
1626 machine_name: core_global_key_bindings
1628 - name: 'Core: Graphics'
1629 description: Mozilla graphics API
1637 - Benoit Girard(Compositor, Performance)
1639 - George Wright(Canvas2D)
1643 - John Daggett(text/fonts)
1644 - Benoit Jacob(gfx/gl)
1646 - Vladimir Vukicevic
1647 - James Willcox(Android)
1650 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1651 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1654 - 'Core::Graphics: Layers'
1655 - 'Core::Graphics: Text'
1656 - 'Core::Graphics: WebRender'
1657 - 'Core::GFX: Color Management'
1658 - 'Core::Canvas: 2D'
1659 - 'Core::Canvas: WebGL'
1671 machine_name: core_graphics
1674 description: Hardware Abstraction Layer
1680 - Core::Hardware Abstraction Layer (HAL)
1684 machine_name: core_hal
1686 - name: 'Core: HTML Parser'
1687 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1688 to the HTML specification, and is mostly translated automatically from Java
1694 url: http://about.validator.nu/
1696 - 'Core::HTML: Parser'
1701 machine_name: core_html_parser
1703 - name: 'Core: I18N Library'
1712 url: :ref:`Internationalization`
1714 - Core::Internationalization
1722 machine_name: core_i18n_library
1724 - name: 'Core: ImageLib'
1727 - media/libjpeg/**/*
1744 machine_name: core_imagelib
1746 - name: 'Core: IndexedDB'
1749 - dom/indexedDB/**/*
1757 url: https://developer.mozilla.org/en/IndexedDB
1759 - 'Core::DOM: IndexedDB'
1766 machine_name: core_indexeddb
1769 description: Native message-passing between threads and processes
1796 machine_name: core_ipc
1798 - name: 'Core: JavaScript'
1799 description: JavaScript engine (SpiderMonkey)
1823 - Nicholas Nethercote
1828 url: https://spidermonkey.dev/
1830 - Core::JavaScript Engine
1831 - 'Core::JavaScript: GC'
1832 - 'Core::JavaScript: Internationalization API'
1833 - 'Core::JavaScript: Standard Library'
1834 - 'Core::JavaScript: WebAssembly'
1856 machine_name: core_javascript
1858 - name: 'Core: JavaScript JIT'
1859 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1867 url: https://spidermonkey.dev/
1869 - 'Core::JavaScript Engine: JIT'
1885 machine_name: core_javascript_jit
1887 - name: 'Core: js-tests'
1888 description: JavaScript test suite
1892 group: dev-tech-js-engine
1893 url: http://www.mozilla.org/js/tests/library.html
1897 machine_name: core_jstests
1899 - name: 'Core: Layout Engine'
1900 description: rendering tree construction, layout (reflow), etc.
1906 - layout/generic/**/*
1907 - layout/printing/**/*
1908 - layout/tables/**/*
1917 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1920 - 'Core::Layout: Block and Inline'
1921 - 'Core::Layout: Columns'
1922 - 'Core::Layout: Flexbox'
1923 - 'Core::Layout: Floats'
1924 - 'Core::Layout: Form Controls'
1925 - 'Core::Layout: Generated Content, Lists, and Counters'
1926 - 'Core::Layout: Grid'
1927 - 'Core::Layout: Images, Video, and HTML Frames'
1928 - 'Core::Layout: Positioned'
1929 - 'Core::Layout: Ruby'
1930 - 'Core::Layout: Scrolling and Overflow'
1931 - 'Core::Layout: Tables'
1932 - 'Core::Layout: Text and Fonts'
1933 - Core::Print Preview
1934 - 'Core::Printing: Output'
1946 machine_name: core_layout_engine
1948 - name: 'Core: Legacy HTML Parser'
1951 - parser/htmlparser/**/*
1955 url: http://www.mozilla.org/newlayout/doc/parser.html
1957 - 'Core::HTML: Parser'
1964 machine_name: core_legacy_html_parser
1966 - name: 'Core: libjar'
1967 description: The JAR handling code (protocol handler, stream implementation, and
1968 zipreader/zipwriter).
1970 - modules/libjar/**/*
1980 - 'Core::Networking: JAR'
1986 machine_name: core_libjar
1988 - name: 'Core: MathML'
1989 description: MathML is a low-level specification for describing mathematics which
1990 provides a foundation for the inclusion of mathematical expressions in Web pages.
1992 - layout/mathml/**/*
1994 group: dev-tech-mathml
1995 url: https://developer.mozilla.org/docs/Web/MathML
2002 machine_name: core_mathml
2004 - name: 'Core: Media Playback'
2005 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2006 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2009 - media/gmp-clearkey/**/*
2010 - media/libcubeb/**/*
2011 - media/libnestegg/**/*
2013 - media/libopus/**/*
2014 - media/libtheora/**/*
2015 - media/libtremor/**/*
2016 - media/libvorbis/**/*
2018 - dom/media/platforms/omx/**/*
2019 - dom/media/gmp/rlz/**/*
2034 machine_name: core_media_playback
2036 - name: 'Core: Media Transport'
2037 description: Pluggable transport for real-time media
2039 - dom/media/webrtc/transport/**/*
2043 - Core::WebRTC::Networking
2050 machine_name: core_media_transport
2052 - name: 'Core: Memory Allocator'
2053 description: Most things related to memory allocation in Gecko, including jemalloc,
2054 replace-malloc, DMD (dark matter detector), logalloc, etc.
2060 - Nicholas Nethercote
2068 machine_name: core_memory_allocator
2070 - name: 'Core: mfbt'
2071 description: mfbt is a collection of headers, macros, data structures, methods,
2072 and other functionality available for use and reuse throughout all Mozilla code
2073 (including SpiderMonkey and Gecko more broadly).
2085 machine_name: core_mfbt
2087 - name: 'Core: Moz2D (Graphics submodule)'
2088 description: Platform independent 2D graphics API
2093 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2101 machine_name: core_moz2d_graphics_submodule
2103 - name: 'Core: Mozglue'
2104 description: Glue library containing various low-level functionality, including
2105 a dynamic linker for Android, a DLL block list for Windows, etc.
2113 - Kartikaya Gupta (mozglue/android)
2118 machine_name: core_mozglue
2120 - name: 'Core: MSCOM'
2121 description: Integration with Microsoft Distributed COM
2131 - 'Core::IPC: MSCOM'
2134 machine_name: core_mscom
2136 - name: 'Core: Necko'
2137 description: The Mozilla Networking Library
2141 - netwerk/build/**/*
2142 - netwerk/cache/**/*
2144 - netwerk/locales/**/*
2146 - netwerk/protocol/**/*
2147 - netwerk/socket/**/*
2148 - netwerk/streamconv/**/*
2149 - netwerk/system/**/*
2154 - dom/websocket/**/*
2155 - uriloader/prefetch/**/*
2156 - uriloader/preload/**/*
2159 - Dragana Damjanovic
2161 - Christian Biesinger
2172 group: dev-tech-network
2173 url: :ref:`Networking`
2176 - 'Core::Networking: Cache'
2177 - 'Core::Networking: Cookies'
2178 - 'Core::Networking: FTP'
2179 - 'Core::Networking: File'
2180 - 'Core::Networking: HTTP'
2181 - 'Core::Networking: JAR'
2182 - 'Core::Networking: Websockets'
2183 - 'Core::DOM: Networking'
2189 machine_name: core_necko
2191 - name: 'Core: NodeJS usage, tools, and style'
2192 description: Advises on the use of NodeJS and npm packages at build and runtime.
2193 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2194 teams to maintain automated license and security audits of npm packages. Works
2195 with the security team and relevant developers to respond to vulnerabilities
2196 in NodeJS and vendored npm packages.
2201 # TODO: and others as appropriate
2205 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2214 machine_name: core_nodejs_usage_tools_and_style
2216 - name: 'Core: NSPR'
2217 description: Netscape Portable Runtime
2223 group: dev-tech-nspr
2231 machine_name: core_nspr
2234 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2237 - toolkit/components/pdfjs/**/*
2245 url: https://github.com/mozilla/pdf.js
2252 machine_name: core_pdf
2254 - name: 'Core: Permissions'
2257 - extensions/permissions/**/*
2266 - Christian Biesinger
2271 - 'Core :: Permission Manager'
2278 machine_name: core_permissions
2280 - name: 'Core: Plugins'
2281 description: ' NPAPI Plugin support.'
2293 url: https://wiki.mozilla.org/Plugins
2298 machine_name: core_plugins
2300 - name: 'Core: Preferences'
2301 description: Preference library
2303 - modules/libpref/**/*
2306 - Nicholas Nethercote
2312 - 'Core::Preferences: Backend'
2318 machine_name: core_preferences
2320 - name: 'Core: Private Browsing'
2321 description: Implementation of the Private Browsing mode, and the integration
2322 of other modules with Private Browsing APIs.
2325 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2326 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2334 url: https://wiki.mozilla.org/Private_Browsing
2336 - Firefox::Private Browsing
2341 machine_name: core_private_browsing
2343 - name: 'Core: Privilege Manager'
2344 description: Caps is the capabilities-based security system.
2353 url: http://www.mozilla.org/projects/security/components/index.html
2355 - 'Core::Security: CAPS'
2361 machine_name: core_privilege_manager
2363 - name: 'Core: Push Notifications'
2364 description: Push is a way for application developers to send messages to their
2375 - 'Core::DOM: Push Notifications'
2379 machine_name: core_push_notifications
2381 - name: 'Core: Sandboxing (Linux)'
2382 description: Sandboxing for the Linux platform
2384 - security/sandbox/linux/**/*
2387 url: https://wiki.mozilla.org/Security/Sandbox
2389 - 'Core::Security: Process Sandboxing'
2394 machine_name: core_sandboxing_linux
2396 - name: 'Core: Sandboxing (OSX)'
2397 description: Sandboxing for the OSX platform
2399 - security/sandbox/mac/**/*
2402 url: https://wiki.mozilla.org/Security/Sandbox
2404 - 'Core::Security: Process Sandboxing'
2408 machine_name: core_sandboxing_osx
2410 - name: 'Core: Sandboxing (Windows)'
2411 description: Sandboxing for the Windows platform
2413 - security/sandbox/win/**/*
2423 url: https://wiki.mozilla.org/Security/Sandbox
2425 - 'Core::Security: Process Sandboxing'
2430 machine_name: core_sandboxing_windows
2432 - name: 'Core: security'
2433 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2446 group: dev-tech-crypto
2447 url: :ref:`Network Security Services (NSS)`
2452 - 'Core::Security: S/MIME'
2465 machine_name: core_security
2467 - name: 'Core: Security - Mozilla PSM Glue'
2468 description: Personal Security Manager
2470 - security/manager/**/*
2473 - Kai Engert (2001-2012)
2474 group: dev-tech-crypto
2476 - 'Core::Security: PSM'
2485 machine_name: core_security_mozilla_psm_glue
2487 - machine_name: core_security_rlbox
2488 name: Security - RLBox
2489 description: Sandboxing using WASM/RLBox libraries.
2493 - third_party/rlbox_wasm2c_sandbox
2503 - 'Core::Security: RLBox'
2504 - name: 'Core: Static analysis & rewriting for C++'
2505 description: Tools for checking C++ code looking for problems at compile time,
2506 plus tools for automated rewriting of C++ code.
2508 - build/clang-plugin/**/*
2509 - tools/rewriting/**/*
2510 # TODO among other out of tree tools
2513 - Birunthan Mohanathas
2517 - Core::Rewriting & Analysis
2524 machine_name: core_static_analysis_rewriting_for_c
2526 - name: 'Core: storage'
2527 description: Storage APIs with a SQLite backend
2529 - third_party/sqlite3/**/*
2533 url: http://developer.mozilla.org/en/docs/Storage
2535 - Toolkit::Storage, Core::SQL
2543 machine_name: core_storage
2545 - name: 'Core: String'
2550 group: dev-tech-xpcom
2551 url: :ref:`String Guide`
2558 machine_name: core_string
2560 - name: 'Core: Style System'
2561 description: CSS style sheet handling; style data computation
2572 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2574 - Core::CSS Parsing and Computation
2580 machine_name: core_style_system
2583 description: Scalable Vector Graphics
2590 url: https://developer.mozilla.org/docs/Web/SVG
2600 machine_name: core_svg
2602 - name: 'Core: UA String'
2603 description: User Agent String
2605 - netwerk/protocol/http/**/*
2608 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2610 - 'Core::Networking: HTTP'
2616 machine_name: core_ua_string
2618 - name: 'Core: View System'
2619 description: The View Manager is responsible for handling "heavyweight" rendering
2620 (some clipping, compositing) and event handling tasks.
2628 - 'Core::Layout: View Rendering'
2634 machine_name: core_view_system
2636 - name: 'Core: Web Audio'
2637 description: Support for the W3C Web Audio API specification.
2639 - dom/media/webaudio/**/*
2644 url: https://wiki.mozilla.org/Web_Audio_API
2652 machine_name: core_web_audio
2654 - name: 'Core: Web Painting'
2655 description: painting, display lists, and layer construction
2657 - layout/painting/**/*
2658 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2661 url: :ref:`Layout & CSS`
2663 - 'Core::Layout: Web Painting'
2674 machine_name: core_web_painting
2676 - name: 'Core: Web Workers'
2689 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2691 - 'Core::DOM: Workers'
2697 machine_name: core_web_workers
2699 - name: 'Core: WebGPU (Graphics submodule)'
2700 description: WebGPU implementation
2705 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2707 - Core::Graphics::WebGPU
2713 machine_name: core_webgpu_graphics_submodule
2715 - name: 'Core: WebRTC'
2716 description: WebRTC is responsible for realtime audio and video communication,
2717 as well as related issues like low-level camera and microphone access
2720 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2725 url: https://wiki.mozilla.org/Media/webrtc
2728 - Core::WebRTC Networking
2735 machine_name: core_webrtc
2737 - name: 'Core: WebVR'
2738 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2739 including API, devices, graphics and integration
2745 - Vladimir Vukicevic
2748 url: https://mozvr.com/
2757 - name: 'Core: WebRTC Media'
2758 description: Submodule of WebRTC responsible for access to media input devices
2759 (microphones, cameras, screen capture), as well as realtime audiovisual
2760 codecs and packetization.
2763 - dom/media/webrtc/**/*
2764 - dom/media/systemservices/**/*
2770 url: https://wiki.mozilla.org/Media/webrtc
2772 - Core::WebRTC (Audio/Video)
2779 machine_name: core_webrtc_media
2781 - name: 'Core: WebRTC Signaling'
2782 description: Submodule of WebRTC responsible for implementation of PeerConnection
2783 API, WebRTC identity, and SDP/JSEP handling
2785 - media/webrtc/signaling/**/*
2790 url: https://wiki.mozilla.org/Media/webrtc
2792 - Core::WebRTC (Signaling)
2800 machine_name: core_webrtc_signaling
2801 machine_name: core_webvr
2803 - name: 'Core: Widget'
2804 description: Top level Widget
2809 - Vladimir Vukicevic
2816 - Core::Drag and Drop
2818 - 'Core::Printing: Setup'
2821 machine_name: core_widget
2823 - name: 'Core: Widget - Android'
2824 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2829 machine_name: core_widget_android
2831 - name: 'Core: Widget - GTK'
2832 description: GTK widget support
2839 url: http://www.mozilla.org/ports/gtk/
2841 - 'Core::Widget: Gtk'
2846 machine_name: core_widget_gtk
2848 - name: 'Core: Widget - Headless'
2849 description: Headless widget support
2851 - widget/headless/**/*
2860 machine_name: core_widget_headless
2862 - name: 'Core: Widget - macOS'
2863 description: ' macOS widget support'
2876 - 'Core::Widget: Cocoa'
2882 machine_name: core_widget_macos
2884 - name: 'Core: Widget - Windows'
2885 description: Windows widget support
2887 - widget/windows/**/*
2893 - Vladimir Vukicevic
2896 - Christian Biesinger
2898 - Josh 'timeless' Soref
2905 - 'Core::Widget: Win32'
2911 machine_name: core_widget_windows
2914 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2915 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2916 that are not covered by more specific projects.
2932 machine_name: core_xml
2934 - name: 'Core: XPApps'
2935 description: Cross-Platform Applications, mostly Navigator front end and application
2940 group: dev-apps-seamonkey
2944 - Josh 'timeless' Soref
2947 machine_name: core_xpapps
2949 - name: 'Core: XPCOM'
2950 description: The cross-platform object model and core data structures.
2956 - xpcom/components/**/*
2960 - xpcom/reflect/**/*
2964 - xpcom/threads/**/*
2965 - xpcom/windbgdlg/**/*
2986 machine_name: core_xpcom
2988 - name: 'Core: XPConnect'
2989 description: Deep Magic
3008 machine_name: core_xpconnect
3010 - name: 'Core: XPIDL'
3011 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3012 runtime type description files from .idl interface description files.
3014 - xpcom/idl-parser/**/*
3021 - Josh 'timeless' Soref
3022 group: dev-tech-xpcom
3028 machine_name: core_xpidl
3030 - name: 'Core: XSLT Processor'
3031 description: XSLT transformations processor
3039 group: dev-tech-xslt
3040 url: https://developer.mozilla.org/docs/Web/XSLT
3046 machine_name: core_xslt_processor
3048 - name: Desktop Firefox
3049 description: Standalone Web Browser.
3062 - Tim Guan-tin Chien
3092 - name: Add-ons Manager
3093 description: Extension management back-end.
3095 - toolkit/mozapps/extensions/**/*
3109 machine_name: addons_manager
3111 - name: Add-ons Manager UI
3112 description: about:addons.
3114 - toolkit/mozapps/extensions/content/**/*
3127 machine_name: addons_manager_ui
3129 - name: Application Update
3130 description: The application update services.
3132 - toolkit/mozapps/update/**/*
3139 machine_name: application_update
3141 - name: Bookmarks & History
3142 description: The bookmarks and history services (Places).
3144 - browser/components/places/**/*
3145 - toolkit/components/places/**/*
3160 machine_name: bookmarks_history
3162 - name: Desktop Theme
3163 description: The style rules used in the desktop UI.
3165 - browser/themes/**/*
3166 - toolkit/themes/**/*
3179 machine_name: desktop_theme
3182 description: The main browser UI except where covered by more specific submodules.
3184 - browser/base/content/**/*
3191 machine_name: desktop_ui
3193 - name: Download Manager
3194 description: The downloads UI and service.
3196 - browser/components/downloads/**/*
3197 - toolkit/mozapps/downloads/**/*
3198 - uriloader/exthandler/**/*
3208 machine_name: download_manager
3210 - name: Enterprise Policies
3211 description: System policies for controlling Firefox.
3213 - browser/components/enterprisepolicies/**/*
3218 machine_name: enterprise_policies
3220 - name: Experiments/Rollouts
3221 description: Desktop clients for our experiments and off-train deployments
3224 - toolkit/components/normandy/**/*
3225 - toolkit/components/nimbus/**/*
3231 - Firefox::Nimbus Desktop Client
3232 url: https://experimenter.info/
3238 machine_name: normandy
3240 - machine_name: firefox_view
3242 description: The Firefox View page and its modules.
3244 - browser/components/firefoxview/**/*
3251 - name: Form Autofill
3252 description: Form detection and autocomplete.
3254 - browser/extensions/formautofill/**/*
3255 - toolkit/components/satchel/**/*
3258 - Matthew Noorenberghe
3264 machine_name: form_autofill
3266 - name: In-product Messaging
3267 description: The system for delivering in-product messaging.
3269 - toolkit/components/messaging-system/**/*
3272 - Firefox::Messaging System
3279 machine_name: inproduct_messaging
3281 - name: Launcher Process
3282 description: Windows process for bootstrapping the browser process.
3284 - browser/app/winlauncher/**/*
3290 - Firefox::Launcher Process
3295 machine_name: launcher_process
3297 - machine_name: localization
3299 description: Tooling to enable translation and facilitate localization.
3307 - name: New Tab Page
3308 description: The new tab/home page.
3310 - browser/components/newtab/**/*
3313 - Firefox::New Tab Page
3320 machine_name: new_tab_page
3323 description: The onboarding experience including UI tours.
3325 - browser/components/uitour/**/*
3333 machine_name: onboarding
3335 - name: Password Manager
3336 description: Managing, saving and filling logins.
3338 - toolkit/components/passwordmgr/**/*
3339 - browser/components/aboutlogins/**/*
3342 - Matthew Noorenberghe
3346 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3348 - Toolkit::Password Manager
3349 - 'Toolkit::Password Manager: Site'
3351 - Firefox::about:logins
3359 machine_name: password_manager
3361 - machine_name: firefox_pip
3362 name: Picture-in-Picture
3363 description: A component that allows video elements to be pulled out into
3364 an always-on-top window.
3366 - toolkit/components/pictureinpicture
3367 - browser/extensions/pictureinpicture
3377 - name: Profile Migration
3378 description: Migrating data from other browsers.
3380 - browser/components/migration/**/*
3388 machine_name: profile_migration
3391 description: Code relating to Screenshots functionality
3393 - browser/extensions/screenshots/**/*
3394 - browser/components/screenshots/**/*
3402 - Firefox::Screenshots
3408 machine_name: screenshots
3410 - name: Search and Address Bar
3411 description: The search service, address bar and address bar autocomplete.
3413 - browser/components/search/**/*
3414 - browser/components/urlbar/**/*
3415 - toolkit/components/search/**/*
3418 - Firefox::Address Bar
3430 machine_name: search_and_address_bar
3432 - name: Security and Privacy UI
3433 description: The front-end to our security and privacy features, including
3434 Protections UI, Site Identity, Site Permissions and Certificate Errors
3436 - browser/components/protections/**/*
3437 - browser/components/controlcenter/**/*
3441 - Nihanth Subramanya
3446 - Firefox::Protections UI
3447 - Firefox::Site Identity
3448 - Firefox::Site Permissions
3453 machine_name: security_and_privacy_ui
3455 - name: Session Restore
3456 description: Restoring a user's session after starting Firefox.
3458 - browser/components/sessionstore/**/*
3459 - toolkit/components/sessionstore/**/*
3467 - Firefox::Session Restore
3473 machine_name: session_restore
3476 description: The front-end settings user interface.
3478 - browser/components/preferences/**/*
3479 - browser/themes/*/preferences
3480 - toolkit/mozapps/preferences
3491 machine_name: settings_ui
3493 - name: Tabbed Browser
3494 description: The UI component controlling browser tabs.
3496 # TODO double check that this works as expected
3497 - browser/base/content/tabbrowser*
3498 - browser/modules/AsyncTabSwitcher.jsm
3501 - Firefox::Tabbed Browser
3509 machine_name: tabbed_browser
3511 - name: Windows Installer
3512 description: The installer for Windows.
3514 - browser/installer/**/*
3515 - toolkit/mozapps/installer/**/*
3518 - Firefox::Installer
3524 machine_name: windows_installer
3525 machine_name: desktop_firefox
3527 - machine_name: devtools
3529 description: Mozilla Developer Tools
3555 - Steve Fink (heapsnapshot code)
3565 - Panagiotis Astithas
3583 url: http://firefox-dev.tools/
3586 - machine_name: javascript_usage
3587 name: JavaScript usage, tools, and style
3588 description: Aspects of JavaScript use such as language feature usage, tooling
3589 such as lint configurations, formatting and naming style.
3591 - .eslintrc-test-paths.js
3592 - '**/.eslintignore'
3594 - tools/lint/eslint/**/*
3611 - machine_name: mozharness
3613 description: Configuration-driven script harness.
3615 - testing/mozharness/**/*
3628 - 'Release Engineering :: Applications: MozharnessCore'
3629 - machine_name: python_usage
3630 name: Python usage, tools, and style
3631 description: Aspects of Python use such as tooling, formatting and naming style
3633 - tools/lint/python/**/*
3643 - 'Developer Infrastructure :: Lint and Formatting'
3645 - machine_name: remote_protocol
3646 name: Remote Protocol
3647 description: Low-level remote protocol exposing interfaces for inspecting state
3648 and controlling execution of web documents, instrumenting various subsystems
3649 in the browser, simulating user interaction for automation purposes, and for
3650 subscribing to updates from the aforementioned.
3656 url: https://firefox-source-docs.mozilla.org/remote/
3665 - machine_name: remote_protocol_agent
3667 description: Underlying transport layer and server to allow remoting of Firefox
3668 for automation and debugging.
3673 - remote/marionette/*
3674 - remote/webdriver-bidi/*
3679 - Maja Frydrychowicz
3683 - 'Remote Protocol :: Agent'
3691 - machine_name: remote_protocol_cdp
3693 description: The core implementation for CDP support. Please file domain specific
3694 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3701 - Maja Frydrychowicz
3705 - 'Remote Protocol :: CDP'
3713 - machine_name: remote_protocol_marionette
3715 description: Marionette is a remote protocol that lets out-of-process programs
3716 communicate with, instrument, and control Gecko-based browsers. Combined
3717 with geckodriver, this forms our WebDriver classic implementation.
3719 - remote/marionette/*
3724 - Maja Frydrychowicz
3727 - 'Remote Protocol :: Marionette'
3728 group: dev-webdriver
3736 - machine_name: remote_protocol_webdriver_bidi
3737 name: WebDriver BiDi
3738 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3740 - remote/webdriver-bidi/*
3743 - 'Remote Protocol :: WebDriver BiDi'
3744 group: dev-webdriver
3752 - machine_name: sync
3754 description: Firefox Sync client
3756 - services/sync/**/*
3769 url: https://wiki.mozilla.org/Services/Process/Code_Review
3773 - machine_name: testing_firefox_ui
3775 description: Firefox UI test framework.
3777 - testing/firefox-ui/**/*
3780 - Maja Frydrychowicz
3782 - 'Testing :: Firefox UI'
3790 - machine_name: testing_geckodriver
3792 description: Proxy for using W3C WebDriver-compatible clients to interact with
3793 Gecko-based browsers.
3795 - testing/geckodriver/**/*
3803 - 'Testing :: geckodriver'
3804 group: dev-webdriver
3806 - machine_name: testing_gtest
3808 description: GTest test harness.
3810 - testing/gtest/**/*
3817 - 'Testing :: GTest'
3819 - machine_name: testing_marionette_client_harness
3820 name: Marionette Client & Harness
3821 description: Python client and harness for the Marionette remote protocol implementation.
3823 - testing/marionette/**/*
3828 - Maja Frydrychowicz
3831 - 'Testing :: Marionette Client & Harness'
3839 - machine_name: testing_mochitest
3841 description: Mochitest test framework
3843 - testing/mochitest/**/*
3852 - 'Testing :: Mochitest'
3853 - machine_name: testing_mozbase
3855 description: Base modules used for implementing test components.
3869 - 'Testing :: Mozbase'
3870 - 'Testing :: Mozbase Rust'
3871 - machine_name: testing_performance_testing
3872 name: Performance Testing
3874 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3875 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3876 the owners/peers of the various components (linked below).
3878 - testing/raptor/**/*
3879 - testing/talos/**/*
3880 - python/mozperftest/**/*
3882 - tools/lint/perfdocs/**/*
3883 - testing/perfdocs/**/*
3884 - testing/performance/**/*
3885 - testing/condprofile/**/*
3886 - tools/browsertime/**/*
3887 - tools/tryselect/selectors/perf.py
3898 - 'Testing :: Raptor'
3899 - 'Testing :: Talos'
3901 - 'Testing :: Performance'
3902 - 'Testing :: mozperftest'
3903 - 'Testing :: Condprofile'
3904 url: :ref:`Performance Testing`
3905 - machine_name: testing_reftest
3906 name: Reftest (+ jsreftest + crashtest)
3907 description: Reftest test framework
3909 - layout/tools/reftest/**/*
3918 - 'Testing :: Reftest'
3919 - machine_name: testing_tryselect
3921 description: Frontend for selecting jobs on the try server.
3923 - tools/tryselect/**/*
3931 - 'Developer Infrastructure :: Try'
3932 - machine_name: testing_web_platform_tests_infrastructure
3933 name: web-platform-tests infrastructure
3934 description: Infrastructure for running the cross-browser web-platform-tests
3936 - testing/web-platform/**/*
3937 - testing/web-platform/tests/tools/**/*
3939 - testing/web-platform/tests/**/*
3940 - testing/web-platform/meta/**/*
3941 - testing/web-platform/mozilla/**/*
3947 - 'Testing :: web-platform-tests'
3948 - machine_name: testing_xpcshell
3950 description: XPCShell test harness.
3952 - testing/xpcshell/**/*
3960 - Testing::XPCShell Harness
3962 description: Components shared between desktop and mobile browsers.
3979 - name: Application Startup
3980 description: The profile system and startup process before the front-end launches.
3982 - toolkit/profile/**/*
3983 - toolkit/components/remote/**/*
3990 machine_name: application_startup
3994 The core infrastructure in the Firefox client to send back telemetry
3995 data. Includes the common mechanisms to record, view and submit data: Legacy
3996 Telemetry and Glean (via Firefox on Glean (FOG)). This module
3997 does ''not'' include responsibility for every piece of submitted Telemetry
3998 data. Each team/module is responsible for their own measurements (histograms,
3999 scalars, other ping submissions, etc.).
4001 - toolkit/components/glean/**/*
4002 - toolkit/components/telemetry/**/*
4003 - toolkit/content/aboutTelemetry.*
4008 url: :ref:`Telemetry`
4016 machine_name: telemetry
4019 description: The base widgets used throughout the UI.
4021 - toolkit/content/widgets/**/*
4028 machine_name: ui_widgets
4030 - name: Webextensions
4031 description: Webextension APIs and integration.
4033 - browser/components/extensions/**/*
4034 - toolkit/components/extensions/**/*
4046 machine_name: webextensions
4047 machine_name: toolkit
4048 - machine_name: url_classifier
4049 name: URL Classifier
4050 description: Database and list-based classification of URL resources, such as
4051 Tracking Protection and SafeBrowsing.
4053 - toolkit/components/url-classifier/**/*
4054 - netwerk/url-classifier/**/*
4063 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4064 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4072 config: 9d274b9df34ee8d6af1a0e230bab2de0d4622e89
4073 export: 970fd50b07f70478cab94d43c061aa137e993f38