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-10-23T15:07:38.933970'
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.
44 name: Andrew Halberstadt
48 name: Yoshi Cheng-Hao Huang
80 name: Andrew Sutherland
88 name: Andrea Marchesini
100 name: Benjamin Bouvier
108 name: Ben Dean-Kawamura
112 name: Benjamin Beurdouche
140 name: Hubert Boma Manilla
151 name: Bryce Seager van Dyk
162 name: Benjamin VanderSloot
178 name: Calixte Denizet
189 name: Nazım Can Altınova
193 name: Caroline Cullen
205 name: Christoph Kerschbaumer
221 name: Daisuke Akatsuka
257 name: Alessio Placitelli
289 name: Dragana Damjanovic
329 name: Emilio Cobos Álvarez
333 name: Masatoshi Kimura
355 name: Nick Fitzgerald
359 name: Francesco Lodolo
375 name: Gabriel Bustamante
383 name: Gian-Carlo Pascutto
409 name: Gabriele Svelto
417 name: Haik Aftandilian
425 name: Hiroyuki Ikezoe
437 name: Jan Honza Odvarko
461 name: Jan-Erik Rediger
477 name: Julian Descottes
505 name: Jan-Ivar Bruaroey
537 name: Jonathan Almeida
569 name: Jules Simplicio
576 name: Jean-Yves Avenard
628 name: Dzmitry Malyshau
640 name: Lougenia Bailey
660 name: Marco Castelluccio
676 name: Masayuki Nakano
685 nick: MatsPalmgren_bugz
692 name: Andrew McCreight
724 name: Morgan Reschenberg
764 name: Nicolas Chevobbe
776 name: Niklas Baumgardner
796 name: Alexandre Poirot
804 name: Andrew Overholt
824 name: Andreas Pehrson
832 name: Peter Van der Beken
876 name: Alexandra Borovova
904 name: Shravan Narayan
920 name: Greg Mierzwinski
936 name: Martin Stránský
943 name: Sylvestre Ledru
959 name: Teodor Tanasoaia
990 name: Toshihito Kikuchi
1026 name: William Durand
1038 name: Yulia Startsev
1049 name: Zibi Braniecki
1057 name: Tomislav Jovanovic
1060 - name: firefox-toplevel
1061 description: The top level directory for the Firefox/Gecko tree. Owned by the
1076 machine_name: _firefoxtoplevel
1078 - machine_name: code_coverage
1080 description: Tools for code coverage instrumentation, and coverage data parsing
1083 - tools/code-coverage/**/*
1084 - python/mozbuild/mozbuild/codecoverage/**/*
1085 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1094 - 'Testing :: Code Coverage'
1095 - name: 'Core: Accessibility'
1096 description: Support for platform accessibility APIs. Accessibility APIs are used
1097 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1098 software, which need information about document content and UI controls, as
1099 well as important events like changes of focus.
1113 group: dev-accessibility
1114 url: https://developer.mozilla.org/docs/Web/Accessibility
1116 - Core::Disability Access APIs
1123 machine_name: core_accessibility
1125 - name: 'Core: Animation'
1126 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1127 API, and off-main thread animations.'
1129 - dom/animation/**/*
1130 # TODO "and animation-related and interpolation-related code
1131 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1135 - Core::DOM::Animation
1136 - Core::CSS Transitions and Animations
1144 machine_name: core_animation
1146 - name: 'Core: Anti-Tracking'
1147 description: Tracking detection and content-blocking.
1149 - toolkit/components/antitracking/**/*
1150 # several files under browser/ and netwerk/url-classifier/ **TODO**
1158 - 'Core::Privacy: Anti-Tracking'
1166 machine_name: core_antitracking
1168 - name: 'Core: APZ (Graphics submodule)'
1169 description: Asynchronous panning and zooming
1171 - gfx/layers/apz/**/*
1178 url: https://wiki.mozilla.org/Platform/GFX/APZ
1180 - Core::Panning and Zooming
1188 machine_name: core_apz_graphics_submodule
1190 - name: 'Core: Browser WebAPI'
1191 description: Web API for rendering apps, browser windows and widgets.
1193 - dom/browser-element/**/*
1204 machine_name: core_browser_webapi
1206 - name: 'Core: Build and Release Tools'
1207 description: Tools related to build and release automation and configuration of
1210 - tools/update-packaging/**/*
1211 - tools/update-verify/**/*
1215 group: release-engineering
1216 url: https://wiki.mozilla.org/ReleaseEngineering
1218 - Release Engineering::*
1225 machine_name: core_build_and_release_tools
1227 - name: 'Core: Build Config'
1228 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1233 - python/mozbuild/**/*
1234 - browser/config/mozconfigs/**/*
1252 url: :ref:`Build System`
1254 - Core::Build Config
1261 - name: 'Core: Build Config - Fennec'
1262 description: Submodule of the build config covering Fennec's build system
1267 - Core::Build Config
1271 machine_name: core_build_config_fennec
1273 - name: 'Core: Build Config - Taskgraph'
1274 description: Support for task-graph generation in decision, action, and cron
1275 tasks, including configuration of all tasks including those for CI, nightlies,
1276 and releases; as well as Docker and VM images used to execute those tasks.
1281 - Firefox Build System::Task Configuration
1297 machine_name: core_build_config_taskgraph
1298 machine_name: core_build_config
1300 - name: 'Core: Code Analysis and Debugging Tools'
1301 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1302 and other characteristics of it.
1305 - tools/leak-gauge/**/*
1306 - tools/performance/**/*
1309 group: dev-performance
1313 machine_name: core_code_analysis_and_debugging_tools
1315 - name: 'Core: Content Security'
1316 description: 'Native content-based security features enforced in the ContentSecurityManager,
1317 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1318 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1319 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1320 and top-level data: URI blocking.'
1332 - 'Core::DOM: Security'
1340 machine_name: core_content_security
1342 - name: 'Core: Cookies'
1345 - netwerk/cookie/**/*
1354 - Christian Biesinger
1360 - 'Core::Networking: Cookies'
1369 machine_name: core_cookies
1371 - name: 'Core: Crash reporting'
1372 description: Infrastructure and tools used to generate, submit and process crash
1373 reports. This includes the in-tree google-breakpad fork, the crash report generation
1374 machinery as well as the host tools used to dump symbols, analyse minidumps
1375 and generate stack traces.
1377 - toolkit/crashreporter/**/*
1378 - toolkit/components/crashes/**/*
1379 - tools/crashreporter/**/*
1380 - ipc/glue/CrashReporter*
1381 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1386 url: :ref:`Crash Reporter`
1388 - Toolkit::Crash Reporting
1394 machine_name: core_crash_reporting
1396 - machine_name: core_credentials
1397 name: 'Core: Credentials'
1398 description: API Surface for FedCM and WebAuthn
1400 - toolkit/components/credentialmanagement/**/*
1401 - browser/components/credentialmanager/**/*
1402 - dom/credentialmanagement/**/*
1414 - 'Core::DOM: Credential Management'
1415 - 'Core::DOM: Web Authentication'
1417 - name: 'Core: C++/Rust usage, tools, and style'
1418 description: Aspects of C++ use such as language feature usage, standard library
1419 versions/usage, compiler/toolchain versions, formatting and naming style, and
1420 aspects of Rust use as needs arise
1422 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1423 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1424 # - docs/code-quality/**/*
1425 # - docs/testing-rust-code/**/*
1426 # - docs/writing-rust-code/**/*
1441 machine_name: core_crust_usage_tools_and_style
1443 - name: 'Core: Cycle Collector'
1444 description: Code to break and collect objects within reference cycles
1446 - xpcom/base/nsCycleCollect*
1447 # TODO "and some support headers"
1448 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1454 - Core::Cycle Collector
1460 machine_name: core_cycle_collector
1462 - name: 'Core: DLL Services'
1463 description: Windows dynamic linker instrumentation and blocking
1465 - toolkit/xre/dllservices/**/*
1471 - Core::DLL Services
1476 machine_name: core_dll_services
1478 - name: 'Core: docshell'
1482 - uriloader/base/**/*
1488 - Christian Biesinger
1494 - Core::Document Navigation
1501 machine_name: core_docshell
1503 - name: 'Core: Document Object Model'
1507 exclude_module_paths: true
1524 url: http://developer.mozilla.org/en/docs/DOM
1527 - 'Core::DOM: Core & HTML'
1528 review_group: dom-core
1544 machine_name: core_document_object_model
1546 - name: 'Core: DOM File'
1547 description: DOM Blob, File and FileSystem APIs
1550 - dom/filesystem/**/*
1553 url: http://developer.mozilla.org/en/docs/DOM
1560 machine_name: core_dom_file
1562 - machine_name: core_dom_streams
1563 name: 'Core: DOM Streams'
1564 description: Streams Specification implementation
1575 url: http://developer.mozilla.org/en/docs/DOM
1578 - 'Core::DOM: Streams'
1581 - name: 'Core: Editor'
1596 machine_name: core_editor
1598 - name: 'Core: Event Handling'
1599 description: DOM Events and Event Handling
1602 # TODO "and event handling related code elsewhere"
1607 url: http://developer.mozilla.org/en/docs/DOM
1609 - 'Core::DOM: Events'
1610 - 'Core::DOM: UI Events & Focus Handling'
1616 machine_name: core_event_handling
1618 - machine_name: core_firefox_source_documentation
1619 name: 'Core: Firefox Source Documentation'
1620 description: The infrastructure platform used to generate Firefox's source documentation,
1621 excluding editorial control over the content.
1624 - tools/moztreedocs/
1631 - Developer Infrastructure::Source Documentation
1632 url: https://firefox-source-docs.mozilla.org/
1633 - name: 'Core: Gecko Profiler'
1634 description: Gecko's built-in profiler
1636 - tools/profiler/**/*
1637 - mozglue/baseprofiler/**/*
1642 - Shu-yu Guo (JS integration)
1643 - Thinker Lee (TaskTracer)
1644 - Cervantes Yu (TaskTracer)
1645 - Nicholas Nethercote
1651 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1653 - Core::Gecko Profiler
1660 machine_name: core_gecko_profiler
1662 - name: 'Core: GeckoView'
1663 description: Framework for embedding Gecko into Android applications
1665 - mobile/android/**/*
1666 - widget/android/**/*
1678 url: https://wiki.mozilla.org/Mobile/GeckoView
1680 - GeckoView::General
1688 machine_name: core_geckoview
1690 - name: 'Core: Global Key Bindings'
1691 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1692 and the like, as those are part of i18n.
1695 # TODO "and platform specific directories under it"
1697 group: dev-accessibility
1698 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1700 - 'Core::Keyboard: Navigation'
1705 machine_name: core_global_key_bindings
1707 - name: 'Core: Graphics'
1708 description: Mozilla graphics API
1716 - Benoit Girard(Compositor, Performance)
1718 - George Wright(Canvas2D)
1722 - John Daggett(text/fonts)
1723 - Benoit Jacob(gfx/gl)
1725 - Vladimir Vukicevic
1726 - James Willcox(Android)
1729 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1730 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1733 - 'Core::Graphics: Layers'
1734 - 'Core::Graphics: Text'
1735 - 'Core::Graphics: WebRender'
1736 - 'Core::GFX: Color Management'
1737 - 'Core::Canvas: 2D'
1738 - 'Core::Canvas: WebGL'
1753 machine_name: core_graphics
1756 description: Hardware Abstraction Layer
1762 - Core::Hardware Abstraction Layer (HAL)
1766 machine_name: core_hal
1768 - name: 'Core: HTML Parser'
1769 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1770 to the HTML specification, and is mostly translated automatically from Java
1776 url: http://about.validator.nu/
1778 - 'Core::HTML: Parser'
1783 machine_name: core_html_parser
1785 - name: 'Core: I18N Library'
1794 url: :ref:`Internationalization`
1796 - Core::Internationalization
1804 machine_name: core_i18n_library
1806 - name: 'Core: ImageLib'
1809 - media/libjpeg/**/*
1826 machine_name: core_imagelib
1828 - name: 'Core: IndexedDB'
1831 - dom/indexedDB/**/*
1839 url: https://developer.mozilla.org/en/IndexedDB
1841 - 'Core::DOM: IndexedDB'
1842 review_group: dom-storage-reviewers
1849 machine_name: core_indexeddb
1852 description: Native message-passing between threads and processes
1873 review_group: ipc-reviewers
1880 machine_name: core_ipc
1882 - name: 'Core: JavaScript'
1883 description: JavaScript engine (SpiderMonkey)
1907 - Nicholas Nethercote
1912 url: https://spidermonkey.dev/
1914 - Core::JavaScript Engine
1915 - 'Core::JavaScript: GC'
1916 - 'Core::JavaScript: Internationalization API'
1917 - 'Core::JavaScript: Standard Library'
1918 - 'Core::JavaScript: WebAssembly'
1940 machine_name: core_javascript
1942 - name: 'Core: JavaScript JIT'
1943 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1951 url: https://spidermonkey.dev/
1953 - 'Core::JavaScript Engine: JIT'
1969 machine_name: core_javascript_jit
1971 - name: 'Core: js-tests'
1972 description: JavaScript test suite
1976 group: dev-tech-js-engine
1977 url: http://www.mozilla.org/js/tests/library.html
1981 machine_name: core_jstests
1983 - name: 'Core: Layout Engine'
1984 description: rendering tree construction, layout (reflow), etc.
1990 - layout/generic/**/*
1991 - layout/printing/**/*
1992 - layout/tables/**/*
2001 url: https://wiki.mozilla.org/Gecko:Overview#Layout
2004 - 'Core::Layout: Block and Inline'
2005 - 'Core::Layout: Columns'
2006 - 'Core::Layout: Flexbox'
2007 - 'Core::Layout: Floats'
2008 - 'Core::Layout: Form Controls'
2009 - 'Core::Layout: Generated Content, Lists, and Counters'
2010 - 'Core::Layout: Grid'
2011 - 'Core::Layout: Images, Video, and HTML Frames'
2012 - 'Core::Layout: Positioned'
2013 - 'Core::Layout: Ruby'
2014 - 'Core::Layout: Scrolling and Overflow'
2015 - 'Core::Layout: Tables'
2016 - 'Core::Layout: Text and Fonts'
2017 - Core::Print Preview
2018 - 'Core::Printing: Output'
2030 machine_name: core_layout_engine
2032 - name: 'Core: Legacy HTML Parser'
2035 - parser/htmlparser/**/*
2039 url: http://www.mozilla.org/newlayout/doc/parser.html
2041 - 'Core::HTML: Parser'
2048 machine_name: core_legacy_html_parser
2050 - name: 'Core: libjar'
2051 description: The JAR handling code (protocol handler, stream implementation, and
2052 zipreader/zipwriter).
2054 - modules/libjar/**/*
2064 - 'Core::Networking: JAR'
2070 machine_name: core_libjar
2072 - name: 'Core: MathML'
2073 description: MathML is a low-level specification for describing mathematics which
2074 provides a foundation for the inclusion of mathematical expressions in Web pages.
2076 - layout/mathml/**/*
2078 group: dev-tech-mathml
2079 url: https://developer.mozilla.org/docs/Web/MathML
2086 machine_name: core_mathml
2088 - name: 'Core: Media Playback'
2089 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2090 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2093 - media/gmp-clearkey/**/*
2094 - media/libcubeb/**/*
2095 - media/libnestegg/**/*
2097 - media/libopus/**/*
2098 - media/libtheora/**/*
2099 - media/libtremor/**/*
2100 - media/libvorbis/**/*
2102 - dom/media/platforms/omx/**/*
2103 - dom/media/gmp/rlz/**/*
2118 machine_name: core_media_playback
2120 - name: 'Core: Media Transport'
2121 description: Pluggable transport for real-time media
2123 - dom/media/webrtc/transport/**/*
2127 - Core::WebRTC::Networking
2134 machine_name: core_media_transport
2136 - name: 'Core: Memory Allocator'
2137 description: Most things related to memory allocation in Gecko, including jemalloc,
2138 replace-malloc, DMD (dark matter detector), logalloc, etc.
2144 - Nicholas Nethercote
2152 machine_name: core_memory_allocator
2154 - name: 'Core: mfbt'
2155 description: mfbt is a collection of headers, macros, data structures, methods,
2156 and other functionality available for use and reuse throughout all Mozilla code
2157 (including SpiderMonkey and Gecko more broadly).
2169 machine_name: core_mfbt
2171 - name: 'Core: Moz2D (Graphics submodule)'
2172 description: Platform independent 2D graphics API
2177 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2185 machine_name: core_moz2d_graphics_submodule
2187 - name: 'Core: Mozglue'
2188 description: Glue library containing various low-level functionality, including
2189 a dynamic linker for Android, a DLL block list for Windows, etc.
2197 - Kartikaya Gupta (mozglue/android)
2202 machine_name: core_mozglue
2204 - name: 'Core: MSCOM'
2205 description: Integration with Microsoft Distributed COM
2216 - 'Core::IPC: MSCOM'
2222 machine_name: core_mscom
2224 - name: 'Core: Necko'
2225 description: The Mozilla Networking Library
2229 - netwerk/build/**/*
2230 - netwerk/cache2/**/*
2232 - netwerk/locales/**/*
2234 - netwerk/protocol/**/*
2235 - netwerk/socket/**/*
2236 - netwerk/streamconv/**/*
2237 - netwerk/system/**/*
2242 - dom/websocket/**/*
2243 - uriloader/prefetch/**/*
2244 - uriloader/preload/**/*
2247 - Dragana Damjanovic
2249 - Christian Biesinger
2260 group: dev-tech-network
2261 url: :ref:`Networking`
2264 - 'Core::Networking: Cache'
2265 - 'Core::Networking: Cookies'
2266 - 'Core::Networking: FTP'
2267 - 'Core::Networking: File'
2268 - 'Core::Networking: HTTP'
2269 - 'Core::Networking: JAR'
2270 - 'Core::Networking: Websockets'
2271 - 'Core::DOM: Networking'
2277 machine_name: core_necko
2279 - name: 'Core: NodeJS usage, tools, and style'
2280 description: Advises on the use of NodeJS and npm packages at build and runtime.
2281 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2282 teams to maintain automated license and security audits of npm packages. Works
2283 with the security team and relevant developers to respond to vulnerabilities
2284 in NodeJS and vendored npm packages.
2289 # TODO: and others as appropriate
2293 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2302 machine_name: core_nodejs_usage_tools_and_style
2304 - name: 'Core: NSPR'
2305 description: Netscape Portable Runtime
2311 group: dev-tech-nspr
2319 machine_name: core_nspr
2322 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2325 - toolkit/components/pdfjs/**/*
2333 url: https://github.com/mozilla/pdf.js
2340 machine_name: core_pdf
2342 - name: 'Core: Permissions'
2345 - extensions/permissions/**/*
2354 - Christian Biesinger
2359 - 'Core :: Permission Manager'
2366 machine_name: core_permissions
2368 - name: 'Core: Plugins'
2369 description: ' NPAPI Plugin support.'
2381 url: https://wiki.mozilla.org/Plugins
2386 machine_name: core_plugins
2388 - name: 'Core: Preferences'
2389 description: Preference library
2391 - modules/libpref/**/*
2394 - Nicholas Nethercote
2400 - 'Core::Preferences: Backend'
2406 machine_name: core_preferences
2408 - name: 'Core: Private Browsing'
2409 description: Implementation of the Private Browsing mode, and the integration
2410 of other modules with Private Browsing APIs.
2413 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2414 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2422 url: https://wiki.mozilla.org/Private_Browsing
2424 - Firefox::Private Browsing
2429 machine_name: core_private_browsing
2431 - name: 'Core: Privilege Manager'
2432 description: Caps is the capabilities-based security system.
2441 url: http://www.mozilla.org/projects/security/components/index.html
2443 - 'Core::Security: CAPS'
2449 machine_name: core_privilege_manager
2451 - name: 'Core: Push Notifications'
2452 description: Push is a way for application developers to send messages to their
2463 - 'Core::DOM: Notifications'
2467 machine_name: core_push_notifications
2469 - name: 'Core: Sandboxing (Linux)'
2470 description: Sandboxing for the Linux platform
2472 - security/sandbox/linux/**/*
2475 url: https://wiki.mozilla.org/Security/Sandbox
2477 - 'Core::Security: Process Sandboxing'
2482 machine_name: core_sandboxing_linux
2484 - name: 'Core: Sandboxing (OSX)'
2485 description: Sandboxing for the OSX platform
2487 - security/sandbox/mac/**/*
2490 url: https://wiki.mozilla.org/Security/Sandbox
2492 - 'Core::Security: Process Sandboxing'
2496 machine_name: core_sandboxing_osx
2498 - name: 'Core: Sandboxing (Windows)'
2499 description: Sandboxing for the Windows platform
2501 - security/sandbox/win/**/*
2511 url: https://wiki.mozilla.org/Security/Sandbox
2513 - 'Core::Security: Process Sandboxing'
2518 machine_name: core_sandboxing_windows
2520 - name: 'Core: security'
2521 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2534 group: dev-tech-crypto
2535 url: :ref:`Network Security Services (NSS)`
2540 - 'Core::Security: S/MIME'
2553 machine_name: core_security
2555 - name: 'Core: Security - Mozilla PSM Glue'
2556 description: Personal Security Manager
2558 - security/manager/**/*
2561 - Kai Engert (2001-2012)
2562 group: dev-tech-crypto
2564 - 'Core::Security: PSM'
2573 machine_name: core_security_mozilla_psm_glue
2575 - machine_name: core_security_rlbox
2576 name: Security - RLBox
2577 description: Sandboxing using WASM/RLBox libraries.
2581 - third_party/rlbox_wasm2c_sandbox
2591 - 'Core::Security: RLBox'
2592 - name: 'Core: Static analysis & rewriting for C++'
2593 description: Tools for checking C++ code looking for problems at compile time,
2594 plus tools for automated rewriting of C++ code.
2596 - build/clang-plugin/**/*
2597 - tools/rewriting/**/*
2598 # TODO among other out of tree tools
2601 - Birunthan Mohanathas
2605 - Core::Rewriting & Analysis
2612 machine_name: core_static_analysis_rewriting_for_c
2614 - name: 'Core: storage'
2615 description: Storage APIs with a SQLite backend
2617 - third_party/sqlite3/**/*
2621 url: http://developer.mozilla.org/en/docs/Storage
2623 - Toolkit::Storage, Core::SQL
2631 machine_name: core_storage
2633 - name: 'Core: String'
2638 group: dev-tech-xpcom
2639 url: :ref:`String Guide`
2646 machine_name: core_string
2648 - name: 'Core: Style System'
2649 description: CSS style sheet handling; style data computation
2660 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2662 - Core::CSS Parsing and Computation
2663 - 'Core::DOM: CSS Object Model'
2669 machine_name: core_style_system
2672 description: Scalable Vector Graphics
2679 url: https://developer.mozilla.org/docs/Web/SVG
2689 machine_name: core_svg
2691 - name: 'Core: UA String'
2692 description: User Agent String
2694 - netwerk/protocol/http/**/*
2697 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2699 - 'Core::Networking: HTTP'
2705 machine_name: core_ua_string
2707 - name: 'Core: View System'
2708 description: The View Manager is responsible for handling "heavyweight" rendering
2709 (some clipping, compositing) and event handling tasks.
2717 - 'Core::Layout: View Rendering'
2723 machine_name: core_view_system
2725 - name: 'Core: Web Audio'
2726 description: Support for the W3C Web Audio API specification.
2728 - dom/media/webaudio/**/*
2733 url: https://wiki.mozilla.org/Web_Audio_API
2741 machine_name: core_web_audio
2743 - name: 'Core: Web Painting'
2744 description: painting, display lists, and layer construction
2746 - layout/painting/**/*
2747 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2750 url: :ref:`Layout & CSS`
2752 - 'Core::Layout: Web Painting'
2763 machine_name: core_web_painting
2765 - name: 'Core: Web Workers'
2778 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2780 - 'Core::DOM: Workers'
2781 review_group: dom-worker-reviewers
2787 machine_name: core_web_workers
2789 - name: 'Core: WebGPU (Graphics submodule)'
2790 description: WebGPU implementation
2793 - gfx/wgpu_bindings/**/*
2794 - third_party/rust/naga/**/*
2795 - third_party/rust/wgpu-core/**/*
2796 - third_party/rust/wgpu-hal/**/*
2797 - third_party/rust/wgpu-types/**/*
2800 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2802 - Core::Graphics::WebGPU
2803 review_group: webgpu-reviewers
2815 machine_name: core_webgpu_graphics_submodule
2817 - name: 'Core: WebRTC'
2818 description: WebRTC is responsible for realtime audio and video communication,
2819 as well as related issues like low-level camera and microphone access
2822 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2827 url: https://wiki.mozilla.org/Media/webrtc
2830 - Core::WebRTC Networking
2837 machine_name: core_webrtc
2839 - name: 'Core: WebVR'
2840 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2841 including API, devices, graphics and integration
2847 - Vladimir Vukicevic
2850 url: https://mozvr.com/
2859 - name: 'Core: WebRTC Media'
2860 description: Submodule of WebRTC responsible for access to media input devices
2861 (microphones, cameras, screen capture), as well as realtime audiovisual
2862 codecs and packetization.
2865 - dom/media/webrtc/**/*
2866 - dom/media/systemservices/**/*
2872 url: https://wiki.mozilla.org/Media/webrtc
2874 - Core::WebRTC (Audio/Video)
2881 machine_name: core_webrtc_media
2883 - name: 'Core: WebRTC Signaling'
2884 description: Submodule of WebRTC responsible for implementation of PeerConnection
2885 API, WebRTC identity, and SDP/JSEP handling
2887 - media/webrtc/signaling/**/*
2892 url: https://wiki.mozilla.org/Media/webrtc
2894 - Core::WebRTC (Signaling)
2902 machine_name: core_webrtc_signaling
2903 machine_name: core_webvr
2905 - name: 'Core: Widget'
2906 description: Top level Widget
2911 - Vladimir Vukicevic
2918 - Core::Drag and Drop
2920 - 'Core::Printing: Setup'
2923 machine_name: core_widget
2925 - name: 'Core: Widget - Android'
2926 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2931 machine_name: core_widget_android
2933 - name: 'Core: Widget - GTK'
2934 description: GTK widget support
2941 url: http://www.mozilla.org/ports/gtk/
2943 - 'Core::Widget: Gtk'
2948 machine_name: core_widget_gtk
2950 - name: 'Core: Widget - Headless'
2951 description: Headless widget support
2953 - widget/headless/**/*
2962 machine_name: core_widget_headless
2964 - name: 'Core: Widget - macOS'
2965 description: ' macOS widget support'
2978 - 'Core::Widget: Cocoa'
2984 machine_name: core_widget_macos
2986 - name: 'Core: Widget - Windows'
2987 description: Windows widget support
2989 - widget/windows/**/*
2995 - Vladimir Vukicevic
2998 - Christian Biesinger
3000 - Josh 'timeless' Soref
3007 - 'Core::Widget: Win32'
3013 machine_name: core_widget_windows
3016 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
3017 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
3018 that are not covered by more specific projects.
3034 machine_name: core_xml
3036 - name: 'Core: XPApps'
3037 description: Cross-Platform Applications, mostly Navigator front end and application
3042 group: dev-apps-seamonkey
3046 - Josh 'timeless' Soref
3049 machine_name: core_xpapps
3051 - name: 'Core: XPCOM'
3052 description: The cross-platform object model and core data structures.
3058 - xpcom/components/**/*
3062 - xpcom/reflect/**/*
3066 - xpcom/threads/**/*
3067 - xpcom/windbgdlg/**/*
3079 review_group: xpcom-reviewers
3089 machine_name: core_xpcom
3091 - name: 'Core: XPConnect'
3092 description: Deep Magic
3111 machine_name: core_xpconnect
3113 - name: 'Core: XPIDL'
3114 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3115 runtime type description files from .idl interface description files.
3117 - xpcom/idl-parser/**/*
3124 - Josh 'timeless' Soref
3125 group: dev-tech-xpcom
3131 machine_name: core_xpidl
3133 - name: 'Core: XSLT Processor'
3134 description: XSLT transformations processor
3142 group: dev-tech-xslt
3143 url: https://developer.mozilla.org/docs/Web/XSLT
3149 machine_name: core_xslt_processor
3151 - name: Desktop Firefox
3152 description: Standalone Web Browser.
3165 - Tim Guan-tin Chien
3175 - Matthew Noorenberghe
3197 - name: Add-ons Manager
3198 description: Extension management back-end.
3200 - toolkit/mozapps/extensions/**/*
3214 machine_name: addons_manager
3216 - name: Add-ons Manager UI
3217 description: about:addons.
3219 - toolkit/mozapps/extensions/content/**/*
3232 machine_name: addons_manager_ui
3234 - name: Application Update
3235 description: The application update services.
3237 - toolkit/mozapps/update/**/*
3244 machine_name: application_update
3246 - name: Bookmarks & History
3247 description: The bookmarks and history services (Places).
3249 - browser/components/places/**/*
3250 - toolkit/components/places/**/*
3259 - Firefox::Bookmarks & History
3261 review_group: places-reviewers
3269 machine_name: bookmarks_history
3271 - name: Desktop Theme
3272 description: The style rules used in the desktop UI.
3274 - browser/themes/**/*
3275 - toolkit/themes/**/*
3290 machine_name: desktop_theme
3293 description: The main browser UI except where covered by more specific submodules.
3295 - browser/base/content/**/*
3308 machine_name: desktop_ui
3310 - name: Download Manager
3311 description: The downloads UI and service.
3313 - browser/components/downloads/**/*
3314 - toolkit/mozapps/downloads/**/*
3315 - uriloader/exthandler/**/*
3325 machine_name: download_manager
3327 - name: Enterprise Policies
3328 description: System policies for controlling Firefox.
3330 - browser/components/enterprisepolicies/**/*
3335 machine_name: enterprise_policies
3337 - name: Experiments/Rollouts
3338 description: Desktop clients for our experiments and off-train deployments
3341 - toolkit/components/normandy/**/*
3342 - toolkit/components/nimbus/**/*
3348 - Firefox::Nimbus Desktop Client
3349 url: https://experimenter.info/
3355 machine_name: normandy
3357 - machine_name: firefox_view
3359 description: The Firefox View page and its modules.
3361 - browser/components/firefoxview/**/*
3369 - name: Form Autofill
3370 description: Form detection and autocomplete.
3372 - browser/extensions/formautofill/**/*
3373 - toolkit/components/satchel/**/*
3376 - Matthew Noorenberghe
3382 machine_name: form_autofill
3384 - name: In-product Messaging
3385 description: The system for delivering in-product messaging.
3387 - toolkit/components/messaging-system/**/*
3390 - Firefox::Messaging System
3398 machine_name: inproduct_messaging
3400 - name: Launcher Process
3401 description: Windows process for bootstrapping the browser process.
3403 - browser/app/winlauncher/**/*
3409 - Firefox::Launcher Process
3416 machine_name: launcher_process
3418 - machine_name: localization
3420 description: Tooling to enable translation and facilitate localization.
3428 - name: New Tab Page
3429 description: The new tab/home page.
3431 - browser/components/newtab/**/*
3434 - Firefox::New Tab Page
3442 machine_name: new_tab_page
3445 description: The onboarding experience including UI tours.
3447 - browser/components/uitour/**/*
3455 machine_name: onboarding
3457 - name: Password Manager
3458 description: Managing, saving and filling logins.
3460 - toolkit/components/passwordmgr/**/*
3461 - browser/components/aboutlogins/**/*
3464 - Matthew Noorenberghe
3469 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3471 - Toolkit::Password Manager
3472 - 'Toolkit::Password Manager: Site'
3474 - Firefox::about:logins
3481 machine_name: password_manager
3483 - machine_name: firefox_pip
3484 name: Picture-in-Picture
3485 description: A component that allows video elements to be pulled out into
3486 an always-on-top window.
3488 - toolkit/components/pictureinpicture
3489 - browser/extensions/pictureinpicture
3499 - name: Profile Migration
3500 description: Migrating data from other browsers.
3502 - browser/components/migration/**/*
3510 machine_name: profile_migration
3513 description: Code relating to Screenshots functionality
3515 - browser/extensions/screenshots/**/*
3516 - browser/components/screenshots/**/*
3524 - Firefox::Screenshots
3530 machine_name: screenshots
3532 - name: Search and Address Bar
3533 description: The search service, address bar and address bar autocomplete.
3535 - browser/components/search/**/*
3536 - browser/components/urlbar/**/*
3537 - toolkit/components/search/**/*
3540 - Firefox::Address Bar
3553 machine_name: search_and_address_bar
3555 - name: Security and Privacy UI
3556 description: The front-end to our security and privacy features, including
3557 Protections UI, Site Identity, Site Permissions and Certificate Errors
3559 - browser/components/protections/**/*
3560 - browser/components/controlcenter/**/*
3564 - Nihanth Subramanya
3569 - Firefox::Protections UI
3570 - Firefox::Site Identity
3571 - Firefox::Site Permissions
3576 machine_name: security_and_privacy_ui
3578 - name: Session Restore
3579 description: Restoring a user's session after starting Firefox.
3581 - browser/components/sessionstore/**/*
3582 - toolkit/components/sessionstore/**/*
3592 - Firefox::Session Restore
3599 machine_name: session_restore
3602 description: The front-end settings user interface.
3604 - browser/components/preferences/**/*
3605 - browser/themes/*/preferences
3606 - toolkit/mozapps/preferences
3618 machine_name: settings_ui
3620 - name: Tabbed Browser
3621 description: The UI component controlling browser tabs.
3623 - browser/base/content/tabbrowser*
3624 - browser/base/content/browser-allTabsMenu.js
3625 - browser/base/content/browser-ctrlTab.js
3626 - browser/base/content/browser-fullZoom.js
3627 - browser/modules/AsyncTabSwitcher.sys.mjs
3628 - browser/modules/NewTabPagePreloading.sys.mjs
3629 - browser/modules/OpenInTabsUtils.sys.mjs
3630 - browser/modules/TabsList.sys.mjs
3631 - browser/modules/TabUnloader.sys.mjs
3634 - Firefox::Tabbed Browser
3643 machine_name: tabbed_browser
3645 - name: Windows Installer
3646 description: The installer for Windows.
3648 - browser/installer/**/*
3649 - toolkit/mozapps/installer/**/*
3652 - Firefox::Installer
3658 machine_name: windows_installer
3659 machine_name: desktop_firefox
3661 - machine_name: devtools
3663 description: Mozilla Developer Tools
3689 - Steve Fink (heapsnapshot code)
3699 - Panagiotis Astithas
3717 url: http://firefox-dev.tools/
3720 - machine_name: javascript_usage
3721 name: JavaScript usage, tools, and style
3722 description: Aspects of JavaScript use such as language feature usage, tooling
3723 such as lint configurations, formatting and naming style.
3725 - .eslintrc-test-paths.js
3726 - '**/.eslintignore'
3728 - tools/lint/eslint/**/*
3745 - machine_name: mozharness
3747 description: Configuration-driven script harness.
3749 - testing/mozharness/**/*
3762 - 'Release Engineering :: Applications: MozharnessCore'
3763 - machine_name: python_usage
3764 name: Python usage, tools, and style
3765 description: Aspects of Python use such as tooling, formatting and naming style
3767 - tools/lint/python/**/*
3777 - 'Developer Infrastructure :: Lint and Formatting'
3779 - machine_name: remote_protocol
3780 name: Remote Protocol
3781 description: Low-level remote protocol exposing interfaces for inspecting state
3782 and controlling execution of web documents, instrumenting various subsystems
3783 in the browser, simulating user interaction for automation purposes, and for
3784 subscribing to updates from the aforementioned.
3790 url: https://firefox-source-docs.mozilla.org/remote/
3799 - machine_name: remote_protocol_agent
3801 description: Underlying transport layer and server to allow remoting of Firefox
3802 for automation and debugging.
3807 - remote/marionette/*
3808 - remote/webdriver-bidi/*
3813 - Maja Frydrychowicz
3817 - 'Remote Protocol :: Agent'
3825 - machine_name: remote_protocol_cdp
3827 description: The core implementation for CDP support. Please file domain specific
3828 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3835 - Maja Frydrychowicz
3839 - 'Remote Protocol :: CDP'
3847 - machine_name: remote_protocol_marionette
3849 description: Marionette is a remote protocol that lets out-of-process programs
3850 communicate with, instrument, and control Gecko-based browsers. Combined
3851 with geckodriver, this forms our WebDriver classic implementation.
3853 - remote/marionette/*
3858 - Maja Frydrychowicz
3861 - 'Remote Protocol :: Marionette'
3862 group: dev-webdriver
3870 - machine_name: remote_protocol_webdriver_bidi
3871 name: WebDriver BiDi
3872 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3874 - remote/webdriver-bidi/*
3877 - 'Remote Protocol :: WebDriver BiDi'
3878 group: dev-webdriver
3886 - machine_name: sync
3888 description: Firefox Sync client
3890 - services/sync/**/*
3903 url: https://wiki.mozilla.org/Services/Process/Code_Review
3907 - machine_name: testing_firefox_ui
3909 description: Firefox UI test framework.
3911 - testing/firefox-ui/**/*
3914 - Maja Frydrychowicz
3916 - 'Testing :: Firefox UI'
3924 - machine_name: testing_geckodriver
3926 description: Proxy for using W3C WebDriver-compatible clients to interact with
3927 Gecko-based browsers.
3929 - testing/geckodriver/**/*
3937 - 'Testing :: geckodriver'
3938 group: dev-webdriver
3940 - machine_name: testing_gtest
3942 description: GTest test harness.
3944 - testing/gtest/**/*
3951 - 'Testing :: GTest'
3953 - machine_name: testing_marionette_client_harness
3954 name: Marionette Client & Harness
3955 description: Python client and harness for the Marionette remote protocol implementation.
3957 - testing/marionette/**/*
3962 - Maja Frydrychowicz
3965 - 'Testing :: Marionette Client & Harness'
3973 - machine_name: testing_mochitest
3975 description: Mochitest test framework
3977 - testing/mochitest/**/*
3986 - 'Testing :: Mochitest'
3987 - machine_name: testing_mozbase
3989 description: Base modules used for implementing test components.
4003 - 'Testing :: Mozbase'
4004 - 'Testing :: Mozbase Rust'
4005 - machine_name: testing_performance_testing
4006 name: Performance Testing
4008 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
4009 MozPerfTest, AWSY, JSShell, mach try perf, etc.. See our PerfDocs for more information on
4010 the owners/peers of the various components (linked below).
4012 - testing/raptor/**/*
4013 - testing/talos/**/*
4014 - python/mozperftest/**/*
4016 - testing/jsshell/**/*
4017 - tools/lint/perfdocs/**/*
4018 - testing/perfdocs/**/*
4019 - testing/performance/**/*
4020 - testing/condprofile/**/*
4021 - tools/browsertime/**/*
4022 - tools/tryselect/selectors/perf.py
4032 - 'Testing :: Raptor'
4033 - 'Testing :: Talos'
4035 - 'Testing :: Performance'
4036 - 'Testing :: mozperftest'
4037 - 'Testing :: Condprofile'
4038 url: :ref:`Performance Testing`
4039 - machine_name: testing_reftest
4040 name: Reftest (+ jsreftest + crashtest)
4041 description: Reftest test framework
4043 - layout/tools/reftest/**/*
4052 - 'Testing :: Reftest'
4053 - machine_name: testing_tryselect
4055 description: Frontend for selecting jobs on the try server.
4057 - tools/tryselect/**/*
4066 - 'Developer Infrastructure :: Try'
4067 - machine_name: testing_web_platform_tests_infrastructure
4068 name: web-platform-tests infrastructure
4069 description: Infrastructure for running the cross-browser web-platform-tests
4071 - testing/web-platform/**/*
4072 - testing/web-platform/tests/tools/**/*
4074 - testing/web-platform/tests/**/*
4075 - testing/web-platform/meta/**/*
4076 - testing/web-platform/mozilla/**/*
4082 - 'Testing :: web-platform-tests'
4083 - machine_name: testing_xpcshell
4085 description: XPCShell test harness.
4087 - testing/xpcshell/**/*
4095 - Testing::XPCShell Harness
4097 description: Components shared between desktop and mobile browsers.
4106 - Matthew Noorenberghe
4118 - name: Application Startup
4119 description: The profile system and startup process before the front-end launches.
4121 - toolkit/profile/**/*
4122 - toolkit/components/remote/**/*
4129 machine_name: application_startup
4133 The core infrastructure in the Firefox client to send back telemetry
4134 data. Includes the common mechanisms to record, view and submit data: Legacy
4135 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4136 does ''not'' include responsibility for every piece of submitted Telemetry
4137 data. Each team/module is responsible for their own measurements (histograms,
4138 scalars, other ping submissions, etc.).
4140 - toolkit/components/glean/**/*
4141 - toolkit/components/telemetry/**/*
4142 - toolkit/content/aboutTelemetry.*
4147 url: :ref:`Telemetry`
4155 machine_name: telemetry
4158 description: The base widgets used throughout the UI.
4160 - toolkit/content/widgets/**/*
4172 machine_name: ui_widgets
4174 - name: Webextensions
4175 description: Webextension APIs and integration.
4177 - browser/components/extensions/**/*
4178 - toolkit/components/extensions/**/*
4190 machine_name: webextensions
4191 machine_name: toolkit
4192 - machine_name: url_classifier
4193 name: URL Classifier
4194 description: Database and list-based classification of URL resources, such as
4195 Tracking Protection and SafeBrowsing.
4197 - toolkit/components/url-classifier/**/*
4198 - netwerk/url-classifier/**/*
4207 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4208 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4216 config: 2626b4a313053f6674f58b2b3e39ab8b2ede6043
4217 export: f7f14b7f2ff1c838567e6aaeae37e250da73e1c6