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: '2024-03-25T18:09:45.620316'
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
80 name: Andrew Sutherland
88 name: Andrea Marchesini
104 name: Ben Dean-Kawamura
112 name: Benjamin Beurdouche
132 name: Hubert Boma Manilla
143 name: Bryce Seager van Dyk
154 name: Benjamin VanderSloot
166 name: Calixte Denizet
177 name: Nazım Can Altınova
189 name: Christoph Kerschbaumer
205 name: Daisuke Akatsuka
240 name: Alessio Placitelli
308 name: Emilio Cobos Álvarez
312 name: Masatoshi Kimura
334 name: Nick Fitzgerald
338 name: Francesco Lodolo
358 name: Gabriel Bustamante
366 name: Gian-Carlo Pascutto
393 name: Gabriele Svelto
401 name: Haik Aftandilian
409 name: Hiroyuki Ikezoe
421 name: Jan Honza Odvarko
445 name: Jan-Erik Rediger
465 name: Julian Descottes
493 name: Jan-Ivar Bruaroey
521 name: Jonathan Almeida
549 name: Jonathan Sudiaman
557 name: Jules Simplicio
564 name: Jean-Yves Avenard
616 name: Dzmitry Malyshau
628 name: Lougenia Bailey
644 name: Marco Castelluccio
660 name: Masayuki Nakano
672 name: Andrew McCreight
708 name: Morgan Reschenberg
744 name: Nicolas Chevobbe
756 name: Niklas Baumgardner
780 name: Alexandre Poirot
788 name: Andrew Overholt
808 name: Andreas Pehrson
816 name: Peter Van der Beken
856 name: Alexandra Borovova
880 name: Shravan Narayan
896 name: Greg Mierzwinski
908 name: Martin Stránský
915 name: Sylvestre Ledru
927 name: Teodor Tanasoaia
962 name: Toshihito Kikuchi
1002 name: Yulia Startsev
1013 name: Zibi Braniecki
1021 name: Tomislav Jovanovic
1028 - name: firefox-toplevel
1029 description: The top level directory for the Firefox/Gecko tree. Owned by the
1045 machine_name: _firefoxtoplevel
1047 - machine_name: code_coverage
1049 description: Tools for code coverage instrumentation, and coverage data parsing
1052 - tools/code-coverage/**/*
1053 - python/mozbuild/mozbuild/codecoverage/**/*
1054 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1063 - 'Testing :: Code Coverage'
1064 - name: 'Core: Accessibility'
1065 description: Support for platform accessibility APIs. Accessibility APIs are used
1066 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1067 software, which need information about document content and UI controls, as
1068 well as important events like changes of focus.
1082 group: dev-accessibility
1083 url: https://developer.mozilla.org/docs/Web/Accessibility
1085 - Core::Disability Access APIs
1092 machine_name: core_accessibility
1094 - name: 'Core: Animation'
1095 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1096 API, and off-main thread animations.'
1098 - dom/animation/**/*
1099 # TODO "and animation-related and interpolation-related code
1100 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1104 - Core::DOM::Animation
1105 - Core::CSS Transitions and Animations
1113 machine_name: core_animation
1115 - name: 'Core: Anti-Tracking'
1116 description: Tracking detection and content-blocking.
1118 - toolkit/components/antitracking/**/*
1119 # several files under browser/ and netwerk/url-classifier/ **TODO**
1129 - 'Core::Privacy: Anti-Tracking'
1136 machine_name: core_antitracking
1138 - name: 'Core: APZ (Graphics submodule)'
1139 description: Asynchronous panning and zooming
1141 - gfx/layers/apz/**/*
1148 url: https://wiki.mozilla.org/Platform/GFX/APZ
1150 - Core::Panning and Zooming
1158 machine_name: core_apz_graphics_submodule
1160 - name: 'Core: Build and Release Tools'
1161 description: Tools related to build and release automation and configuration of
1164 - tools/update-packaging/**/*
1165 - tools/update-verify/**/*
1169 group: release-engineering
1170 url: https://wiki.mozilla.org/ReleaseEngineering
1172 - Release Engineering::*
1179 machine_name: core_build_and_release_tools
1181 - name: 'Core: Build Config'
1182 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1187 - python/mozbuild/**/*
1188 - browser/config/mozconfigs/**/*
1206 url: :ref:`Build System`
1208 - Core::Build Config
1215 - name: 'Core: Build Config - Fennec'
1216 description: Submodule of the build config covering Fennec's build system
1221 - Core::Build Config
1225 machine_name: core_build_config_fennec
1227 - name: 'Core: Build Config - Taskgraph'
1228 description: Support for task-graph generation in decision, action, and cron
1229 tasks, including configuration of all tasks including those for CI, nightlies,
1230 and releases; as well as Docker and VM images used to execute those tasks.
1235 - Firefox Build System::Task Configuration
1251 machine_name: core_build_config_taskgraph
1252 machine_name: core_build_config
1254 - name: 'Core: Code Analysis and Debugging Tools'
1255 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1256 and other characteristics of it.
1259 - tools/leak-gauge/**/*
1260 - tools/performance/**/*
1263 group: dev-performance
1268 machine_name: core_code_analysis_and_debugging_tools
1270 - name: 'Core: Content Security'
1271 description: 'Native content-based security features enforced in the ContentSecurityManager,
1272 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1273 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1274 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1275 and top-level data: URI blocking.'
1289 - 'Core::DOM: Security'
1296 machine_name: core_content_security
1298 - name: 'Core: Cookies'
1301 - netwerk/cookie/**/*
1310 - Christian Biesinger
1316 - 'Core::Networking: Cookies'
1325 machine_name: core_cookies
1327 - name: 'Core: Crash reporting'
1328 description: Infrastructure and tools used to generate, submit and process crash
1329 reports. This includes the in-tree google-breakpad fork, the crash report generation
1330 machinery as well as the host tools used to dump symbols, analyse minidumps
1331 and generate stack traces.
1333 - toolkit/crashreporter/**/*
1334 - toolkit/components/crashes/**/*
1335 - tools/crashreporter/**/*
1336 - ipc/glue/CrashReporter*
1337 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1342 url: :ref:`Crash Reporter`
1344 - Toolkit::Crash Reporting
1350 machine_name: core_crash_reporting
1352 - machine_name: core_credentials
1353 name: 'Core: Credentials'
1354 description: API Surface for FedCM and WebAuthn
1356 - toolkit/components/credentialmanagement/**/*
1357 - browser/components/credentialmanager/**/*
1358 - dom/credentialmanagement/**/*
1370 - 'Core::DOM: Credential Management'
1371 - 'Core::DOM: Web Authentication'
1373 - name: 'Core: C++/Rust usage, tools, and style'
1374 description: Aspects of C++ use such as language feature usage, standard library
1375 versions/usage, compiler/toolchain versions, formatting and naming style, and
1376 aspects of Rust use as needs arise
1378 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1379 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1380 # - docs/code-quality/**/*
1381 # - docs/testing-rust-code/**/*
1382 # - docs/writing-rust-code/**/*
1397 machine_name: core_crust_usage_tools_and_style
1399 - name: 'Core: Cycle Collector'
1400 description: Code to break and collect objects within reference cycles
1402 - xpcom/base/nsCycleCollect*
1403 # TODO "and some support headers"
1404 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1410 - Core::Cycle Collector
1416 machine_name: core_cycle_collector
1418 - name: 'Core: DLL Services'
1419 description: Windows dynamic linker instrumentation and blocking
1421 - toolkit/xre/dllservices/**/*
1427 - Core::DLL Services
1432 machine_name: core_dll_services
1434 - name: 'Core: docshell'
1438 - uriloader/base/**/*
1444 - Christian Biesinger
1450 - Core::DOM: Navigation
1457 machine_name: core_docshell
1459 - name: 'Core: Document Object Model'
1463 exclude_module_paths: true
1480 url: http://developer.mozilla.org/en/docs/DOM
1483 - 'Core::DOM: Core & HTML'
1484 review_group: dom-core
1500 machine_name: core_document_object_model
1502 - name: 'Core: DOM File'
1503 description: DOM Blob, File and FileSystem APIs
1506 - dom/filesystem/**/*
1509 url: http://developer.mozilla.org/en/docs/DOM
1516 machine_name: core_dom_file
1518 - machine_name: core_dom_streams
1519 name: 'Core: DOM Streams'
1520 description: Streams Specification implementation
1531 url: http://developer.mozilla.org/en/docs/DOM
1534 - 'Core::DOM: Streams'
1537 - name: 'Core: Editor'
1552 machine_name: core_editor
1554 - name: 'Core: Event Handling'
1555 description: DOM Events and Event Handling
1558 # TODO "and event handling related code elsewhere"
1563 url: http://developer.mozilla.org/en/docs/DOM
1565 - 'Core::DOM: Events'
1566 - 'Core::DOM: UI Events & Focus Handling'
1572 machine_name: core_event_handling
1574 - machine_name: core_firefox_source_documentation
1575 name: 'Core: Firefox Source Documentation'
1576 description: The infrastructure platform used to generate Firefox's source documentation,
1577 excluding editorial control over the content.
1580 - tools/moztreedocs/
1587 - Developer Infrastructure::Source Documentation
1588 url: https://firefox-source-docs.mozilla.org/
1589 - name: 'Core: Gecko Profiler'
1590 description: Gecko's built-in profiler
1592 - tools/profiler/**/*
1593 - mozglue/baseprofiler/**/*
1598 - Shu-yu Guo (JS integration)
1599 - Thinker Lee (TaskTracer)
1600 - Cervantes Yu (TaskTracer)
1601 - Nicholas Nethercote
1607 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1609 - Core::Gecko Profiler
1616 machine_name: core_gecko_profiler
1618 - name: 'Core: GeckoView'
1619 description: Framework for embedding Gecko into Android applications
1621 - mobile/android/**/*
1622 - widget/android/**/*
1634 url: https://wiki.mozilla.org/Mobile/GeckoView
1636 - GeckoView::General
1644 machine_name: core_geckoview
1646 - name: 'Core: Global Key Bindings'
1647 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1648 and the like, as those are part of i18n.
1651 # TODO "and platform specific directories under it"
1653 group: dev-accessibility
1654 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1656 - 'Core::Keyboard: Navigation'
1661 machine_name: core_global_key_bindings
1663 - name: 'Core: Graphics'
1664 description: Mozilla graphics API
1672 - Benoit Girard(Compositor, Performance)
1674 - George Wright(Canvas2D)
1678 - John Daggett(text/fonts)
1679 - Benoit Jacob(gfx/gl)
1681 - Vladimir Vukicevic
1682 - James Willcox(Android)
1686 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1687 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1690 - 'Core::Graphics: Layers'
1691 - 'Core::Graphics: Text'
1692 - 'Core::Graphics: WebRender'
1693 - 'Core::GFX: Color Management'
1694 - 'Core::Canvas: 2D'
1695 - 'Core::Canvas: WebGL'
1709 machine_name: core_graphics
1712 description: Hardware Abstraction Layer
1718 - Core::Hardware Abstraction Layer (HAL)
1722 machine_name: core_hal
1724 - name: 'Core: HTML Parser'
1725 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1726 to the HTML specification, and is mostly translated automatically from Java
1732 url: http://about.validator.nu/
1734 - 'Core::HTML: Parser'
1739 machine_name: core_html_parser
1741 - name: 'Core: I18N Library'
1750 url: :ref:`Internationalization`
1752 - Core::Internationalization
1760 machine_name: core_i18n_library
1762 - name: 'Core: ImageLib'
1765 - media/libjpeg/**/*
1782 machine_name: core_imagelib
1784 - name: 'Core: IndexedDB'
1787 - dom/indexedDB/**/*
1797 url: https://developer.mozilla.org/en/IndexedDB
1799 - 'Core::DOM: IndexedDB'
1800 review_group: dom-storage-reviewers
1806 machine_name: core_indexeddb
1809 description: Native message-passing between threads and processes
1830 review_group: ipc-reviewers
1837 machine_name: core_ipc
1839 - name: 'Core: JavaScript'
1840 description: JavaScript engine (SpiderMonkey)
1864 - Nicholas Nethercote
1869 url: https://spidermonkey.dev/
1871 - Core::JavaScript Engine
1872 - 'Core::JavaScript: GC'
1873 - 'Core::JavaScript: Internationalization API'
1874 - 'Core::JavaScript: Standard Library'
1875 - 'Core::JavaScript: WebAssembly'
1897 machine_name: core_javascript
1899 - name: 'Core: JavaScript JIT'
1900 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1914 url: https://spidermonkey.dev/
1916 - 'Core::JavaScript Engine: JIT'
1926 machine_name: core_javascript_jit
1928 - name: 'Core: Layout Engine'
1929 description: rendering tree construction, layout (reflow), etc.
1935 - layout/generic/**/*
1936 - layout/printing/**/*
1937 - layout/tables/**/*
1948 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1951 - 'Core::Layout: Block and Inline'
1952 - 'Core::Layout: Columns'
1953 - 'Core::Layout: Flexbox'
1954 - 'Core::Layout: Floats'
1955 - 'Core::Layout: Form Controls'
1956 - 'Core::Layout: Generated Content, Lists, and Counters'
1957 - 'Core::Layout: Grid'
1958 - 'Core::Layout: Images, Video, and HTML Frames'
1959 - 'Core::Layout: Positioned'
1960 - 'Core::Layout: Ruby'
1961 - 'Core::Layout: Scrolling and Overflow'
1962 - 'Core::Layout: Tables'
1963 - 'Core::Layout: Text and Fonts'
1964 - Core::Print Preview
1965 - 'Core::Printing: Output'
1975 machine_name: core_layout_engine
1977 - name: 'Core: Legacy HTML Parser'
1980 - parser/htmlparser/**/*
1987 url: http://www.mozilla.org/newlayout/doc/parser.html
1989 - 'Core::HTML: Parser'
1994 machine_name: core_legacy_html_parser
1996 - name: 'Core: libjar'
1997 description: The JAR handling code (protocol handler, stream implementation, and
1998 zipreader/zipwriter).
2000 - modules/libjar/**/*
2010 - 'Core::Networking: JAR'
2016 machine_name: core_libjar
2018 - name: 'Core: MathML'
2019 description: MathML is a low-level specification for describing mathematics which
2020 provides a foundation for the inclusion of mathematical expressions in Web pages.
2022 - layout/mathml/**/*
2024 group: dev-tech-mathml
2025 url: https://developer.mozilla.org/docs/Web/MathML
2037 machine_name: core_mathml
2039 - name: 'Core: Media Playback'
2040 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2041 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2044 - media/gmp-clearkey/**/*
2045 - media/libcubeb/**/*
2046 - media/libnestegg/**/*
2048 - media/libopus/**/*
2049 - media/libtheora/**/*
2050 - media/libtremor/**/*
2051 - media/libvorbis/**/*
2053 - dom/media/platforms/omx/**/*
2054 - dom/media/gmp/rlz/**/*
2069 machine_name: core_media_playback
2071 - name: 'Core: Media Transport'
2072 description: Pluggable transport for real-time media
2074 - dom/media/webrtc/transport/**/*
2078 - Core::WebRTC::Networking
2087 machine_name: core_media_transport
2089 - name: 'Core: Memory Allocator'
2090 description: Most things related to memory allocation in Gecko, including jemalloc,
2091 replace-malloc, DMD (dark matter detector), logalloc, etc.
2097 - Nicholas Nethercote
2105 machine_name: core_memory_allocator
2107 - name: 'Core: mfbt'
2108 description: mfbt is a collection of headers, macros, data structures, methods,
2109 and other functionality available for use and reuse throughout all Mozilla code
2110 (including SpiderMonkey and Gecko more broadly).
2124 machine_name: core_mfbt
2126 - name: 'Core: Moz2D (Graphics submodule)'
2127 description: Platform independent 2D graphics API
2132 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2140 machine_name: core_moz2d_graphics_submodule
2142 - name: 'Core: Mozglue'
2143 description: Glue library containing various low-level functionality, including
2144 a dynamic linker for Android, a DLL block list for Windows, etc.
2152 - Kartikaya Gupta (mozglue/android)
2157 machine_name: core_mozglue
2159 - name: 'Core: MSCOM'
2160 description: Integration with Microsoft Distributed COM
2171 - 'Core::IPC: MSCOM'
2177 machine_name: core_mscom
2179 - name: 'Core: Necko'
2180 description: The Mozilla Networking Library
2184 - netwerk/build/**/*
2185 - netwerk/cache2/**/*
2187 - netwerk/locales/**/*
2189 - netwerk/protocol/**/*
2190 - netwerk/socket/**/*
2191 - netwerk/streamconv/**/*
2192 - netwerk/system/**/*
2197 - dom/websocket/**/*
2198 - uriloader/prefetch/**/*
2199 - uriloader/preload/**/*
2202 - Dragana Damjanovic
2204 - Christian Biesinger
2215 group: dev-tech-network
2216 url: :ref:`Networking`
2219 - 'Core::Networking: Cache'
2220 - 'Core::Networking: Cookies'
2221 - 'Core::Networking: File'
2222 - 'Core::Networking: HTTP'
2223 - 'Core::Networking: JAR'
2224 - 'Core::Networking: Proxy'
2225 - 'Core::Networking: Websockets'
2226 - 'Core::DOM: Networking'
2232 machine_name: core_necko
2234 - name: 'Core: NodeJS usage, tools, and style'
2235 description: Advises on the use of NodeJS and npm packages at build and runtime.
2236 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2237 teams to maintain automated license and security audits of npm packages. Works
2238 with the security team and relevant developers to respond to vulnerabilities
2239 in NodeJS and vendored npm packages.
2244 # TODO: and others as appropriate
2248 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2258 machine_name: core_nodejs_usage_tools_and_style
2260 - name: 'Core: NSPR'
2261 description: Netscape Portable Runtime
2267 group: dev-tech-nspr
2275 machine_name: core_nspr
2278 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2281 - toolkit/components/pdfjs/**/*
2289 url: https://github.com/mozilla/pdf.js
2296 machine_name: core_pdf
2298 - name: 'Core: Permissions'
2301 - extensions/permissions/**/*
2310 - Christian Biesinger
2317 - 'Core :: Permission Manager'
2318 review_group: permissions-reviewers
2323 machine_name: core_permissions
2325 - name: 'Core: Plugins'
2326 description: ' NPAPI Plugin support.'
2338 url: https://wiki.mozilla.org/Plugins
2343 machine_name: core_plugins
2345 - name: 'Core: Preferences'
2346 description: Preference library
2348 - modules/libpref/**/*
2351 - Nicholas Nethercote
2357 - 'Core::Preferences: Backend'
2363 machine_name: core_preferences
2365 - name: 'Core: Private Browsing'
2366 description: Implementation of the Private Browsing mode, and the integration
2367 of other modules with Private Browsing APIs.
2370 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2371 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2379 url: https://wiki.mozilla.org/Private_Browsing
2381 - Firefox::Private Browsing
2386 machine_name: core_private_browsing
2388 - name: 'Core: Privilege Manager'
2389 description: Caps is the capabilities-based security system.
2399 url: http://www.mozilla.org/projects/security/components/index.html
2401 - 'Core::Security: CAPS'
2406 machine_name: core_privilege_manager
2408 - name: 'Core: Push Notifications'
2409 description: Push is a way for application developers to send messages to their
2419 - Dragana Damjanovic
2421 - 'Core::DOM: Notifications'
2424 machine_name: core_push_notifications
2426 - name: 'Core: Sandboxing (Linux)'
2427 description: Sandboxing for the Linux platform
2429 - security/sandbox/linux/**/*
2432 url: https://wiki.mozilla.org/Security/Sandbox
2434 - 'Core::Security: Process Sandboxing'
2439 machine_name: core_sandboxing_linux
2441 - name: 'Core: Sandboxing (OSX)'
2442 description: Sandboxing for the OSX platform
2444 - security/sandbox/mac/**/*
2447 url: https://wiki.mozilla.org/Security/Sandbox
2449 - 'Core::Security: Process Sandboxing'
2453 machine_name: core_sandboxing_osx
2455 - name: 'Core: Sandboxing (Windows)'
2456 description: Sandboxing for the Windows platform
2458 - security/sandbox/win/**/*
2468 url: https://wiki.mozilla.org/Security/Sandbox
2470 - 'Core::Security: Process Sandboxing'
2475 machine_name: core_sandboxing_windows
2477 - name: 'Core: security'
2478 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2491 group: dev-tech-crypto
2492 url: :ref:`Network Security Services (NSS)`
2497 - 'Core::Security: S/MIME'
2510 machine_name: core_security
2512 - name: 'Core: Security - Mozilla PSM Glue'
2513 description: Personal Security Manager
2515 - security/manager/**/*
2518 - Kai Engert (2001-2012)
2519 group: dev-tech-crypto
2521 - 'Core::Security: PSM'
2530 machine_name: core_security_mozilla_psm_glue
2532 - machine_name: core_security_rlbox
2533 name: Security - RLBox
2534 description: Sandboxing using WASM/RLBox libraries.
2538 - third_party/rlbox_wasm2c_sandbox
2548 - 'Core::Security: RLBox'
2549 - name: 'Core: Static analysis & rewriting for C++'
2550 description: Tools for checking C++ code looking for problems at compile time,
2551 plus tools for automated rewriting of C++ code.
2553 - build/clang-plugin/**/*
2554 - tools/rewriting/**/*
2555 # TODO among other out of tree tools
2558 - Birunthan Mohanathas
2562 - Core::Rewriting & Analysis
2569 machine_name: core_static_analysis_rewriting_for_c
2571 - name: 'Core: storage'
2572 description: Storage APIs with a SQLite backend
2574 - third_party/sqlite3/**/*
2578 url: http://developer.mozilla.org/en/docs/Storage
2580 - Toolkit::Storage, Core::SQL
2588 machine_name: core_storage
2590 - name: 'Core: String'
2595 group: dev-tech-xpcom
2596 url: :ref:`String Guide`
2605 machine_name: core_string
2607 - name: 'Core: Style System'
2608 description: CSS style sheet handling; style data computation
2619 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2621 - Core::CSS Parsing and Computation
2622 - 'Core::DOM: CSS Object Model'
2632 machine_name: core_style_system
2635 description: Scalable Vector Graphics
2642 url: https://developer.mozilla.org/docs/Web/SVG
2653 machine_name: core_svg
2655 - name: 'Core: UA String'
2656 description: User Agent String
2658 - netwerk/protocol/http/**/*
2661 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2663 - 'Core::Networking: HTTP'
2669 machine_name: core_ua_string
2671 - name: 'Core: View System'
2672 description: The View Manager is responsible for handling "heavyweight" rendering
2673 (some clipping, compositing) and event handling tasks.
2684 - 'Core::Layout: View Rendering'
2689 machine_name: core_view_system
2691 - name: 'Core: Web Audio'
2692 description: Support for the W3C Web Audio API specification.
2694 - dom/media/webaudio/**/*
2701 url: https://wiki.mozilla.org/Web_Audio_API
2708 machine_name: core_web_audio
2710 - name: 'Core: Web Painting'
2711 description: painting, display lists, and layer construction
2713 - layout/painting/**/*
2714 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2717 url: :ref:`Layout & CSS`
2719 - 'Core::Layout: Web Painting'
2731 machine_name: core_web_painting
2733 - name: 'Core: Web Workers'
2736 - dom/serviceworkers/**/*
2749 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2751 - 'Core::DOM: Workers'
2752 review_group: dom-worker-reviewers
2759 machine_name: core_web_workers
2761 - name: 'Core: WebGPU (Graphics submodule)'
2762 description: WebGPU implementation
2765 - gfx/wgpu_bindings/**/*
2766 - third_party/rust/naga/**/*
2767 - third_party/rust/wgpu-core/**/*
2768 - third_party/rust/wgpu-hal/**/*
2769 - third_party/rust/wgpu-types/**/*
2770 - testing/web-platform/tests/webgpu/**/*
2771 - testing/web-platform/meta/webgpu/**/*
2772 - testing/web-platform/mozilla/tests/webgpu/**/*
2773 - testing/web-platform/mozilla/meta/webgpu/**/*
2776 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2778 - Core::Graphics::WebGPU
2779 review_group: webgpu-reviewers
2791 machine_name: core_webgpu_graphics_submodule
2793 - name: 'Core: WebRTC'
2794 description: WebRTC is responsible for realtime audio and video communication,
2795 as well as related issues like low-level camera and microphone access
2798 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2805 url: https://wiki.mozilla.org/Media/webrtc
2808 - Core::WebRTC Networking
2813 machine_name: core_webrtc
2815 - name: 'Core: WebVR'
2816 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2817 including API, devices, graphics and integration
2823 - Vladimir Vukicevic
2826 url: https://mozvr.com/
2835 - name: 'Core: WebRTC Media'
2836 description: Submodule of WebRTC responsible for access to media input devices
2837 (microphones, cameras, screen capture), as well as realtime audiovisual
2838 codecs and packetization.
2841 - dom/media/webrtc/**/*
2842 - dom/media/systemservices/**/*
2848 url: https://wiki.mozilla.org/Media/webrtc
2850 - Core::WebRTC (Audio/Video)
2857 machine_name: core_webrtc_media
2859 - name: 'Core: WebRTC Signaling'
2860 description: Submodule of WebRTC responsible for implementation of PeerConnection
2861 API, WebRTC identity, and SDP/JSEP handling
2863 - media/webrtc/signaling/**/*
2871 url: https://wiki.mozilla.org/Media/webrtc
2873 - Core::WebRTC (Signaling)
2878 machine_name: core_webrtc_signaling
2879 machine_name: core_webvr
2881 - name: 'Core: Widget'
2882 description: Top level Widget
2887 - Vladimir Vukicevic
2894 - Core::Drag and Drop
2896 - 'Core::Printing: Setup'
2899 machine_name: core_widget
2901 - name: 'Core: Widget - Android'
2902 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2907 machine_name: core_widget_android
2909 - name: 'Core: Widget - GTK'
2910 description: GTK widget support
2917 url: http://www.mozilla.org/ports/gtk/
2919 - 'Core::Widget: Gtk'
2925 machine_name: core_widget_gtk
2927 - name: 'Core: Widget - Headless'
2928 description: Headless widget support
2930 - widget/headless/**/*
2939 machine_name: core_widget_headless
2941 - name: 'Core: Widget - macOS'
2942 description: ' macOS widget support'
2955 - 'Core::Widget: Cocoa'
2961 machine_name: core_widget_macos
2963 - name: 'Core: Widget - Windows'
2964 description: Windows widget support
2966 - widget/windows/**/*
2972 - Vladimir Vukicevic
2975 - Christian Biesinger
2977 - Josh 'timeless' Soref
2984 - 'Core::Widget: Win32'
2990 machine_name: core_widget_windows
2993 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2994 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2995 that are not covered by more specific projects.
3011 machine_name: core_xml
3013 - name: 'Core: XPApps'
3014 description: Cross-Platform Applications, mostly Navigator front end and application
3019 group: dev-apps-seamonkey
3023 - Josh 'timeless' Soref
3026 machine_name: core_xpapps
3028 - name: 'Core: XPCOM'
3029 description: The cross-platform object model and core data structures.
3035 - xpcom/components/**/*
3039 - xpcom/reflect/**/*
3043 - xpcom/threads/**/*
3044 - xpcom/windbgdlg/**/*
3056 review_group: xpcom-reviewers
3066 machine_name: core_xpcom
3068 - name: 'Core: XPConnect'
3069 description: Deep Magic
3088 machine_name: core_xpconnect
3090 - name: 'Core: XPIDL'
3091 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3092 runtime type description files from .idl interface description files.
3094 - xpcom/idl-parser/**/*
3101 - Josh 'timeless' Soref
3102 group: dev-tech-xpcom
3108 machine_name: core_xpidl
3110 - name: 'Core: XSLT Processor'
3111 description: XSLT transformations processor
3119 group: dev-tech-xslt
3120 url: https://developer.mozilla.org/docs/Web/XSLT
3126 machine_name: core_xslt_processor
3128 - name: Desktop Firefox
3129 description: Standalone Web Browser.
3142 - Tim Guan-tin Chien
3153 - Matthew Noorenberghe
3175 - name: Add-ons Manager
3176 description: Extension management back-end.
3178 - toolkit/mozapps/extensions/**/*
3192 machine_name: addons_manager
3194 - name: Add-ons Manager UI
3195 description: about:addons.
3197 - toolkit/mozapps/extensions/content/**/*
3210 machine_name: addons_manager_ui
3212 - name: Application Update
3213 description: The application update services.
3215 - toolkit/mozapps/update/**/*
3220 machine_name: application_update
3226 - name: Bookmarks & History
3227 description: The bookmarks and history services (Places).
3229 - browser/components/places/**/*
3230 - toolkit/components/places/**/*
3239 - Firefox::Bookmarks & History
3241 review_group: places-reviewers
3249 machine_name: bookmarks_history
3251 - name: Desktop Theme
3252 description: The style rules used in the desktop UI.
3254 - browser/themes/**/*
3255 - toolkit/themes/**/*
3272 machine_name: desktop_theme
3275 description: The main browser UI except where covered by more specific submodules.
3277 - browser/base/content/**/*
3290 machine_name: desktop_ui
3292 - name: Download Manager
3293 description: The downloads UI and service.
3295 - browser/components/downloads/**/*
3296 - toolkit/mozapps/downloads/**/*
3297 - uriloader/exthandler/**/*
3307 machine_name: download_manager
3309 - name: Enterprise Policies
3310 description: System policies for controlling Firefox.
3312 - browser/components/enterprisepolicies/**/*
3317 machine_name: enterprise_policies
3319 - name: Experiments/Rollouts
3320 description: Desktop clients for our experiments and off-train deployments
3323 - toolkit/components/normandy/**/*
3324 - toolkit/components/nimbus/**/*
3330 - Firefox::Nimbus Desktop Client
3331 url: https://experimenter.info/
3337 machine_name: normandy
3339 - machine_name: firefox_view
3341 description: The Firefox View page and its modules.
3343 - browser/components/firefoxview/**/*
3352 - name: Form Autofill
3353 description: Form detection and autocomplete.
3355 - browser/extensions/formautofill/**/*
3356 - toolkit/components/satchel/**/*
3359 - Matthew Noorenberghe
3365 machine_name: form_autofill
3367 - name: In-product Messaging
3368 description: The system for delivering in-product messaging and onboarding
3369 including Activity Stream Router, about:welcome, UI tour.
3371 - browser/components/asrouter/**/*
3372 - browser/components/aboutwelcome/**/*
3373 - browser/components/uitour/**/*
3374 - toolkit/components/messaging-system/**/*
3377 - Firefox::Messaging System
3391 machine_name: inproduct_messaging
3393 - name: Launcher Process
3394 description: Windows process for bootstrapping the browser process.
3396 - browser/app/winlauncher/**/*
3402 - Firefox::Launcher Process
3409 machine_name: launcher_process
3411 - machine_name: localization
3413 description: Tooling to enable translation and facilitate localization.
3421 - name: New Tab Page
3422 description: The new tab/home page.
3424 - browser/components/newtab/**/*
3427 - Firefox::New Tab Page
3437 machine_name: new_tab_page
3439 - name: Password Manager
3440 description: Managing, saving and filling logins.
3442 - toolkit/components/passwordmgr/**/*
3443 - browser/components/aboutlogins/**/*
3446 - Matthew Noorenberghe
3451 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3453 - Toolkit::Password Manager
3454 - 'Toolkit::Password Manager: Site'
3456 - Firefox::about:logins
3463 machine_name: password_manager
3465 - machine_name: firefox_pip
3466 name: Picture-in-Picture
3467 description: A component that allows video elements to be pulled out into
3468 an always-on-top window.
3470 - toolkit/components/pictureinpicture
3471 - browser/extensions/pictureinpicture
3483 - name: Profile Migration
3484 description: Migrating data from other browsers.
3486 - browser/components/migration/**/*
3494 machine_name: profile_migration
3497 description: Code relating to Screenshots functionality
3499 - browser/extensions/screenshots/**/*
3500 - browser/components/screenshots/**/*
3508 - Firefox::Screenshots
3514 machine_name: screenshots
3516 - name: Search and Address Bar
3517 description: The search service, address bar and address bar autocomplete.
3519 - browser/components/search/**/*
3520 - browser/components/urlbar/**/*
3521 - toolkit/components/search/**/*
3524 - Firefox::Address Bar
3537 machine_name: search_and_address_bar
3539 - name: Security and Privacy UI
3540 description: The front-end to our security and privacy features, including
3541 Protections UI, Site Identity, Site Permissions and Certificate Errors
3543 - browser/components/protections/**/*
3544 - browser/components/controlcenter/**/*
3548 - Nihanth Subramanya
3554 - Firefox::Protections UI
3555 - Firefox::Site Identity
3556 - Firefox::Site Permissions
3559 machine_name: security_and_privacy_ui
3561 - name: Session Restore
3562 description: Restoring a user's session after starting Firefox.
3564 - browser/components/sessionstore/**/*
3565 - toolkit/components/sessionstore/**/*
3575 - Firefox::Session Restore
3582 machine_name: session_restore
3585 description: The front-end settings user interface.
3587 - browser/components/preferences/**/*
3588 - browser/themes/*/preferences
3589 - toolkit/mozapps/preferences
3601 machine_name: settings_ui
3603 - name: Tabbed Browser
3604 description: The UI component controlling browser tabs.
3606 - browser/base/content/tabbrowser*
3607 - browser/base/content/browser-allTabsMenu.js
3608 - browser/base/content/browser-ctrlTab.js
3609 - browser/base/content/browser-fullZoom.js
3610 - browser/modules/AsyncTabSwitcher.sys.mjs
3611 - browser/modules/NewTabPagePreloading.sys.mjs
3612 - browser/modules/OpenInTabsUtils.sys.mjs
3613 - browser/modules/TabsList.sys.mjs
3614 - browser/modules/TabUnloader.sys.mjs
3617 - Firefox::Tabbed Browser
3626 machine_name: tabbed_browser
3628 - name: Windows Installer
3629 description: The installer for Windows.
3631 - browser/installer/**/*
3632 - toolkit/mozapps/installer/**/*
3635 - Firefox::Installer
3641 machine_name: windows_installer
3642 machine_name: desktop_firefox
3644 - machine_name: devtools
3646 description: Mozilla Developer Tools
3672 - Steve Fink (heapsnapshot code)
3682 - Panagiotis Astithas
3700 url: http://firefox-dev.tools/
3703 - machine_name: javascript_usage
3704 name: JavaScript usage, tools, and style
3705 description: Aspects of JavaScript use such as language feature usage, tooling
3706 such as lint configurations, formatting and naming style.
3708 - .eslintrc-test-paths.js
3709 - '**/.eslintignore'
3711 - tools/lint/eslint/**/*
3728 - machine_name: mozharness
3730 description: Configuration-driven script harness.
3732 - testing/mozharness/**/*
3745 - 'Release Engineering :: Applications: MozharnessCore'
3746 - machine_name: python_usage
3747 name: Python usage, tools, and style
3748 description: Aspects of Python use such as tooling, formatting and naming style
3750 - tools/lint/python/**/*
3760 - 'Developer Infrastructure :: Lint and Formatting'
3762 - machine_name: remote_protocol
3763 name: Remote Protocol
3764 description: Low-level remote protocol exposing interfaces for inspecting state
3765 and controlling execution of web documents, instrumenting various subsystems
3766 in the browser, simulating user interaction for automation purposes, and for
3767 subscribing to updates from the aforementioned.
3773 url: https://firefox-source-docs.mozilla.org/remote/
3782 - machine_name: remote_protocol_agent
3784 description: Underlying transport layer and server to allow remoting of Firefox
3785 for automation and debugging.
3790 - remote/marionette/*
3791 - remote/webdriver-bidi/*
3796 - Maja Frydrychowicz
3800 - 'Remote Protocol :: Agent'
3808 - machine_name: remote_protocol_cdp
3810 description: The core implementation for CDP support. Please file domain specific
3811 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3818 - Maja Frydrychowicz
3822 - 'Remote Protocol :: CDP'
3830 - machine_name: remote_protocol_marionette
3832 description: Marionette is a remote protocol that lets out-of-process programs
3833 communicate with, instrument, and control Gecko-based browsers. Combined
3834 with geckodriver, this forms our WebDriver classic implementation.
3836 - remote/marionette/*
3841 - Maja Frydrychowicz
3844 - 'Remote Protocol :: Marionette'
3845 group: dev-webdriver
3853 - machine_name: remote_protocol_webdriver_bidi
3854 name: WebDriver BiDi
3855 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3857 - remote/webdriver-bidi/*
3860 - 'Remote Protocol :: WebDriver BiDi'
3861 group: dev-webdriver
3869 - machine_name: sync
3871 description: Firefox Sync client
3873 - services/sync/**/*
3886 url: https://wiki.mozilla.org/Services/Process/Code_Review
3890 - machine_name: testing_firefox_ui
3892 description: Firefox UI test framework.
3894 - testing/firefox-ui/**/*
3897 - Maja Frydrychowicz
3899 - 'Testing :: Firefox UI'
3907 - machine_name: testing_geckodriver
3909 description: Proxy for using W3C WebDriver-compatible clients to interact with
3910 Gecko-based browsers.
3912 - testing/geckodriver/**/*
3920 - 'Testing :: geckodriver'
3921 group: dev-webdriver
3923 - machine_name: testing_gtest
3925 description: GTest test harness.
3927 - testing/gtest/**/*
3934 - 'Testing :: GTest'
3936 - machine_name: testing_marionette_client_harness
3937 name: Marionette Client & Harness
3938 description: Python client and harness for the Marionette remote protocol implementation.
3940 - testing/marionette/**/*
3945 - Maja Frydrychowicz
3948 - 'Testing :: Marionette Client & Harness'
3956 - machine_name: testing_mochitest
3958 description: Mochitest test framework
3960 - testing/mochitest/**/*
3969 - 'Testing :: Mochitest'
3970 - machine_name: testing_mozbase
3972 description: Base modules used for implementing test components.
3986 - 'Testing :: Mozbase'
3987 - 'Testing :: Mozbase Rust'
3988 - machine_name: testing_performance_testing
3989 name: Performance Testing
3991 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3992 MozPerfTest, AWSY, JSShell, mach try perf, etc.. See our PerfDocs for more information on
3993 the owners/peers of the various components (linked below).
3995 - testing/raptor/**/*
3996 - testing/talos/**/*
3997 - python/mozperftest/**/*
3999 - testing/jsshell/**/*
4000 - tools/lint/perfdocs/**/*
4001 - testing/perfdocs/**/*
4002 - testing/performance/**/*
4003 - testing/condprofile/**/*
4004 - tools/browsertime/**/*
4005 - tools/tryselect/selectors/perf.py
4015 - 'Testing :: Raptor'
4016 - 'Testing :: Talos'
4018 - 'Testing :: Performance'
4019 - 'Testing :: mozperftest'
4020 - 'Testing :: Condprofile'
4021 url: :ref:`Performance Testing`
4022 - machine_name: testing_reftest
4023 name: Reftest (+ jsreftest + crashtest)
4024 description: Reftest test framework
4026 - layout/tools/reftest/**/*
4035 - 'Testing :: Reftest'
4036 - machine_name: testing_tryselect
4038 description: Frontend for selecting jobs on the try server.
4040 - tools/tryselect/**/*
4049 - 'Developer Infrastructure :: Try'
4050 - machine_name: testing_web_platform_tests_infrastructure
4051 name: web-platform-tests infrastructure
4052 description: Infrastructure for running the cross-browser web-platform-tests
4054 - testing/web-platform/**/*
4055 - testing/web-platform/tests/tools/**/*
4057 - testing/web-platform/tests/**/*
4058 - testing/web-platform/meta/**/*
4059 - testing/web-platform/mozilla/**/*
4065 - 'Testing :: web-platform-tests'
4066 - machine_name: testing_xpcshell
4068 description: XPCShell test harness.
4070 - testing/xpcshell/**/*
4078 - Testing::XPCShell Harness
4080 description: Components shared between desktop and mobile browsers.
4089 - Matthew Noorenberghe
4101 - name: Application Startup
4102 description: The profile system and startup process before the front-end launches.
4104 - toolkit/profile/**/*
4105 - toolkit/components/remote/**/*
4112 machine_name: application_startup
4116 The core infrastructure in the Firefox client to send back telemetry
4117 data. Includes the common mechanisms to record, view and submit data: Legacy
4118 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4119 does ''not'' include responsibility for every piece of submitted Telemetry
4120 data. Each team/module is responsible for their own measurements (histograms,
4121 scalars, other ping submissions, etc.).
4123 - toolkit/components/glean/**/*
4124 - toolkit/components/telemetry/**/*
4125 - toolkit/content/aboutTelemetry.*
4130 url: :ref:`Telemetry`
4138 machine_name: telemetry
4141 description: The base widgets used throughout the UI.
4143 - toolkit/content/widgets/**/*
4155 machine_name: ui_widgets
4157 - name: Webextensions
4158 description: Webextension APIs and integration.
4160 - browser/components/extensions/**/*
4161 - toolkit/components/extensions/**/*
4173 machine_name: webextensions
4174 machine_name: toolkit
4175 - machine_name: translation
4177 description: Support for translation in Firefox, and the infrastructure to train
4178 new translation language models.
4180 - toolkit/components/translations/**/*
4181 - toolkit/components/translation/**/*
4182 - browser/components/translations/**/*
4192 url: https://github.com/mozilla/firefox-translations-training https://github.com/mozilla/firefox-translations-models
4193 https://github.com/mozilla/firefox-translations-evaluations https://github.com/mozilla/firefox-translations
4195 - Firefox::Translation
4196 review_group: translations-reviewers
4197 - machine_name: url_classifier
4198 name: URL Classifier
4199 description: Database and list-based classification of URL resources, such as
4200 Tracking Protection and SafeBrowsing.
4202 - toolkit/components/url-classifier/**/*
4203 - netwerk/url-classifier/**/*
4212 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4213 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4221 config: d8458c2bcd314364d46e8eac9a76d3ad3e667c1c
4222 export: b6d42414df936dcf1dd4f150802ab7cf24b3c3e3