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-07T13:31:34.884785'
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
193 name: Nazım Can Altınova
197 name: Caroline Cullen
209 name: Christoph Kerschbaumer
221 name: Daisuke Akatsuka
285 name: Dragana Damjanovic
317 name: Emilio Cobos Álvarez
321 name: Masatoshi Kimura
340 name: Nick Fitzgerald
344 name: Francesco Lodolo
360 name: Gian-Carlo Pascutto
382 name: Gabriele Svelto
386 name: Haik Aftandilian
394 name: Hiroyuki Ikezoe
402 name: Jan Honza Odvarko
426 name: Jan-Erik Rediger
446 name: Julian Descottes
474 name: Jan-Ivar Bruaroey
529 name: Jean-Yves Avenard
553 name: Kimberly Sereduck
554 nick: kimberlythegeek
581 name: Dzmitry Malyshau
593 name: Lougenia Bailey
609 name: Marco Castelluccio
625 name: Masayuki Nakano
634 nick: MatsPalmgren_bugz
645 name: Andrew McCreight
680 name: Morgan Reschenberg
720 name: Nicolas Chevobbe
732 name: Niklas Baumgardner
744 name: Alexandre Poirot
764 name: Andreas Pehrson
772 name: Peter Van der Beken
812 name: Alexandra Borovova
836 name: Shravan Narayan
852 name: Greg Mierzwinski
868 name: Martin Stránský
875 name: Sylvestre Ledru
918 name: Toshihito Kikuchi
981 name: Tomislav Jovanovic
984 - name: mozilla-toplevel
985 description: The top level directory for the mozilla tree.
988 # TODO: verify, as this was toolkit/README
993 # - Technical Leadership Module
996 machine_name: _mozillatoplevel
998 - machine_name: code_coverage
1000 description: Tools for code coverage instrumentation, and coverage data parsing
1003 - tools/code-coverage/**/*
1004 - python/mozbuild/mozbuild/codecoverage/**/*
1005 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1014 - 'Testing :: Code Coverage'
1015 - name: 'Core: Accessibility'
1016 description: Support for platform accessibility APIs. Accessibility APIs are used
1017 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1018 software, which need information about document content and UI controls, as
1019 well as important events like changes of focus.
1032 group: dev-accessibility
1033 url: https://developer.mozilla.org/docs/Web/Accessibility
1035 - Core::Disability Access APIs
1042 machine_name: core_accessibility
1044 - name: 'Core: Animation'
1045 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1046 API, and off-main thread animations.'
1048 - dom/animation/**/*
1049 # TODO "and animation-related and interpolation-related code
1050 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1054 - Core::DOM::Animation
1055 - Core::CSS Transitions and Animations
1063 machine_name: core_animation
1065 - name: 'Core: Anti-Tracking'
1066 description: Tracking detection and content-blocking.
1068 - toolkit/components/antitracking/**/*
1069 # several files under browser/ and netwerk/url-classifier/ **TODO**
1077 - 'Core::Privacy: Anti-Tracking'
1085 machine_name: core_antitracking
1087 - name: 'Core: APZ (Graphics submodule)'
1088 description: Asynchronous panning and zooming
1090 - gfx/layers/apz/**/*
1097 url: https://wiki.mozilla.org/Platform/GFX/APZ
1099 - Core::Panning and Zooming
1107 machine_name: core_apz_graphics_submodule
1109 - name: 'Core: Browser WebAPI'
1110 description: Web API for rendering apps, browser windows and widgets.
1112 - dom/browser-element/**/*
1123 machine_name: core_browser_webapi
1125 - name: 'Core: Build and Release Tools'
1126 description: Tools related to build and release automation and configuration of
1129 - tools/update-packaging/**/*
1130 - tools/update-verify/**/*
1134 group: release-engineering
1135 url: https://wiki.mozilla.org/ReleaseEngineering
1137 - Release Engineering::*
1143 machine_name: core_build_and_release_tools
1145 - name: 'Core: Build Config'
1146 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1151 - python/mozbuild/**/*
1152 - browser/config/mozconfigs/**/*
1170 url: :ref:`Build System`
1172 - Core::Build Config
1179 - name: 'Core: Build Config - Fennec'
1180 description: Submodule of the build config covering Fennec's build system
1185 - Core::Build Config
1189 machine_name: core_build_config_fennec
1191 - name: 'Core: Build Config - Taskgraph'
1192 description: Support for task-graph generation in decision, action, and cron
1193 tasks, including configuration of all tasks including those for CI, nightlies,
1194 and releases; as well as Docker and VM images used to execute those tasks.
1199 - Firefox Build System::Task Configuration
1215 machine_name: core_build_config_taskgraph
1216 machine_name: core_build_config
1218 - name: 'Core: Code Analysis and Debugging Tools'
1219 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1220 and other characteristics of it.
1223 - tools/leak-gauge/**/*
1224 - tools/performance/**/*
1227 group: dev-performance
1231 machine_name: core_code_analysis_and_debugging_tools
1233 - name: 'Core: Content Security'
1234 description: 'Native content-based security features enforced in the ContentSecurityManager,
1235 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1236 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1237 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1238 and top-level data: URI blocking.'
1250 - 'Core::DOM: Security'
1258 machine_name: core_content_security
1260 - name: 'Core: Cookies'
1263 - netwerk/cookie/**/*
1271 - Christian Biesinger
1276 - 'Core::Networking: Cookies'
1281 machine_name: core_cookies
1283 - name: 'Core: Crash reporting'
1284 description: Infrastructure and tools used to generate, submit and process crash
1285 reports. This includes the in-tree google-breakpad fork, the crash report generation
1286 machinery as well as the host tools used to dump symbols, analyse minidumps
1287 and generate stack traces.
1289 - toolkit/crashreporter/**/*
1290 - toolkit/components/crashes/**/*
1291 - tools/crashreporter/**/*
1292 - ipc/glue/CrashReporter*
1293 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1298 url: :ref:`Crash Reporter`
1300 - Toolkit::Crash Reporting
1306 machine_name: core_crash_reporting
1308 - machine_name: core_credentials
1309 name: 'Core: Credentials'
1310 description: API Surface for FedCM and WebAuthn
1312 - toolkit/components/credentialmanagement/**/*
1313 - browser/components/credentialmanager/**/*
1314 - dom/credentialmanagement/**/*
1326 - 'Core::DOM: Credential Management'
1327 - 'Core::DOM: Web Authentication'
1329 - name: 'Core: C++/Rust usage, tools, and style'
1330 description: Aspects of C++ use such as language feature usage, standard library
1331 versions/usage, compiler/toolchain versions, formatting and naming style, and
1332 aspects of Rust use as needs arise
1334 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1335 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1336 # - docs/code-quality/**/*
1337 # - docs/testing-rust-code/**/*
1338 # - docs/writing-rust-code/**/*
1353 machine_name: core_crust_usage_tools_and_style
1355 - name: 'Core: Cycle Collector'
1356 description: Code to break and collect objects within reference cycles
1358 - xpcom/base/nsCycleCollect*
1359 # TODO "and some support headers"
1360 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1366 - Core::Cycle Collector
1372 machine_name: core_cycle_collector
1374 - name: 'Core: DLL Services'
1375 description: Windows dynamic linker instrumentation and blocking
1377 - toolkit/xre/dllservices/**/*
1383 - Core::DLL Services
1388 machine_name: core_dll_services
1390 - name: 'Core: docshell'
1394 - uriloader/base/**/*
1400 - Christian Biesinger
1406 - Core::Document Navigation
1413 machine_name: core_docshell
1415 - name: 'Core: Document Object Model'
1419 exclude_module_paths: true
1436 url: http://developer.mozilla.org/en/docs/DOM
1439 - 'Core::DOM: CSS Object Model'
1440 - 'Core::DOM: Core & HTML'
1455 machine_name: core_document_object_model
1457 - name: 'Core: DOM File'
1458 description: DOM Blob, File and FileSystem APIs
1461 - dom/filesystem/**/*
1464 url: http://developer.mozilla.org/en/docs/DOM
1471 machine_name: core_dom_file
1473 - machine_name: core_dom_streams
1474 name: 'Core: DOM Streams'
1475 description: Streams Specification implementation
1486 url: http://developer.mozilla.org/en/docs/DOM
1489 - 'Core::DOM: Streams'
1490 - name: 'Core: Editor'
1505 machine_name: core_editor
1507 - name: 'Core: Event Handling'
1508 description: DOM Events and Event Handling
1511 # TODO "and event handling related code elsewhere"
1516 url: http://developer.mozilla.org/en/docs/DOM
1518 - 'Core::DOM: Events'
1519 - 'Core::DOM: UI Events & Focus Handling'
1525 machine_name: core_event_handling
1527 - machine_name: core_firefox_source_documentation
1528 name: 'Core: Firefox Source Documentation'
1529 description: The infrastructure platform used to generate Firefox's source documentation,
1530 excluding editorial control over the content.
1533 - tools/moztreedocs/
1540 - Developer Infrastructure::Source Documentation
1541 url: https://firefox-source-docs.mozilla.org/
1542 - name: 'Core: Gecko Profiler'
1543 description: Gecko's built-in profiler
1545 - tools/profiler/**/*
1546 - mozglue/baseprofiler/**/*
1551 - Shu-yu Guo (JS integration)
1552 - Thinker Lee (TaskTracer)
1553 - Cervantes Yu (TaskTracer)
1554 - Nicholas Nethercote
1560 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1562 - Core::Gecko Profiler
1569 machine_name: core_gecko_profiler
1571 - name: 'Core: GeckoView'
1572 description: Framework for embedding Gecko into Android applications
1574 - mobile/android/**/*
1575 - widget/android/**/*
1586 url: https://wiki.mozilla.org/Mobile/GeckoView
1588 - GeckoView::General
1594 machine_name: core_geckoview
1596 - name: 'Core: Global Key Bindings'
1597 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1598 and the like, as those are part of i18n.
1601 # TODO "and platform specific directories under it"
1603 group: dev-accessibility
1604 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1606 - 'Core::Keyboard: Navigation'
1611 machine_name: core_global_key_bindings
1613 - name: 'Core: Graphics'
1614 description: Mozilla graphics API
1622 - Benoit Girard(Compositor, Performance)
1624 - George Wright(Canvas2D)
1628 - John Daggett(text/fonts)
1629 - Benoit Jacob(gfx/gl)
1631 - Vladimir Vukicevic
1632 - James Willcox(Android)
1635 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1636 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1639 - 'Core::Graphics: Layers'
1640 - 'Core::Graphics: Text'
1641 - 'Core::Graphics: WebRender'
1642 - 'Core::GFX: Color Management'
1643 - 'Core::Canvas: 2D'
1644 - 'Core::Canvas: WebGL'
1656 machine_name: core_graphics
1659 description: Hardware Abstraction Layer
1665 - Core::Hardware Abstraction Layer (HAL)
1669 machine_name: core_hal
1671 - name: 'Core: HTML Parser'
1672 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1673 to the HTML specification, and is mostly translated automatically from Java
1679 url: http://about.validator.nu/
1681 - 'Core::HTML: Parser'
1686 machine_name: core_html_parser
1688 - name: 'Core: I18N Library'
1697 url: :ref:`Internationalization`
1699 - Core::Internationalization
1707 machine_name: core_i18n_library
1709 - name: 'Core: ImageLib'
1712 - media/libjpeg/**/*
1729 machine_name: core_imagelib
1731 - name: 'Core: IndexedDB'
1734 - dom/indexedDB/**/*
1742 url: https://developer.mozilla.org/en/IndexedDB
1744 - 'Core::DOM: IndexedDB'
1751 machine_name: core_indexeddb
1754 description: Native message-passing between threads and processes
1781 machine_name: core_ipc
1783 - name: 'Core: JavaScript'
1784 description: JavaScript engine (SpiderMonkey)
1808 - Nicholas Nethercote
1813 url: https://spidermonkey.dev/
1815 - Core::JavaScript Engine
1816 - 'Core::JavaScript: GC'
1817 - 'Core::JavaScript: Internationalization API'
1818 - 'Core::JavaScript: Standard Library'
1819 - 'Core::JavaScript: WebAssembly'
1841 machine_name: core_javascript
1843 - name: 'Core: JavaScript JIT'
1844 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1852 url: https://spidermonkey.dev/
1854 - 'Core::JavaScript Engine: JIT'
1870 machine_name: core_javascript_jit
1872 - name: 'Core: js-tests'
1873 description: JavaScript test suite
1877 group: dev-tech-js-engine
1878 url: http://www.mozilla.org/js/tests/library.html
1882 machine_name: core_jstests
1884 - name: 'Core: Layout Engine'
1885 description: rendering tree construction, layout (reflow), etc.
1891 - layout/generic/**/*
1892 - layout/printing/**/*
1893 - layout/tables/**/*
1902 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1905 - 'Core::Layout: Block and Inline'
1906 - 'Core::Layout: Columns'
1907 - 'Core::Layout: Flexbox'
1908 - 'Core::Layout: Floats'
1909 - 'Core::Layout: Form Controls'
1910 - 'Core::Layout: Generated Content, Lists, and Counters'
1911 - 'Core::Layout: Grid'
1912 - 'Core::Layout: Images, Video, and HTML Frames'
1913 - 'Core::Layout: Positioned'
1914 - 'Core::Layout: Ruby'
1915 - 'Core::Layout: Scrolling and Overflow'
1916 - 'Core::Layout: Tables'
1917 - 'Core::Layout: Text and Fonts'
1918 - Core::Print Preview
1919 - 'Core::Printing: Output'
1931 machine_name: core_layout_engine
1933 - name: 'Core: Legacy HTML Parser'
1936 - parser/htmlparser/**/*
1940 url: http://www.mozilla.org/newlayout/doc/parser.html
1942 - 'Core::HTML: Parser'
1949 machine_name: core_legacy_html_parser
1951 - name: 'Core: libjar'
1952 description: The JAR handling code (protocol handler, stream implementation, and
1953 zipreader/zipwriter).
1955 - modules/libjar/**/*
1965 - 'Core::Networking: JAR'
1971 machine_name: core_libjar
1973 - name: 'Core: MathML'
1974 description: MathML is a low-level specification for describing mathematics which
1975 provides a foundation for the inclusion of mathematical expressions in Web pages.
1977 - layout/mathml/**/*
1979 group: dev-tech-mathml
1980 url: https://developer.mozilla.org/docs/Web/MathML
1987 machine_name: core_mathml
1989 - name: 'Core: Media Playback'
1990 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
1991 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
1994 - media/gmp-clearkey/**/*
1995 - media/libcubeb/**/*
1996 - media/libnestegg/**/*
1998 - media/libopus/**/*
1999 - media/libtheora/**/*
2000 - media/libtremor/**/*
2001 - media/libvorbis/**/*
2003 - dom/media/platforms/omx/**/*
2004 - dom/media/gmp/rlz/**/*
2019 machine_name: core_media_playback
2021 - name: 'Core: Media Transport'
2022 description: Pluggable transport for real-time media
2024 - dom/media/webrtc/transport/**/*
2028 - Core::WebRTC::Networking
2035 machine_name: core_media_transport
2037 - name: 'Core: Memory Allocator'
2038 description: Most things related to memory allocation in Gecko, including jemalloc,
2039 replace-malloc, DMD (dark matter detector), logalloc, etc.
2045 - Nicholas Nethercote
2053 machine_name: core_memory_allocator
2055 - name: 'Core: mfbt'
2056 description: mfbt is a collection of headers, macros, data structures, methods,
2057 and other functionality available for use and reuse throughout all Mozilla code
2058 (including SpiderMonkey and Gecko more broadly).
2070 machine_name: core_mfbt
2072 - name: 'Core: Moz2D (Graphics submodule)'
2073 description: Platform independent 2D graphics API
2078 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2086 machine_name: core_moz2d_graphics_submodule
2088 - name: 'Core: Mozglue'
2089 description: Glue library containing various low-level functionality, including
2090 a dynamic linker for Android, a DLL block list for Windows, etc.
2098 - Kartikaya Gupta (mozglue/android)
2103 machine_name: core_mozglue
2105 - name: 'Core: MSCOM'
2106 description: Integration with Microsoft Distributed COM
2116 - 'Core::IPC: MSCOM'
2119 machine_name: core_mscom
2121 - name: 'Core: Necko'
2122 description: The Mozilla Networking Library
2126 - netwerk/build/**/*
2127 - netwerk/cache/**/*
2129 - netwerk/locales/**/*
2131 - netwerk/protocol/**/*
2132 - netwerk/socket/**/*
2133 - netwerk/streamconv/**/*
2134 - netwerk/system/**/*
2139 - dom/websocket/**/*
2140 - uriloader/prefetch/**/*
2141 - uriloader/preload/**/*
2144 - Dragana Damjanovic
2146 - Christian Biesinger
2157 group: dev-tech-network
2158 url: :ref:`Networking`
2161 - 'Core::Networking: Cache'
2162 - 'Core::Networking: Cookies'
2163 - 'Core::Networking: FTP'
2164 - 'Core::Networking: File'
2165 - 'Core::Networking: HTTP'
2166 - 'Core::Networking: JAR'
2167 - 'Core::Networking: Websockets'
2168 - 'Core::DOM: Networking'
2174 machine_name: core_necko
2176 - name: 'Core: NodeJS usage, tools, and style'
2177 description: Advises on the use of NodeJS and npm packages at build and runtime.
2178 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2179 teams to maintain automated license and security audits of npm packages. Works
2180 with the security team and relevant developers to respond to vulnerabilities
2181 in NodeJS and vendored npm packages.
2186 # TODO: and others as appropriate
2190 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2199 machine_name: core_nodejs_usage_tools_and_style
2201 - name: 'Core: NSPR'
2202 description: Netscape Portable Runtime
2208 group: dev-tech-nspr
2216 machine_name: core_nspr
2219 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2222 - toolkit/components/pdfjs/**/*
2230 url: https://github.com/mozilla/pdf.js
2237 machine_name: core_pdf
2239 - name: 'Core: Permissions'
2242 - extensions/permissions/**/*
2251 - Christian Biesinger
2256 - 'Core :: Permission Manager'
2263 machine_name: core_permissions
2265 - name: 'Core: Plugins'
2266 description: ' NPAPI Plugin support.'
2278 url: https://wiki.mozilla.org/Plugins
2283 machine_name: core_plugins
2285 - name: 'Core: Preferences'
2286 description: Preference library
2288 - modules/libpref/**/*
2291 - Nicholas Nethercote
2297 - 'Core::Preferences: Backend'
2303 machine_name: core_preferences
2305 - name: 'Core: Private Browsing'
2306 description: Implementation of the Private Browsing mode, and the integration
2307 of other modules with Private Browsing APIs.
2310 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2311 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2319 url: https://wiki.mozilla.org/Private_Browsing
2321 - Firefox::Private Browsing
2326 machine_name: core_private_browsing
2328 - name: 'Core: Privilege Manager'
2329 description: Caps is the capabilities-based security system.
2338 url: http://www.mozilla.org/projects/security/components/index.html
2340 - 'Core::Security: CAPS'
2346 machine_name: core_privilege_manager
2348 - name: 'Core: Push Notifications'
2349 description: Push is a way for application developers to send messages to their
2360 - 'Core::DOM: Push Notifications'
2364 machine_name: core_push_notifications
2366 - name: 'Core: Sandboxing (Linux)'
2367 description: Sandboxing for the Linux platform
2369 - security/sandbox/linux/**/*
2372 url: https://wiki.mozilla.org/Security/Sandbox
2374 - 'Core::Security: Process Sandboxing'
2379 machine_name: core_sandboxing_linux
2381 - name: 'Core: Sandboxing (OSX)'
2382 description: Sandboxing for the OSX platform
2384 - security/sandbox/mac/**/*
2387 url: https://wiki.mozilla.org/Security/Sandbox
2389 - 'Core::Security: Process Sandboxing'
2393 machine_name: core_sandboxing_osx
2395 - name: 'Core: Sandboxing (Windows)'
2396 description: Sandboxing for the Windows platform
2398 - security/sandbox/win/**/*
2408 url: https://wiki.mozilla.org/Security/Sandbox
2410 - 'Core::Security: Process Sandboxing'
2415 machine_name: core_sandboxing_windows
2417 - name: 'Core: security'
2418 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2431 group: dev-tech-crypto
2432 url: :ref:`Network Security Services (NSS)`
2437 - 'Core::Security: S/MIME'
2450 machine_name: core_security
2452 - name: 'Core: Security - Mozilla PSM Glue'
2453 description: Personal Security Manager
2455 - security/manager/**/*
2458 - Kai Engert (2001-2012)
2459 group: dev-tech-crypto
2461 - 'Core::Security: PSM'
2470 machine_name: core_security_mozilla_psm_glue
2472 - machine_name: core_security_rlbox
2473 name: Security - RLBox
2474 description: Sandboxing using WASM/RLBox libraries.
2478 - third_party/rlbox_wasm2c_sandbox
2488 - 'Core::Security: RLBox'
2489 - name: 'Core: Static analysis & rewriting for C++'
2490 description: Tools for checking C++ code looking for problems at compile time,
2491 plus tools for automated rewriting of C++ code.
2493 - build/clang-plugin/**/*
2494 - tools/rewriting/**/*
2495 # TODO among other out of tree tools
2498 - Birunthan Mohanathas
2502 - Core::Rewriting & Analysis
2509 machine_name: core_static_analysis_rewriting_for_c
2511 - name: 'Core: storage'
2512 description: Storage APIs with a SQLite backend
2514 - third_party/sqlite3/**/*
2518 url: http://developer.mozilla.org/en/docs/Storage
2520 - Toolkit::Storage, Core::SQL
2528 machine_name: core_storage
2530 - name: 'Core: String'
2535 group: dev-tech-xpcom
2536 url: :ref:`String Guide`
2543 machine_name: core_string
2545 - name: 'Core: Style System'
2546 description: CSS style sheet handling; style data computation
2557 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2559 - Core::CSS Parsing and Computation
2565 machine_name: core_style_system
2568 description: Scalable Vector Graphics
2575 url: https://developer.mozilla.org/docs/Web/SVG
2585 machine_name: core_svg
2587 - name: 'Core: UA String'
2588 description: User Agent String
2590 - netwerk/protocol/http/**/*
2593 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2595 - 'Core::Networking: HTTP'
2601 machine_name: core_ua_string
2603 - name: 'Core: View System'
2604 description: The View Manager is responsible for handling "heavyweight" rendering
2605 (some clipping, compositing) and event handling tasks.
2613 - 'Core::Layout: View Rendering'
2619 machine_name: core_view_system
2621 - name: 'Core: Web Audio'
2622 description: Support for the W3C Web Audio API specification.
2624 - dom/media/webaudio/**/*
2629 url: https://wiki.mozilla.org/Web_Audio_API
2637 machine_name: core_web_audio
2639 - name: 'Core: Web Painting'
2640 description: painting, display lists, and layer construction
2642 - layout/painting/**/*
2643 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2646 url: :ref:`Layout & CSS`
2648 - 'Core::Layout: Web Painting'
2659 machine_name: core_web_painting
2661 - name: 'Core: Web Workers'
2674 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2676 - 'Core::DOM: Workers'
2682 machine_name: core_web_workers
2684 - name: 'Core: WebGPU (Graphics submodule)'
2685 description: WebGPU implementation
2690 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2692 - Core::Graphics::WebGPU
2698 machine_name: core_webgpu_graphics_submodule
2700 - name: 'Core: WebRTC'
2701 description: WebRTC is responsible for realtime audio and video communication,
2702 as well as related issues like low-level camera and microphone access
2705 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2710 url: https://wiki.mozilla.org/Media/webrtc
2713 - Core::WebRTC Networking
2720 machine_name: core_webrtc
2722 - name: 'Core: WebVR'
2723 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2724 including API, devices, graphics and integration
2730 - Vladimir Vukicevic
2733 url: https://mozvr.com/
2742 - name: 'Core: WebRTC Media'
2743 description: Submodule of WebRTC responsible for access to media input devices
2744 (microphones, cameras, screen capture), as well as realtime audiovisual
2745 codecs and packetization.
2748 - dom/media/webrtc/**/*
2749 - dom/media/systemservices/**/*
2755 url: https://wiki.mozilla.org/Media/webrtc
2757 - Core::WebRTC (Audio/Video)
2764 machine_name: core_webrtc_media
2766 - name: 'Core: WebRTC Signaling'
2767 description: Submodule of WebRTC responsible for implementation of PeerConnection
2768 API, WebRTC identity, and SDP/JSEP handling
2770 - media/webrtc/signaling/**/*
2775 url: https://wiki.mozilla.org/Media/webrtc
2777 - Core::WebRTC (Signaling)
2785 machine_name: core_webrtc_signaling
2786 machine_name: core_webvr
2788 - name: 'Core: Widget'
2789 description: Top level Widget
2794 - Vladimir Vukicevic
2801 - Core::Drag and Drop
2803 - 'Core::Printing: Setup'
2806 machine_name: core_widget
2808 - name: 'Core: Widget - Android'
2809 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2814 machine_name: core_widget_android
2816 - name: 'Core: Widget - GTK'
2817 description: GTK widget support
2824 url: http://www.mozilla.org/ports/gtk/
2826 - 'Core::Widget: Gtk'
2831 machine_name: core_widget_gtk
2833 - name: 'Core: Widget - Headless'
2834 description: Headless widget support
2836 - widget/headless/**/*
2845 machine_name: core_widget_headless
2847 - name: 'Core: Widget - macOS'
2848 description: ' macOS widget support'
2861 - 'Core::Widget: Cocoa'
2867 machine_name: core_widget_macos
2869 - name: 'Core: Widget - Windows'
2870 description: Windows widget support
2872 - widget/windows/**/*
2878 - Vladimir Vukicevic
2881 - Christian Biesinger
2883 - Josh 'timeless' Soref
2890 - 'Core::Widget: Win32'
2896 machine_name: core_widget_windows
2899 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2900 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2901 that are not covered by more specific projects.
2917 machine_name: core_xml
2919 - name: 'Core: XPApps'
2920 description: Cross-Platform Applications, mostly Navigator front end and application
2925 group: dev-apps-seamonkey
2929 - Josh 'timeless' Soref
2932 machine_name: core_xpapps
2934 - name: 'Core: XPCOM'
2935 description: The cross-platform object model and core data structures.
2941 - xpcom/components/**/*
2945 - xpcom/reflect/**/*
2949 - xpcom/threads/**/*
2950 - xpcom/windbgdlg/**/*
2971 machine_name: core_xpcom
2973 - name: 'Core: XPConnect'
2974 description: Deep Magic
2993 machine_name: core_xpconnect
2995 - name: 'Core: XPIDL'
2996 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
2997 runtime type description files from .idl interface description files.
2999 - xpcom/idl-parser/**/*
3006 - Josh 'timeless' Soref
3007 group: dev-tech-xpcom
3013 machine_name: core_xpidl
3015 - name: 'Core: XSLT Processor'
3016 description: XSLT transformations processor
3024 group: dev-tech-xslt
3025 url: https://developer.mozilla.org/docs/Web/XSLT
3031 machine_name: core_xslt_processor
3033 - name: Desktop Firefox
3034 description: Standalone Web Browser.
3047 - Tim Guan-tin Chien
3077 - name: Add-ons Manager
3078 description: Extension management back-end.
3080 - toolkit/mozapps/extensions/**/*
3094 machine_name: addons_manager
3096 - name: Add-ons Manager UI
3097 description: about:addons.
3099 - toolkit/mozapps/extensions/content/**/*
3112 machine_name: addons_manager_ui
3114 - name: Application Update
3115 description: The application update services.
3117 - toolkit/mozapps/update/**/*
3124 machine_name: application_update
3126 - name: Bookmarks & History
3127 description: The bookmarks and history services (Places).
3129 - browser/components/places/**/*
3130 - toolkit/components/places/**/*
3145 machine_name: bookmarks_history
3147 - name: Desktop Theme
3148 description: The style rules used in the desktop UI.
3150 - browser/themes/**/*
3151 - toolkit/themes/**/*
3164 machine_name: desktop_theme
3167 description: The main browser UI except where covered by more specific submodules.
3169 - browser/base/content/**/*
3176 machine_name: desktop_ui
3178 - name: Download Manager
3179 description: The downloads UI and service.
3181 - browser/components/downloads/**/*
3182 - toolkit/mozapps/downloads/**/*
3183 - uriloader/exthandler/**/*
3193 machine_name: download_manager
3195 - name: Enterprise Policies
3196 description: System policies for controlling Firefox.
3198 - browser/components/enterprisepolicies/**/*
3203 machine_name: enterprise_policies
3205 - name: Experiments/Rollouts
3206 description: Desktop clients for our experiments and off-train deployments
3209 - toolkit/components/normandy/**/*
3210 - toolkit/components/nimbus/**/*
3216 - Firefox::Nimbus Desktop Client
3217 url: https://experimenter.info/
3223 machine_name: normandy
3225 - machine_name: firefox_view
3227 description: The Firefox View page and its modules.
3229 - browser/components/firefoxview/**/*
3236 - name: Form Autofill
3237 description: Form detection and autocomplete.
3239 - browser/extensions/formautofill/**/*
3240 - toolkit/components/satchel/**/*
3243 - Matthew Noorenberghe
3249 machine_name: form_autofill
3251 - name: In-product Messaging
3252 description: The system for delivering in-product messaging.
3254 - toolkit/components/messaging-system/**/*
3257 - Firefox::Messaging System
3264 machine_name: inproduct_messaging
3266 - name: Launcher Process
3267 description: Windows process for bootstrapping the browser process.
3269 - browser/app/winlauncher/**/*
3275 - Firefox::Launcher Process
3280 machine_name: launcher_process
3282 - machine_name: localization
3284 description: Tooling to enable translation and facilitate localization.
3292 - name: New Tab Page
3293 description: The new tab/home page.
3295 - browser/components/newtab/**/*
3298 - Firefox::New Tab Page
3305 machine_name: new_tab_page
3308 description: The onboarding experience including UI tours.
3310 - browser/components/uitour/**/*
3318 machine_name: onboarding
3320 - name: Password Manager
3321 description: Managing, saving and filling logins.
3323 - toolkit/components/passwordmgr/**/*
3324 - browser/components/aboutlogins/**/*
3327 - Matthew Noorenberghe
3331 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3333 - Toolkit::Password Manager
3334 - 'Toolkit::Password Manager: Site'
3336 - Firefox::about:logins
3344 machine_name: password_manager
3346 - machine_name: firefox_pip
3347 name: Picture-in-Picture
3348 description: A component that allows video elements to be pulled out into
3349 an always-on-top window.
3351 - toolkit/components/pictureinpicture
3352 - browser/extensions/pictureinpicture
3362 - name: Profile Migration
3363 description: Migrating data from other browsers.
3365 - browser/components/migration/**/*
3373 machine_name: profile_migration
3376 description: Code relating to Screenshots functionality
3378 - browser/extensions/screenshots/**/*
3379 - browser/components/screenshots/**/*
3387 - Firefox::Screenshots
3393 machine_name: screenshots
3395 - name: Search and Address Bar
3396 description: The search service, address bar and address bar autocomplete.
3398 - browser/components/search/**/*
3399 - browser/components/urlbar/**/*
3400 - toolkit/components/search/**/*
3403 - Firefox::Address Bar
3415 machine_name: search_and_address_bar
3417 - name: Security and Privacy UI
3418 description: The front-end to our security and privacy features, including
3419 Protections UI, Site Identity, Site Permissions and Certificate Errors
3421 - browser/components/protections/**/*
3422 - browser/components/controlcenter/**/*
3426 - Nihanth Subramanya
3431 - Firefox::Protections UI
3432 - Firefox::Site Identity
3433 - Firefox::Site Permissions
3438 machine_name: security_and_privacy_ui
3440 - name: Session Restore
3441 description: Restoring a user's session after starting Firefox.
3443 - browser/components/sessionstore/**/*
3444 - toolkit/components/sessionstore/**/*
3452 - Firefox::Session Restore
3458 machine_name: session_restore
3461 description: The front-end settings user interface.
3463 - browser/components/preferences/**/*
3464 - browser/themes/*/preferences
3465 - toolkit/mozapps/preferences
3476 machine_name: settings_ui
3478 - name: Tabbed Browser
3479 description: The UI component controlling browser tabs.
3481 # TODO double check that this works as expected
3482 - browser/base/content/tabbrowser*
3483 - browser/modules/AsyncTabSwitcher.jsm
3486 - Firefox::Tabbed Browser
3490 machine_name: tabbed_browser
3492 - name: Windows Installer
3493 description: The installer for Windows.
3495 - browser/installer/**/*
3496 - toolkit/mozapps/installer/**/*
3499 - Firefox::Installer
3505 machine_name: windows_installer
3506 machine_name: desktop_firefox
3508 - machine_name: devtools
3510 description: Mozilla Developer Tools
3536 - Steve Fink (heapsnapshot code)
3546 - Panagiotis Astithas
3564 url: http://firefox-dev.tools/
3567 - machine_name: javascript_usage
3568 name: JavaScript usage, tools, and style
3569 description: Aspects of JavaScript use such as language feature usage, tooling
3570 such as lint configurations, formatting and naming style.
3572 - .eslintrc-test-paths.js
3573 - '**/.eslintignore'
3575 - tools/lint/eslint/**/*
3592 - machine_name: mozharness
3594 description: Configuration-driven script harness.
3596 - testing/mozharness/**/*
3609 - 'Release Engineering :: Applications: MozharnessCore'
3610 - machine_name: python_usage
3611 name: Python usage, tools, and style
3612 description: Aspects of Python use such as tooling, formatting and naming style
3614 - tools/lint/python/**/*
3624 - 'Developer Infrastructure :: Lint and Formatting'
3626 - machine_name: remote_protocol
3627 name: Remote Protocol
3628 description: Low-level remote protocol exposing interfaces for inspecting state
3629 and controlling execution of web documents, instrumenting various subsystems
3630 in the browser, simulating user interaction for automation purposes, and for
3631 subscribing to updates from the aforementioned.
3637 url: https://firefox-source-docs.mozilla.org/remote/
3646 - machine_name: remote_protocol_agent
3648 description: Underlying transport layer and server to allow remoting of Firefox
3649 for automation and debugging.
3654 - remote/marionette/*
3655 - remote/webdriver-bidi/*
3660 - Maja Frydrychowicz
3664 - 'Remote Protocol :: Agent'
3672 - machine_name: remote_protocol_cdp
3674 description: The core implementation for CDP support. Please file domain specific
3675 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3682 - Maja Frydrychowicz
3686 - 'Remote Protocol :: CDP'
3694 - machine_name: remote_protocol_marionette
3696 description: Marionette is a remote protocol that lets out-of-process programs
3697 communicate with, instrument, and control Gecko-based browsers. Combined
3698 with geckodriver, this forms our WebDriver classic implementation.
3700 - remote/marionette/*
3705 - Maja Frydrychowicz
3708 - 'Remote Protocol :: Marionette'
3709 group: dev-webdriver
3717 - machine_name: remote_protocol_webdriver_bidi
3718 name: WebDriver BiDi
3719 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3721 - remote/webdriver-bidi/*
3724 - 'Remote Protocol :: WebDriver BiDi'
3725 group: dev-webdriver
3733 - machine_name: sync
3735 description: Firefox Sync client
3737 - services/sync/**/*
3750 url: https://wiki.mozilla.org/Services/Process/Code_Review
3754 - machine_name: testing_firefox_ui
3756 description: Firefox UI test framework.
3758 - testing/firefox-ui/**/*
3761 - Maja Frydrychowicz
3763 - 'Testing :: Firefox UI'
3771 - machine_name: testing_geckodriver
3773 description: Proxy for using W3C WebDriver-compatible clients to interact with
3774 Gecko-based browsers.
3776 - testing/geckodriver/**/*
3784 - 'Testing :: geckodriver'
3785 group: dev-webdriver
3787 - machine_name: testing_gtest
3789 description: GTest test harness.
3791 - testing/gtest/**/*
3798 - 'Testing :: GTest'
3800 - machine_name: testing_marionette_client_harness
3801 name: Marionette Client & Harness
3802 description: Python client and harness for the Marionette remote protocol implementation.
3804 - testing/marionette/**/*
3809 - Maja Frydrychowicz
3812 - 'Testing :: Marionette Client & Harness'
3820 - machine_name: testing_mochitest
3822 description: Mochitest test framework
3824 - testing/mochitest/**/*
3833 - 'Testing :: Mochitest'
3834 - machine_name: testing_mozbase
3836 description: Base modules used for implementing test components.
3850 - 'Testing :: Mozbase'
3851 - 'Testing :: Mozbase Rust'
3852 - machine_name: testing_performance_testing
3853 name: Performance Testing
3855 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3856 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3857 the owners/peers of the various components (linked below).
3859 - testing/raptor/**/*
3860 - testing/talos/**/*
3861 - python/mozperftest/**/*
3863 - tools/lint/perfdocs/**/*
3864 - testing/perfdocs/**/*
3865 - testing/performance/**/*
3866 - testing/condprofile/**/*
3867 - tools/browsertime/**/*
3868 - tools/tryselect/selectors/perf.py
3879 - 'Testing :: Raptor'
3880 - 'Testing :: Talos'
3882 - 'Testing :: Performance'
3883 - 'Testing :: mozperftest'
3884 - 'Testing :: Condprofile'
3885 url: :ref:`Performance Testing`
3886 - machine_name: testing_reftest
3887 name: Reftest (+ jsreftest + crashtest)
3888 description: Reftest test framework
3890 - layout/tools/reftest/**/*
3899 - 'Testing :: Reftest'
3900 - machine_name: testing_tryselect
3902 description: Frontend for selecting jobs on the try server.
3904 - tools/tryselect/**/*
3912 - 'Developer Infrastructure :: Try'
3913 - machine_name: testing_web_platform_tests_infrastructure
3914 name: web-platform-tests infrastructure
3915 description: Infrastructure for running the cross-browser web-platform-tests
3917 - testing/web-platform/**/*
3918 - testing/web-platform/tests/tools/**/*
3920 - testing/web-platform/tests/**/*
3921 - testing/web-platform/meta/**/*
3922 - testing/web-platform/mozilla/**/*
3928 - 'Testing :: web-platform-tests'
3929 - machine_name: testing_xpcshell
3931 description: XPCShell test harness.
3933 - testing/xpcshell/**/*
3941 - Testing::XPCShell Harness
3943 description: Components shared between desktop and mobile browsers.
3960 - name: Application Startup
3961 description: The profile system and startup process before the front-end launches.
3963 - toolkit/profile/**/*
3964 - toolkit/components/remote/**/*
3971 machine_name: application_startup
3975 The core infrastructure in the Firefox client to send back telemetry
3976 data. Includes the common mechanisms to record, view and submit data: Legacy
3977 Telemetry and Glean (via Firefox on Glean (FOG)). This module
3978 does ''not'' include responsibility for every piece of submitted Telemetry
3979 data. Each team/module is responsible for their own measurements (histograms,
3980 scalars, other ping submissions, etc.).
3982 - toolkit/components/glean/**/*
3983 - toolkit/components/telemetry/**/*
3984 - toolkit/content/aboutTelemetry.*
3989 url: :ref:`Telemetry`
3997 machine_name: telemetry
4000 description: The base widgets used throughout the UI.
4002 - toolkit/content/widgets/**/*
4009 machine_name: ui_widgets
4011 - name: Webextensions
4012 description: Webextension APIs and integration.
4014 - browser/components/extensions/**/*
4015 - toolkit/components/extensions/**/*
4027 machine_name: webextensions
4028 machine_name: toolkit
4029 - machine_name: url_classifier
4030 name: URL Classifier
4031 description: Database and list-based classification of URL resources, such as
4032 Tracking Protection and SafeBrowsing.
4034 - toolkit/components/url-classifier/**/*
4035 - netwerk/url-classifier/**/*
4044 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4045 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4053 config: e018ac365d94851daa0f92229efca3053da0142f
4054 export: 9bcf3bb2465c7c73829691d9ab7e87094b968cf2