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-02-03T16:23:06.801270'
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
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
281 name: Dragana Damjanovic
313 name: Emilio Cobos Álvarez
317 name: Masatoshi Kimura
336 name: Nick Fitzgerald
340 name: Francesco Lodolo
356 name: Gian-Carlo Pascutto
378 name: Gabriele Svelto
382 name: Haik Aftandilian
390 name: Hiroyuki Ikezoe
398 name: Jan Honza Odvarko
422 name: Jan-Erik Rediger
442 name: Julian Descottes
470 name: Jan-Ivar Bruaroey
525 name: Jean-Yves Avenard
549 name: Kimberly Sereduck
550 nick: kimberlythegeek
577 name: Dzmitry Malyshau
589 name: Lougenia Bailey
605 name: Marco Castelluccio
621 name: Masayuki Nakano
630 nick: MatsPalmgren_bugz
641 name: Andrew McCreight
676 name: Morgan Reschenberg
716 name: Nicolas Chevobbe
728 name: Niklas Baumgardner
740 name: Alexandre Poirot
760 name: Andreas Pehrson
768 name: Peter Van der Beken
828 name: Shravan Narayan
844 name: Greg Mierzwinski
860 name: Martin Stránský
867 name: Sylvestre Ledru
910 name: Toshihito Kikuchi
973 name: Tomislav Jovanovic
976 - name: mozilla-toplevel
977 description: The top level directory for the mozilla tree.
980 # TODO: verify, as this was toolkit/README
985 # - Technical Leadership Module
988 machine_name: _mozillatoplevel
990 - machine_name: code_coverage
992 description: Tools for code coverage instrumentation, and coverage data parsing
995 - tools/code-coverage/**/*
996 - python/mozbuild/mozbuild/codecoverage/**/*
997 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1006 - 'Testing :: Code Coverage'
1007 - name: 'Core: Accessibility'
1008 description: Support for platform accessibility APIs. Accessibility APIs are used
1009 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1010 software, which need information about document content and UI controls, as
1011 well as important events like changes of focus.
1024 group: dev-accessibility
1025 url: https://developer.mozilla.org/docs/Web/Accessibility
1027 - Core::Disability Access APIs
1034 machine_name: core_accessibility
1036 - name: 'Core: Animation'
1037 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1038 API, and off-main thread animations.'
1040 - dom/animation/**/*
1041 # TODO "and animation-related and interpolation-related code
1042 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1046 - Core::DOM::Animation
1047 - Core::CSS Transitions and Animations
1055 machine_name: core_animation
1057 - name: 'Core: Anti-Tracking'
1058 description: Tracking detection and content-blocking.
1060 - toolkit/components/antitracking/**/*
1061 # several files under browser/ and netwerk/url-classifier/ **TODO**
1069 - 'Core::Privacy: Anti-Tracking'
1077 machine_name: core_antitracking
1079 - name: 'Core: APZ (Graphics submodule)'
1080 description: Asynchronous panning and zooming
1082 - gfx/layers/apz/**/*
1089 url: https://wiki.mozilla.org/Platform/GFX/APZ
1091 - Core::Panning and Zooming
1099 machine_name: core_apz_graphics_submodule
1101 - name: 'Core: Browser WebAPI'
1102 description: Web API for rendering apps, browser windows and widgets.
1104 - dom/browser-element/**/*
1115 machine_name: core_browser_webapi
1117 - name: 'Core: Build and Release Tools'
1118 description: Tools related to build and release automation and configuration of
1121 - tools/update-packaging/**/*
1122 - tools/update-verify/**/*
1126 group: release-engineering
1127 url: https://wiki.mozilla.org/ReleaseEngineering
1129 - Release Engineering::*
1135 machine_name: core_build_and_release_tools
1137 - name: 'Core: Build Config'
1138 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1143 - python/mozbuild/**/*
1144 - browser/config/mozconfigs/**/*
1162 url: :ref:`Build System`
1164 - Core::Build Config
1171 - name: 'Core: Build Config - Fennec'
1172 description: Submodule of the build config covering Fennec's build system
1177 - Core::Build Config
1181 machine_name: core_build_config_fennec
1183 - name: 'Core: Build Config - Taskgraph'
1184 description: Support for task-graph generation in decision, action, and cron
1185 tasks, including configuration of all tasks including those for CI, nightlies,
1186 and releases; as well as Docker and VM images used to execute those tasks.
1191 - Firefox Build System::Task Configuration
1207 machine_name: core_build_config_taskgraph
1208 machine_name: core_build_config
1210 - name: 'Core: Code Analysis and Debugging Tools'
1211 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1212 and other characteristics of it.
1215 - tools/leak-gauge/**/*
1216 - tools/performance/**/*
1219 group: dev-performance
1223 machine_name: core_code_analysis_and_debugging_tools
1225 - name: 'Core: Content Security'
1226 description: 'Native content-based security features enforced in the ContentSecurityManager,
1227 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1228 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1229 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1230 and top-level data: URI blocking.'
1242 - 'Core::DOM: Security'
1250 machine_name: core_content_security
1252 - name: 'Core: Cookies'
1255 - netwerk/cookie/**/*
1263 - Christian Biesinger
1268 - 'Core::Networking: Cookies'
1273 machine_name: core_cookies
1275 - name: 'Core: Crash reporting'
1276 description: Infrastructure and tools used to generate, submit and process crash
1277 reports. This includes the in-tree google-breakpad fork, the crash report generation
1278 machinery as well as the host tools used to dump symbols, analyse minidumps
1279 and generate stack traces.
1281 - toolkit/crashreporter/**/*
1282 - toolkit/components/crashes/**/*
1283 - tools/crashreporter/**/*
1284 - ipc/glue/CrashReporter*
1285 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1290 url: :ref:`Crash Reporter`
1292 - Toolkit::Crash Reporting
1298 machine_name: core_crash_reporting
1300 - machine_name: core_credentials
1301 name: 'Core: Credentials'
1302 description: API Surface for FedCM and WebAuthn
1304 - toolkit/components/credentialmanagement/**/*
1305 - browser/components/credentialmanager/**/*
1306 - dom/credentialmanagement/**/*
1318 - 'Core::DOM: Credential Management'
1319 - 'Core::DOM: Web Authentication'
1321 - name: 'Core: C++/Rust usage, tools, and style'
1322 description: Aspects of C++ use such as language feature usage, standard library
1323 versions/usage, compiler/toolchain versions, formatting and naming style, and
1324 aspects of Rust use as needs arise
1326 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1327 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1328 # - docs/code-quality/**/*
1329 # - docs/testing-rust-code/**/*
1330 # - docs/writing-rust-code/**/*
1345 machine_name: core_crust_usage_tools_and_style
1347 - name: 'Core: Cycle Collector'
1348 description: Code to break and collect objects within reference cycles
1350 - xpcom/base/nsCycleCollect*
1351 # TODO "and some support headers"
1352 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1358 - Core::Cycle Collector
1364 machine_name: core_cycle_collector
1366 - name: 'Core: DLL Services'
1367 description: Windows dynamic linker instrumentation and blocking
1369 - toolkit/xre/dllservices/**/*
1375 - Core::DLL Services
1380 machine_name: core_dll_services
1382 - name: 'Core: docshell'
1386 - uriloader/base/**/*
1392 - Christian Biesinger
1398 - Core::Document Navigation
1405 machine_name: core_docshell
1407 - name: 'Core: Document Object Model'
1411 exclude_module_paths: true
1428 url: http://developer.mozilla.org/en/docs/DOM
1431 - 'Core::DOM: CSS Object Model'
1432 - 'Core::DOM: Core & HTML'
1447 machine_name: core_document_object_model
1449 - name: 'Core: DOM File'
1450 description: DOM Blob, File and FileSystem APIs
1453 - dom/filesystem/**/*
1456 url: http://developer.mozilla.org/en/docs/DOM
1463 machine_name: core_dom_file
1465 - machine_name: core_dom_streams
1466 name: 'Core: DOM Streams'
1467 description: Streams Specification implementation
1478 url: http://developer.mozilla.org/en/docs/DOM
1481 - 'Core::DOM: Streams'
1482 - name: 'Core: Editor'
1497 machine_name: core_editor
1499 - name: 'Core: Event Handling'
1500 description: DOM Events and Event Handling
1503 # TODO "and event handling related code elsewhere"
1508 url: http://developer.mozilla.org/en/docs/DOM
1510 - 'Core::DOM: Events'
1511 - 'Core::DOM: UI Events & Focus Handling'
1517 machine_name: core_event_handling
1519 - machine_name: core_firefox_source_documentation
1520 name: 'Core: Firefox Source Documentation'
1521 description: The infrastructure platform used to generate Firefox's source documentation,
1522 excluding editorial control over the content.
1525 - tools/moztreedocs/
1532 - Developer Infrastructure::Source Documentation
1533 url: https://firefox-source-docs.mozilla.org/
1534 - name: 'Core: Gecko Profiler'
1535 description: Gecko's built-in profiler
1537 - tools/profiler/**/*
1538 - mozglue/baseprofiler/**/*
1543 - Shu-yu Guo (JS integration)
1544 - Thinker Lee (TaskTracer)
1545 - Cervantes Yu (TaskTracer)
1546 - Nicholas Nethercote
1552 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1554 - Core::Gecko Profiler
1561 machine_name: core_gecko_profiler
1563 - name: 'Core: GeckoView'
1564 description: Framework for embedding Gecko into Android applications
1566 - mobile/android/**/*
1567 - widget/android/**/*
1578 url: https://wiki.mozilla.org/Mobile/GeckoView
1580 - GeckoView::General
1586 machine_name: core_geckoview
1588 - name: 'Core: Global Key Bindings'
1589 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1590 and the like, as those are part of i18n.
1593 # TODO "and platform specific directories under it"
1595 group: dev-accessibility
1596 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1598 - 'Core::Keyboard: Navigation'
1603 machine_name: core_global_key_bindings
1605 - name: 'Core: Graphics'
1606 description: Mozilla graphics API
1614 - Benoit Girard(Compositor, Performance)
1616 - George Wright(Canvas2D)
1620 - John Daggett(text/fonts)
1621 - Benoit Jacob(gfx/gl)
1623 - Vladimir Vukicevic
1624 - James Willcox(Android)
1627 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1628 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1631 - 'Core::Graphics: Layers'
1632 - 'Core::Graphics: Text'
1633 - 'Core::Graphics: WebRender'
1634 - 'Core::GFX: Color Management'
1635 - 'Core::Canvas: 2D'
1636 - 'Core::Canvas: WebGL'
1648 machine_name: core_graphics
1651 description: Hardware Abstraction Layer
1657 - Core::Hardware Abstraction Layer (HAL)
1661 machine_name: core_hal
1663 - name: 'Core: HTML Parser'
1664 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1665 to the HTML specification, and is mostly translated automatically from Java
1671 url: http://about.validator.nu/
1673 - 'Core::HTML: Parser'
1678 machine_name: core_html_parser
1680 - name: 'Core: I18N Library'
1689 url: :ref:`Internationalization`
1691 - Core::Internationalization
1699 machine_name: core_i18n_library
1701 - name: 'Core: ImageLib'
1704 - media/libjpeg/**/*
1721 machine_name: core_imagelib
1723 - name: 'Core: IndexedDB'
1726 - dom/indexedDB/**/*
1734 url: https://developer.mozilla.org/en/IndexedDB
1736 - 'Core::DOM: IndexedDB'
1743 machine_name: core_indexeddb
1746 description: Native message-passing between threads and processes
1773 machine_name: core_ipc
1775 - name: 'Core: JavaScript'
1776 description: JavaScript engine (SpiderMonkey)
1800 - Nicholas Nethercote
1805 url: https://spidermonkey.dev/
1807 - Core::JavaScript Engine
1808 - 'Core::JavaScript: GC'
1809 - 'Core::JavaScript: Internationalization API'
1810 - 'Core::JavaScript: Standard Library'
1811 - 'Core::JavaScript: WebAssembly'
1833 machine_name: core_javascript
1835 - name: 'Core: JavaScript JIT'
1836 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1844 url: https://spidermonkey.dev/
1846 - 'Core::JavaScript Engine: JIT'
1862 machine_name: core_javascript_jit
1864 - name: 'Core: js-tests'
1865 description: JavaScript test suite
1869 group: dev-tech-js-engine
1870 url: http://www.mozilla.org/js/tests/library.html
1874 machine_name: core_jstests
1876 - name: 'Core: Layout Engine'
1877 description: rendering tree construction, layout (reflow), etc.
1883 - layout/generic/**/*
1884 - layout/printing/**/*
1885 - layout/tables/**/*
1894 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1897 - 'Core::Layout: Block and Inline'
1898 - 'Core::Layout: Columns'
1899 - 'Core::Layout: Flexbox'
1900 - 'Core::Layout: Floats'
1901 - 'Core::Layout: Form Controls'
1902 - 'Core::Layout: Generated Content, Lists, and Counters'
1903 - 'Core::Layout: Grid'
1904 - 'Core::Layout: Images, Video, and HTML Frames'
1905 - 'Core::Layout: Positioned'
1906 - 'Core::Layout: Ruby'
1907 - 'Core::Layout: Scrolling and Overflow'
1908 - 'Core::Layout: Tables'
1909 - 'Core::Layout: Text and Fonts'
1910 - Core::Print Preview
1911 - 'Core::Printing: Output'
1923 machine_name: core_layout_engine
1925 - name: 'Core: Legacy HTML Parser'
1928 - parser/htmlparser/**/*
1932 url: http://www.mozilla.org/newlayout/doc/parser.html
1934 - 'Core::HTML: Parser'
1941 machine_name: core_legacy_html_parser
1943 - name: 'Core: libjar'
1944 description: The JAR handling code (protocol handler, stream implementation, and
1945 zipreader/zipwriter).
1947 - modules/libjar/**/*
1957 - 'Core::Networking: JAR'
1963 machine_name: core_libjar
1965 - name: 'Core: MathML'
1966 description: MathML is a low-level specification for describing mathematics which
1967 provides a foundation for the inclusion of mathematical expressions in Web pages.
1969 - layout/mathml/**/*
1971 group: dev-tech-mathml
1972 url: https://developer.mozilla.org/docs/Web/MathML
1979 machine_name: core_mathml
1981 - name: 'Core: Media Playback'
1982 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
1983 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
1986 - media/gmp-clearkey/**/*
1987 - media/libcubeb/**/*
1988 - media/libnestegg/**/*
1990 - media/libopus/**/*
1991 - media/libtheora/**/*
1992 - media/libtremor/**/*
1993 - media/libvorbis/**/*
1995 - dom/media/platforms/omx/**/*
1996 - dom/media/gmp/rlz/**/*
2011 machine_name: core_media_playback
2013 - name: 'Core: Media Transport'
2014 description: Pluggable transport for real-time media
2016 - dom/media/webrtc/transport/**/*
2020 - Core::WebRTC::Networking
2027 machine_name: core_media_transport
2029 - name: 'Core: Memory Allocator'
2030 description: Most things related to memory allocation in Gecko, including jemalloc,
2031 replace-malloc, DMD (dark matter detector), logalloc, etc.
2037 - Nicholas Nethercote
2045 machine_name: core_memory_allocator
2047 - name: 'Core: mfbt'
2048 description: mfbt is a collection of headers, macros, data structures, methods,
2049 and other functionality available for use and reuse throughout all Mozilla code
2050 (including SpiderMonkey and Gecko more broadly).
2062 machine_name: core_mfbt
2064 - name: 'Core: Moz2D (Graphics submodule)'
2065 description: Platform independent 2D graphics API
2070 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2078 machine_name: core_moz2d_graphics_submodule
2080 - name: 'Core: Mozglue'
2081 description: Glue library containing various low-level functionality, including
2082 a dynamic linker for Android, a DLL block list for Windows, etc.
2090 - Kartikaya Gupta (mozglue/android)
2095 machine_name: core_mozglue
2097 - name: 'Core: MSCOM'
2098 description: Integration with Microsoft Distributed COM
2108 - 'Core::IPC: MSCOM'
2111 machine_name: core_mscom
2113 - name: 'Core: Necko'
2114 description: The Mozilla Networking Library
2118 - netwerk/build/**/*
2119 - netwerk/cache/**/*
2121 - netwerk/locales/**/*
2123 - netwerk/protocol/**/*
2124 - netwerk/socket/**/*
2125 - netwerk/streamconv/**/*
2126 - netwerk/system/**/*
2131 - dom/websocket/**/*
2132 - uriloader/prefetch/**/*
2133 - uriloader/preload/**/*
2136 - Dragana Damjanovic
2138 - Christian Biesinger
2149 group: dev-tech-network
2150 url: :ref:`Networking`
2153 - 'Core::Networking: Cache'
2154 - 'Core::Networking: Cookies'
2155 - 'Core::Networking: FTP'
2156 - 'Core::Networking: File'
2157 - 'Core::Networking: HTTP'
2158 - 'Core::Networking: JAR'
2159 - 'Core::Networking: Websockets'
2160 - 'Core::DOM: Networking'
2166 machine_name: core_necko
2168 - name: 'Core: NodeJS usage, tools, and style'
2169 description: Advises on the use of NodeJS and npm packages at build and runtime.
2170 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2171 teams to maintain automated license and security audits of npm packages. Works
2172 with the security team and relevant developers to respond to vulnerabilities
2173 in NodeJS and vendored npm packages.
2178 # TODO: and others as appropriate
2182 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2191 machine_name: core_nodejs_usage_tools_and_style
2193 - name: 'Core: NSPR'
2194 description: Netscape Portable Runtime
2200 group: dev-tech-nspr
2208 machine_name: core_nspr
2211 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2214 - toolkit/components/pdfjs/**/*
2222 url: https://github.com/mozilla/pdf.js
2229 machine_name: core_pdf
2231 - name: 'Core: Permissions'
2234 - extensions/permissions/**/*
2243 - Christian Biesinger
2248 - 'Core :: Permission Manager'
2255 machine_name: core_permissions
2257 - name: 'Core: Plugins'
2258 description: ' NPAPI Plugin support.'
2270 url: https://wiki.mozilla.org/Plugins
2275 machine_name: core_plugins
2277 - name: 'Core: Preferences'
2278 description: Preference library
2280 - modules/libpref/**/*
2283 - Nicholas Nethercote
2289 - 'Core::Preferences: Backend'
2295 machine_name: core_preferences
2297 - name: 'Core: Private Browsing'
2298 description: Implementation of the Private Browsing mode, and the integration
2299 of other modules with Private Browsing APIs.
2302 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2303 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2311 url: https://wiki.mozilla.org/Private_Browsing
2313 - Firefox::Private Browsing
2318 machine_name: core_private_browsing
2320 - name: 'Core: Privilege Manager'
2321 description: Caps is the capabilities-based security system.
2330 url: http://www.mozilla.org/projects/security/components/index.html
2332 - 'Core::Security: CAPS'
2338 machine_name: core_privilege_manager
2340 - name: 'Core: Push Notifications'
2341 description: Push is a way for application developers to send messages to their
2352 - 'Core::DOM: Push Notifications'
2356 machine_name: core_push_notifications
2358 - name: 'Core: Sandboxing (Linux)'
2359 description: Sandboxing for the Linux platform
2361 - security/sandbox/linux/**/*
2364 url: https://wiki.mozilla.org/Security/Sandbox
2366 - 'Core::Security: Process Sandboxing'
2371 machine_name: core_sandboxing_linux
2373 - name: 'Core: Sandboxing (OSX)'
2374 description: Sandboxing for the OSX platform
2376 - security/sandbox/mac/**/*
2379 url: https://wiki.mozilla.org/Security/Sandbox
2381 - 'Core::Security: Process Sandboxing'
2385 machine_name: core_sandboxing_osx
2387 - name: 'Core: Sandboxing (Windows)'
2388 description: Sandboxing for the Windows platform
2390 - security/sandbox/win/**/*
2400 url: https://wiki.mozilla.org/Security/Sandbox
2402 - 'Core::Security: Process Sandboxing'
2407 machine_name: core_sandboxing_windows
2409 - name: 'Core: security'
2410 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2423 group: dev-tech-crypto
2424 url: :ref:`Network Security Services (NSS)`
2429 - 'Core::Security: S/MIME'
2442 machine_name: core_security
2444 - name: 'Core: Security - Mozilla PSM Glue'
2445 description: Personal Security Manager
2447 - security/manager/**/*
2450 - Kai Engert (2001-2012)
2451 group: dev-tech-crypto
2453 - 'Core::Security: PSM'
2462 machine_name: core_security_mozilla_psm_glue
2464 - machine_name: core_security_rlbox
2465 name: Security - RLBox
2466 description: Sandboxing using WASM/RLBox libraries.
2470 - third_party/rlbox_wasm2c_sandbox
2480 - 'Core::Security: RLBox'
2481 - name: 'Core: Static analysis & rewriting for C++'
2482 description: Tools for checking C++ code looking for problems at compile time,
2483 plus tools for automated rewriting of C++ code.
2485 - build/clang-plugin/**/*
2486 - tools/rewriting/**/*
2487 # TODO among other out of tree tools
2490 - Birunthan Mohanathas
2494 - Core::Rewriting & Analysis
2501 machine_name: core_static_analysis_rewriting_for_c
2503 - name: 'Core: storage'
2504 description: Storage APIs with a SQLite backend
2506 - third_party/sqlite3/**/*
2510 url: http://developer.mozilla.org/en/docs/Storage
2512 - Toolkit::Storage, Core::SQL
2518 machine_name: core_storage
2520 - name: 'Core: String'
2525 group: dev-tech-xpcom
2526 url: :ref:`String Guide`
2533 machine_name: core_string
2535 - name: 'Core: Style System'
2536 description: CSS style sheet handling; style data computation
2547 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2549 - Core::CSS Parsing and Computation
2555 machine_name: core_style_system
2558 description: Scalable Vector Graphics
2565 url: https://developer.mozilla.org/docs/Web/SVG
2575 machine_name: core_svg
2577 - name: 'Core: UA String'
2578 description: User Agent String
2580 - netwerk/protocol/http/**/*
2583 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2585 - 'Core::Networking: HTTP'
2591 machine_name: core_ua_string
2593 - name: 'Core: View System'
2594 description: The View Manager is responsible for handling "heavyweight" rendering
2595 (some clipping, compositing) and event handling tasks.
2603 - 'Core::Layout: View Rendering'
2609 machine_name: core_view_system
2611 - name: 'Core: Web Audio'
2612 description: Support for the W3C Web Audio API specification.
2614 - dom/media/webaudio/**/*
2619 url: https://wiki.mozilla.org/Web_Audio_API
2627 machine_name: core_web_audio
2629 - name: 'Core: Web Painting'
2630 description: painting, display lists, and layer construction
2632 - layout/painting/**/*
2633 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2636 url: :ref:`Layout & CSS`
2638 - 'Core::Layout: Web Painting'
2649 machine_name: core_web_painting
2651 - name: 'Core: Web Workers'
2664 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2666 - 'Core::DOM: Workers'
2672 machine_name: core_web_workers
2674 - name: 'Core: WebGPU (Graphics submodule)'
2675 description: WebGPU implementation
2680 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2682 - Core::Graphics::WebGPU
2688 machine_name: core_webgpu_graphics_submodule
2690 - name: 'Core: WebRTC'
2691 description: WebRTC is responsible for realtime audio and video communication,
2692 as well as related issues like low-level camera and microphone access
2695 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2700 url: https://wiki.mozilla.org/Media/webrtc
2703 - Core::WebRTC Networking
2710 machine_name: core_webrtc
2712 - name: 'Core: WebVR'
2713 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2714 including API, devices, graphics and integration
2720 - Vladimir Vukicevic
2723 url: https://mozvr.com/
2732 - name: 'Core: WebRTC Media'
2733 description: Submodule of WebRTC responsible for access to media input devices
2734 (microphones, cameras, screen capture), as well as realtime audiovisual
2735 codecs and packetization.
2738 - dom/media/webrtc/**/*
2739 - dom/media/systemservices/**/*
2745 url: https://wiki.mozilla.org/Media/webrtc
2747 - Core::WebRTC (Audio/Video)
2754 machine_name: core_webrtc_media
2756 - name: 'Core: WebRTC Signaling'
2757 description: Submodule of WebRTC responsible for implementation of PeerConnection
2758 API, WebRTC identity, and SDP/JSEP handling
2760 - media/webrtc/signaling/**/*
2765 url: https://wiki.mozilla.org/Media/webrtc
2767 - Core::WebRTC (Signaling)
2775 machine_name: core_webrtc_signaling
2776 machine_name: core_webvr
2778 - name: 'Core: Widget'
2779 description: Top level Widget
2784 - Vladimir Vukicevic
2791 - Core::Drag and Drop
2793 - 'Core::Printing: Setup'
2796 machine_name: core_widget
2798 - name: 'Core: Widget - Android'
2799 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2804 machine_name: core_widget_android
2806 - name: 'Core: Widget - GTK'
2807 description: GTK widget support
2814 url: http://www.mozilla.org/ports/gtk/
2816 - 'Core::Widget: Gtk'
2821 machine_name: core_widget_gtk
2823 - name: 'Core: Widget - Headless'
2824 description: Headless widget support
2826 - widget/headless/**/*
2835 machine_name: core_widget_headless
2837 - name: 'Core: Widget - macOS'
2838 description: ' macOS widget support'
2851 - 'Core::Widget: Cocoa'
2857 machine_name: core_widget_macos
2859 - name: 'Core: Widget - Windows'
2860 description: Windows widget support
2862 - widget/windows/**/*
2868 - Vladimir Vukicevic
2871 - Christian Biesinger
2873 - Josh 'timeless' Soref
2880 - 'Core::Widget: Win32'
2886 machine_name: core_widget_windows
2889 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2890 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2891 that are not covered by more specific projects.
2907 machine_name: core_xml
2909 - name: 'Core: XPApps'
2910 description: Cross-Platform Applications, mostly Navigator front end and application
2915 group: dev-apps-seamonkey
2919 - Josh 'timeless' Soref
2922 machine_name: core_xpapps
2924 - name: 'Core: XPCOM'
2925 description: The cross-platform object model and core data structures.
2931 - xpcom/components/**/*
2935 - xpcom/reflect/**/*
2939 - xpcom/threads/**/*
2940 - xpcom/windbgdlg/**/*
2961 machine_name: core_xpcom
2963 - name: 'Core: XPConnect'
2964 description: Deep Magic
2983 machine_name: core_xpconnect
2985 - name: 'Core: XPIDL'
2986 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
2987 runtime type description files from .idl interface description files.
2989 - xpcom/idl-parser/**/*
2996 - Josh 'timeless' Soref
2997 group: dev-tech-xpcom
3003 machine_name: core_xpidl
3005 - name: 'Core: XSLT Processor'
3006 description: XSLT transformations processor
3014 group: dev-tech-xslt
3015 url: https://developer.mozilla.org/docs/Web/XSLT
3021 machine_name: core_xslt_processor
3023 - name: Desktop Firefox
3024 description: Standalone Web Browser.
3037 - Tim Guan-tin Chien
3067 - name: Add-ons Manager
3068 description: Extension management back-end.
3070 - toolkit/mozapps/extensions/**/*
3084 machine_name: addons_manager
3086 - name: Add-ons Manager UI
3087 description: about:addons.
3089 - toolkit/mozapps/extensions/content/**/*
3102 machine_name: addons_manager_ui
3104 - name: Application Update
3105 description: The application update services.
3107 - toolkit/mozapps/update/**/*
3114 machine_name: application_update
3116 - name: Bookmarks & History
3117 description: The bookmarks and history services (Places).
3119 - browser/components/places/**/*
3120 - toolkit/components/places/**/*
3127 machine_name: bookmarks_history
3129 - name: Desktop Theme
3130 description: The style rules used in the desktop UI.
3132 - browser/themes/**/*
3133 - toolkit/themes/**/*
3146 machine_name: desktop_theme
3149 description: The main browser UI except where covered by more specific submodules.
3151 - browser/base/content/**/*
3158 machine_name: desktop_ui
3160 - name: Download Manager
3161 description: The downloads UI and service.
3163 - browser/components/downloads/**/*
3164 - toolkit/mozapps/downloads/**/*
3165 - uriloader/exthandler/**/*
3172 machine_name: download_manager
3174 - name: Enterprise Policies
3175 description: System policies for controlling Firefox.
3177 - browser/components/enterprisepolicies/**/*
3182 machine_name: enterprise_policies
3184 - name: Experiments/Rollouts
3185 description: Desktop clients for our experiments and off-train deployments
3188 - toolkit/components/normandy/**/*
3189 - toolkit/components/nimbus/**/*
3195 - Firefox::Nimbus Desktop Client
3196 url: https://experimenter.info/
3202 machine_name: normandy
3204 - machine_name: firefox_view
3206 description: The Firefox View page and its modules.
3208 - browser/components/firefoxview/**/*
3215 - name: Form Autofill
3216 description: Form detection and autocomplete.
3218 - browser/extensions/formautofill/**/*
3219 - toolkit/components/satchel/**/*
3222 - Matthew Noorenberghe
3228 machine_name: form_autofill
3230 - name: In-product Messaging
3231 description: The system for delivering in-product messaging.
3233 - toolkit/components/messaging-system/**/*
3236 - Firefox::Messaging System
3243 machine_name: inproduct_messaging
3245 - name: Launcher Process
3246 description: Windows process for bootstrapping the browser process.
3248 - browser/app/winlauncher/**/*
3254 - Firefox::Launcher Process
3259 machine_name: launcher_process
3261 - machine_name: localization
3263 description: Tooling to enable translation and facilitate localization.
3271 - name: New Tab Page
3272 description: The new tab/home page.
3274 - browser/components/newtab/**/*
3277 - Firefox::New Tab Page
3284 machine_name: new_tab_page
3287 description: The onboarding experience including UI tours.
3289 - browser/components/uitour/**/*
3297 machine_name: onboarding
3299 - name: Password Manager
3300 description: Managing, saving and filling logins.
3302 - toolkit/components/passwordmgr/**/*
3303 - browser/components/aboutlogins/**/*
3306 - Matthew Noorenberghe
3310 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3312 - Toolkit::Password Manager
3313 - 'Toolkit::Password Manager: Site'
3315 - Firefox::about:logins
3323 machine_name: password_manager
3325 - machine_name: firefox_pip
3326 name: Picture-in-Picture
3327 description: A component that allows video elements to be pulled out into
3328 an always-on-top window.
3330 - toolkit/components/pictureinpicture
3331 - browser/extensions/pictureinpicture
3341 - name: Profile Migration
3342 description: Migrating data from other browsers.
3344 - browser/components/migration/**/*
3352 machine_name: profile_migration
3355 description: Code relating to Screenshots functionality
3357 - browser/extensions/screenshots/**/*
3358 - browser/components/screenshots/**/*
3366 - Firefox::Screenshots
3372 machine_name: screenshots
3374 - name: Search and Address Bar
3375 description: The search service, address bar and address bar autocomplete.
3377 - browser/components/search/**/*
3378 - browser/components/urlbar/**/*
3379 - toolkit/components/search/**/*
3382 - Firefox::Address Bar
3394 machine_name: search_and_address_bar
3396 - name: Security and Privacy UI
3397 description: The front-end to our security and privacy features, including
3398 Protections UI, Site Identity, Site Permissions and Certificate Errors
3400 - browser/components/protections/**/*
3401 - browser/components/controlcenter/**/*
3405 - Nihanth Subramanya
3410 - Firefox::Protections UI
3411 - Firefox::Site Identity
3412 - Firefox::Site Permissions
3417 machine_name: security_and_privacy_ui
3419 - name: Session Restore
3420 description: Restoring a user's session after starting Firefox.
3422 - browser/components/sessionstore/**/*
3423 - toolkit/components/sessionstore/**/*
3431 - Firefox::Session Restore
3437 machine_name: session_restore
3440 description: The front-end settings user interface.
3442 - browser/components/preferences/**/*
3443 - browser/themes/*/preferences
3444 - toolkit/mozapps/preferences
3455 machine_name: settings_ui
3457 - name: Tabbed Browser
3458 description: The UI component controlling browser tabs.
3460 # TODO double check that this works as expected
3461 - browser/base/content/tabbrowser*
3462 - browser/modules/AsyncTabSwitcher.jsm
3465 - Firefox::Tabbed Browser
3469 machine_name: tabbed_browser
3471 - name: Windows Installer
3472 description: The installer for Windows.
3474 - browser/installer/**/*
3475 - toolkit/mozapps/installer/**/*
3478 - Firefox::Installer
3484 machine_name: windows_installer
3485 machine_name: desktop_firefox
3487 - machine_name: devtools
3489 description: Mozilla Developer Tools
3515 - Steve Fink (heapsnapshot code)
3525 - Panagiotis Astithas
3543 url: http://firefox-dev.tools/
3546 - machine_name: javascript_usage
3547 name: JavaScript usage, tools, and style
3548 description: Aspects of JavaScript use such as language feature usage, tooling
3549 such as lint configurations, formatting and naming style.
3551 - .eslintrc-test-paths.js
3552 - '**/.eslintignore'
3554 - tools/lint/eslint/**/*
3563 - machine_name: marionette
3565 description: Marionette is a remote protocol that lets out-of-process programs
3566 communicate with, instrument, and control Gecko-based browsers. Combined with
3567 geckodriver, this forms our WebDriver implementation.
3569 - testing/marionette/**/*
3578 - 'Testing :: Marionette'
3586 - machine_name: mozharness
3588 description: Configuration-driven script harness.
3590 - testing/mozharness/**/*
3603 - 'Release Engineering :: Applications: MozharnessCore'
3604 - machine_name: python_usage
3605 name: Python usage, tools, and style
3606 description: Aspects of Python use such as tooling, formatting and naming style
3608 - tools/lint/python/**/*
3618 - 'Developer Infrastructure :: Lint and Formatting'
3619 - machine_name: remote_protocol
3620 name: Remote Protocol
3621 description: Low-level remote protocol exposing interfaces for inspecting state
3622 and controlling execution of web documents, instrumenting various subsystems
3623 in the browser, simulating user interaction for automation purposes, and for
3624 subscribing to updates from the aforementioned.
3636 - Maja Frydrychowicz
3641 url: https://firefox-source-docs.mozilla.org/remote/
3642 - machine_name: sync
3644 description: Firefox Sync client
3646 - services/sync/**/*
3659 url: https://wiki.mozilla.org/Services/Process/Code_Review
3662 - machine_name: testing_firefox_ui
3664 description: Firefox UI test framework.
3666 - testing/firefox-ui/**/*
3674 - 'Testing :: Firefox UI'
3675 - machine_name: testing_geckodriver
3677 description: Proxy for using W3C WebDriver-compatible clients to interact with
3678 Gecko-based browsers.
3680 - testing/geckodriver/**/*
3688 - 'Testing :: geckodriver'
3689 - machine_name: testing_gtest
3691 description: GTest test harness.
3693 - testing/gtest/**/*
3700 - 'Testing :: GTest'
3701 - machine_name: testing_mochitest
3703 description: Mochitest test framework
3705 - testing/mochitest/**/*
3714 - 'Testing :: Mochitest'
3715 - machine_name: testing_mozbase
3717 description: Base modules used for implementing test components.
3731 - 'Testing :: Mozbase'
3732 - 'Testing :: Mozbase Rust'
3733 - machine_name: testing_performance_testing
3734 name: Performance Testing
3736 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3737 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3738 the owners/peers of the various components (linked below).
3740 - testing/raptor/**/*
3741 - testing/talos/**/*
3742 - python/mozperftest/**/*
3744 - tools/lint/perfdocs/**/*
3745 - testing/perfdocs/**/*
3746 - testing/performance/**/*
3747 - testing/condprofile/**/*
3748 - tools/browsertime/**/*
3749 - tools/tryselect/selectors/perf.py
3760 - 'Testing :: Raptor'
3761 - 'Testing :: Talos'
3763 - 'Testing :: Performance'
3764 - 'Testing :: mozperftest'
3765 - 'Testing :: Condprofile'
3766 url: :ref:`Performance Testing`
3767 - machine_name: testing_reftest
3768 name: Reftest (+ jsreftest + crashtest)
3769 description: Reftest test framework
3771 - layout/tools/reftest/**/*
3780 - 'Testing :: Reftest'
3781 - machine_name: testing_tryselect
3783 description: Frontend for selecting jobs on the try server.
3785 - tools/tryselect/**/*
3793 - 'Developer Infrastructure :: Try'
3794 - machine_name: testing_web_platform_tests_infrastructure
3795 name: web-platform-tests infrastructure
3796 description: Infrastructure for running the cross-browser web-platform-tests
3798 - testing/web-platform/**/*
3799 - testing/web-platform/tests/tools/**/*
3801 - testing/web-platform/tests/**/*
3802 - testing/web-platform/meta/**/*
3803 - testing/web-platform/mozilla/**/*
3809 - 'Testing :: web-platform-tests'
3810 - machine_name: testing_xpcshell
3812 description: XPCShell test harness.
3814 - testing/xpcshell/**/*
3822 - Testing::XPCShell Harness
3824 description: Components shared between desktop and mobile browsers.
3841 - name: Application Startup
3842 description: The profile system and startup process before the front-end launches.
3844 - toolkit/profile/**/*
3845 - toolkit/components/remote/**/*
3852 machine_name: application_startup
3856 The core infrastructure in the Firefox client to send back telemetry
3857 data. Includes the common mechanisms to record, view and submit data: Legacy
3858 Telemetry and Glean (via Firefox on Glean (FOG)). This module
3859 does ''not'' include responsibility for every piece of submitted Telemetry
3860 data. Each team/module is responsible for their own measurements (histograms,
3861 scalars, other ping submissions, etc.).
3863 - toolkit/components/glean/**/*
3864 - toolkit/components/telemetry/**/*
3865 - toolkit/content/aboutTelemetry.*
3870 url: :ref:`Telemetry`
3878 machine_name: telemetry
3881 description: The base widgets used throughout the UI.
3883 - toolkit/content/widgets/**/*
3890 machine_name: ui_widgets
3892 - name: Webextensions
3893 description: Webextension APIs and integration.
3895 - browser/components/extensions/**/*
3896 - toolkit/components/extensions/**/*
3908 machine_name: webextensions
3909 machine_name: toolkit
3910 - machine_name: url_classifier
3911 name: URL Classifier
3912 description: Database and list-based classification of URL resources, such as
3913 Tracking Protection and SafeBrowsing.
3915 - toolkit/components/url-classifier/**/*
3916 - netwerk/url-classifier/**/*
3925 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
3926 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
3934 config: 47714db6c02039502e3b27e09f3b9dceef4f53e2
3935 export: 007d59b012c8e4f69356ff653d1b98e1927f3934