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-10T13:48:04.964659'
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
413 name: Haik Aftandilian
421 name: Hiroyuki Ikezoe
433 name: Jan Honza Odvarko
457 name: Jan-Erik Rediger
473 name: Julian Descottes
501 name: Jan-Ivar Bruaroey
533 name: Jonathan Almeida
565 name: Jules Simplicio
572 name: Jean-Yves Avenard
624 name: Dzmitry Malyshau
636 name: Lougenia Bailey
652 name: Marco Castelluccio
668 name: Masayuki Nakano
677 nick: MatsPalmgren_bugz
684 name: Andrew McCreight
716 name: Morgan Reschenberg
756 name: Nicolas Chevobbe
768 name: Niklas Baumgardner
788 name: Alexandre Poirot
796 name: Andrew Overholt
816 name: Andreas Pehrson
824 name: Peter Van der Beken
868 name: Alexandra Borovova
896 name: Shravan Narayan
912 name: Greg Mierzwinski
928 name: Martin Stránský
935 name: Sylvestre Ledru
951 name: Teodor Tanasoaia
982 name: Toshihito Kikuchi
1018 name: William Durand
1030 name: Yulia Startsev
1041 name: Zibi Braniecki
1049 name: Tomislav Jovanovic
1052 - name: firefox-toplevel
1053 description: The top level directory for the Firefox/Gecko tree. Owned by the
1068 machine_name: _firefoxtoplevel
1070 - machine_name: code_coverage
1072 description: Tools for code coverage instrumentation, and coverage data parsing
1075 - tools/code-coverage/**/*
1076 - python/mozbuild/mozbuild/codecoverage/**/*
1077 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1086 - 'Testing :: Code Coverage'
1087 - name: 'Core: Accessibility'
1088 description: Support for platform accessibility APIs. Accessibility APIs are used
1089 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1090 software, which need information about document content and UI controls, as
1091 well as important events like changes of focus.
1105 group: dev-accessibility
1106 url: https://developer.mozilla.org/docs/Web/Accessibility
1108 - Core::Disability Access APIs
1115 machine_name: core_accessibility
1117 - name: 'Core: Animation'
1118 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1119 API, and off-main thread animations.'
1121 - dom/animation/**/*
1122 # TODO "and animation-related and interpolation-related code
1123 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1127 - Core::DOM::Animation
1128 - Core::CSS Transitions and Animations
1136 machine_name: core_animation
1138 - name: 'Core: Anti-Tracking'
1139 description: Tracking detection and content-blocking.
1141 - toolkit/components/antitracking/**/*
1142 # several files under browser/ and netwerk/url-classifier/ **TODO**
1150 - 'Core::Privacy: Anti-Tracking'
1158 machine_name: core_antitracking
1160 - name: 'Core: APZ (Graphics submodule)'
1161 description: Asynchronous panning and zooming
1163 - gfx/layers/apz/**/*
1170 url: https://wiki.mozilla.org/Platform/GFX/APZ
1172 - Core::Panning and Zooming
1180 machine_name: core_apz_graphics_submodule
1182 - name: 'Core: Browser WebAPI'
1183 description: Web API for rendering apps, browser windows and widgets.
1185 - dom/browser-element/**/*
1196 machine_name: core_browser_webapi
1198 - name: 'Core: Build and Release Tools'
1199 description: Tools related to build and release automation and configuration of
1202 - tools/update-packaging/**/*
1203 - tools/update-verify/**/*
1207 group: release-engineering
1208 url: https://wiki.mozilla.org/ReleaseEngineering
1210 - Release Engineering::*
1217 machine_name: core_build_and_release_tools
1219 - name: 'Core: Build Config'
1220 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1225 - python/mozbuild/**/*
1226 - browser/config/mozconfigs/**/*
1244 url: :ref:`Build System`
1246 - Core::Build Config
1253 - name: 'Core: Build Config - Fennec'
1254 description: Submodule of the build config covering Fennec's build system
1259 - Core::Build Config
1263 machine_name: core_build_config_fennec
1265 - name: 'Core: Build Config - Taskgraph'
1266 description: Support for task-graph generation in decision, action, and cron
1267 tasks, including configuration of all tasks including those for CI, nightlies,
1268 and releases; as well as Docker and VM images used to execute those tasks.
1273 - Firefox Build System::Task Configuration
1289 machine_name: core_build_config_taskgraph
1290 machine_name: core_build_config
1292 - name: 'Core: Code Analysis and Debugging Tools'
1293 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1294 and other characteristics of it.
1297 - tools/leak-gauge/**/*
1298 - tools/performance/**/*
1301 group: dev-performance
1305 machine_name: core_code_analysis_and_debugging_tools
1307 - name: 'Core: Content Security'
1308 description: 'Native content-based security features enforced in the ContentSecurityManager,
1309 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1310 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1311 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1312 and top-level data: URI blocking.'
1324 - 'Core::DOM: Security'
1332 machine_name: core_content_security
1334 - name: 'Core: Cookies'
1337 - netwerk/cookie/**/*
1346 - Christian Biesinger
1352 - 'Core::Networking: Cookies'
1361 machine_name: core_cookies
1363 - name: 'Core: Crash reporting'
1364 description: Infrastructure and tools used to generate, submit and process crash
1365 reports. This includes the in-tree google-breakpad fork, the crash report generation
1366 machinery as well as the host tools used to dump symbols, analyse minidumps
1367 and generate stack traces.
1369 - toolkit/crashreporter/**/*
1370 - toolkit/components/crashes/**/*
1371 - tools/crashreporter/**/*
1372 - ipc/glue/CrashReporter*
1373 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1378 url: :ref:`Crash Reporter`
1380 - Toolkit::Crash Reporting
1386 machine_name: core_crash_reporting
1388 - machine_name: core_credentials
1389 name: 'Core: Credentials'
1390 description: API Surface for FedCM and WebAuthn
1392 - toolkit/components/credentialmanagement/**/*
1393 - browser/components/credentialmanager/**/*
1394 - dom/credentialmanagement/**/*
1406 - 'Core::DOM: Credential Management'
1407 - 'Core::DOM: Web Authentication'
1409 - name: 'Core: C++/Rust usage, tools, and style'
1410 description: Aspects of C++ use such as language feature usage, standard library
1411 versions/usage, compiler/toolchain versions, formatting and naming style, and
1412 aspects of Rust use as needs arise
1414 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1415 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1416 # - docs/code-quality/**/*
1417 # - docs/testing-rust-code/**/*
1418 # - docs/writing-rust-code/**/*
1433 machine_name: core_crust_usage_tools_and_style
1435 - name: 'Core: Cycle Collector'
1436 description: Code to break and collect objects within reference cycles
1438 - xpcom/base/nsCycleCollect*
1439 # TODO "and some support headers"
1440 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1446 - Core::Cycle Collector
1452 machine_name: core_cycle_collector
1454 - name: 'Core: DLL Services'
1455 description: Windows dynamic linker instrumentation and blocking
1457 - toolkit/xre/dllservices/**/*
1463 - Core::DLL Services
1468 machine_name: core_dll_services
1470 - name: 'Core: docshell'
1474 - uriloader/base/**/*
1480 - Christian Biesinger
1486 - Core::Document Navigation
1493 machine_name: core_docshell
1495 - name: 'Core: Document Object Model'
1499 exclude_module_paths: true
1516 url: http://developer.mozilla.org/en/docs/DOM
1519 - 'Core::DOM: Core & HTML'
1520 review_group: dom-core
1536 machine_name: core_document_object_model
1538 - name: 'Core: DOM File'
1539 description: DOM Blob, File and FileSystem APIs
1542 - dom/filesystem/**/*
1545 url: http://developer.mozilla.org/en/docs/DOM
1552 machine_name: core_dom_file
1554 - machine_name: core_dom_streams
1555 name: 'Core: DOM Streams'
1556 description: Streams Specification implementation
1567 url: http://developer.mozilla.org/en/docs/DOM
1570 - 'Core::DOM: Streams'
1573 - name: 'Core: Editor'
1588 machine_name: core_editor
1590 - name: 'Core: Event Handling'
1591 description: DOM Events and Event Handling
1594 # TODO "and event handling related code elsewhere"
1599 url: http://developer.mozilla.org/en/docs/DOM
1601 - 'Core::DOM: Events'
1602 - 'Core::DOM: UI Events & Focus Handling'
1608 machine_name: core_event_handling
1610 - machine_name: core_firefox_source_documentation
1611 name: 'Core: Firefox Source Documentation'
1612 description: The infrastructure platform used to generate Firefox's source documentation,
1613 excluding editorial control over the content.
1616 - tools/moztreedocs/
1623 - Developer Infrastructure::Source Documentation
1624 url: https://firefox-source-docs.mozilla.org/
1625 - name: 'Core: Gecko Profiler'
1626 description: Gecko's built-in profiler
1628 - tools/profiler/**/*
1629 - mozglue/baseprofiler/**/*
1634 - Shu-yu Guo (JS integration)
1635 - Thinker Lee (TaskTracer)
1636 - Cervantes Yu (TaskTracer)
1637 - Nicholas Nethercote
1643 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1645 - Core::Gecko Profiler
1652 machine_name: core_gecko_profiler
1654 - name: 'Core: GeckoView'
1655 description: Framework for embedding Gecko into Android applications
1657 - mobile/android/**/*
1658 - widget/android/**/*
1670 url: https://wiki.mozilla.org/Mobile/GeckoView
1672 - GeckoView::General
1680 machine_name: core_geckoview
1682 - name: 'Core: Global Key Bindings'
1683 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1684 and the like, as those are part of i18n.
1687 # TODO "and platform specific directories under it"
1689 group: dev-accessibility
1690 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1692 - 'Core::Keyboard: Navigation'
1697 machine_name: core_global_key_bindings
1699 - name: 'Core: Graphics'
1700 description: Mozilla graphics API
1708 - Benoit Girard(Compositor, Performance)
1710 - George Wright(Canvas2D)
1714 - John Daggett(text/fonts)
1715 - Benoit Jacob(gfx/gl)
1717 - Vladimir Vukicevic
1718 - James Willcox(Android)
1721 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1722 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1725 - 'Core::Graphics: Layers'
1726 - 'Core::Graphics: Text'
1727 - 'Core::Graphics: WebRender'
1728 - 'Core::GFX: Color Management'
1729 - 'Core::Canvas: 2D'
1730 - 'Core::Canvas: WebGL'
1742 machine_name: core_graphics
1745 description: Hardware Abstraction Layer
1751 - Core::Hardware Abstraction Layer (HAL)
1755 machine_name: core_hal
1757 - name: 'Core: HTML Parser'
1758 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1759 to the HTML specification, and is mostly translated automatically from Java
1765 url: http://about.validator.nu/
1767 - 'Core::HTML: Parser'
1772 machine_name: core_html_parser
1774 - name: 'Core: I18N Library'
1783 url: :ref:`Internationalization`
1785 - Core::Internationalization
1793 machine_name: core_i18n_library
1795 - name: 'Core: ImageLib'
1798 - media/libjpeg/**/*
1815 machine_name: core_imagelib
1817 - name: 'Core: IndexedDB'
1820 - dom/indexedDB/**/*
1828 url: https://developer.mozilla.org/en/IndexedDB
1830 - 'Core::DOM: IndexedDB'
1831 review_group: dom-storage-reviewers
1838 machine_name: core_indexeddb
1841 description: Native message-passing between threads and processes
1862 review_group: ipc-reviewers
1869 machine_name: core_ipc
1871 - name: 'Core: JavaScript'
1872 description: JavaScript engine (SpiderMonkey)
1896 - Nicholas Nethercote
1901 url: https://spidermonkey.dev/
1903 - Core::JavaScript Engine
1904 - 'Core::JavaScript: GC'
1905 - 'Core::JavaScript: Internationalization API'
1906 - 'Core::JavaScript: Standard Library'
1907 - 'Core::JavaScript: WebAssembly'
1929 machine_name: core_javascript
1931 - name: 'Core: JavaScript JIT'
1932 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1940 url: https://spidermonkey.dev/
1942 - 'Core::JavaScript Engine: JIT'
1958 machine_name: core_javascript_jit
1960 - name: 'Core: js-tests'
1961 description: JavaScript test suite
1965 group: dev-tech-js-engine
1966 url: http://www.mozilla.org/js/tests/library.html
1970 machine_name: core_jstests
1972 - name: 'Core: Layout Engine'
1973 description: rendering tree construction, layout (reflow), etc.
1979 - layout/generic/**/*
1980 - layout/printing/**/*
1981 - layout/tables/**/*
1990 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1993 - 'Core::Layout: Block and Inline'
1994 - 'Core::Layout: Columns'
1995 - 'Core::Layout: Flexbox'
1996 - 'Core::Layout: Floats'
1997 - 'Core::Layout: Form Controls'
1998 - 'Core::Layout: Generated Content, Lists, and Counters'
1999 - 'Core::Layout: Grid'
2000 - 'Core::Layout: Images, Video, and HTML Frames'
2001 - 'Core::Layout: Positioned'
2002 - 'Core::Layout: Ruby'
2003 - 'Core::Layout: Scrolling and Overflow'
2004 - 'Core::Layout: Tables'
2005 - 'Core::Layout: Text and Fonts'
2006 - Core::Print Preview
2007 - 'Core::Printing: Output'
2019 machine_name: core_layout_engine
2021 - name: 'Core: Legacy HTML Parser'
2024 - parser/htmlparser/**/*
2028 url: http://www.mozilla.org/newlayout/doc/parser.html
2030 - 'Core::HTML: Parser'
2037 machine_name: core_legacy_html_parser
2039 - name: 'Core: libjar'
2040 description: The JAR handling code (protocol handler, stream implementation, and
2041 zipreader/zipwriter).
2043 - modules/libjar/**/*
2053 - 'Core::Networking: JAR'
2059 machine_name: core_libjar
2061 - name: 'Core: MathML'
2062 description: MathML is a low-level specification for describing mathematics which
2063 provides a foundation for the inclusion of mathematical expressions in Web pages.
2065 - layout/mathml/**/*
2067 group: dev-tech-mathml
2068 url: https://developer.mozilla.org/docs/Web/MathML
2075 machine_name: core_mathml
2077 - name: 'Core: Media Playback'
2078 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2079 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2082 - media/gmp-clearkey/**/*
2083 - media/libcubeb/**/*
2084 - media/libnestegg/**/*
2086 - media/libopus/**/*
2087 - media/libtheora/**/*
2088 - media/libtremor/**/*
2089 - media/libvorbis/**/*
2091 - dom/media/platforms/omx/**/*
2092 - dom/media/gmp/rlz/**/*
2107 machine_name: core_media_playback
2109 - name: 'Core: Media Transport'
2110 description: Pluggable transport for real-time media
2112 - dom/media/webrtc/transport/**/*
2116 - Core::WebRTC::Networking
2123 machine_name: core_media_transport
2125 - name: 'Core: Memory Allocator'
2126 description: Most things related to memory allocation in Gecko, including jemalloc,
2127 replace-malloc, DMD (dark matter detector), logalloc, etc.
2133 - Nicholas Nethercote
2141 machine_name: core_memory_allocator
2143 - name: 'Core: mfbt'
2144 description: mfbt is a collection of headers, macros, data structures, methods,
2145 and other functionality available for use and reuse throughout all Mozilla code
2146 (including SpiderMonkey and Gecko more broadly).
2158 machine_name: core_mfbt
2160 - name: 'Core: Moz2D (Graphics submodule)'
2161 description: Platform independent 2D graphics API
2166 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2174 machine_name: core_moz2d_graphics_submodule
2176 - name: 'Core: Mozglue'
2177 description: Glue library containing various low-level functionality, including
2178 a dynamic linker for Android, a DLL block list for Windows, etc.
2186 - Kartikaya Gupta (mozglue/android)
2191 machine_name: core_mozglue
2193 - name: 'Core: MSCOM'
2194 description: Integration with Microsoft Distributed COM
2205 - 'Core::IPC: MSCOM'
2211 machine_name: core_mscom
2213 - name: 'Core: Necko'
2214 description: The Mozilla Networking Library
2218 - netwerk/build/**/*
2219 - netwerk/cache2/**/*
2221 - netwerk/locales/**/*
2223 - netwerk/protocol/**/*
2224 - netwerk/socket/**/*
2225 - netwerk/streamconv/**/*
2226 - netwerk/system/**/*
2231 - dom/websocket/**/*
2232 - uriloader/prefetch/**/*
2233 - uriloader/preload/**/*
2236 - Dragana Damjanovic
2238 - Christian Biesinger
2249 group: dev-tech-network
2250 url: :ref:`Networking`
2253 - 'Core::Networking: Cache'
2254 - 'Core::Networking: Cookies'
2255 - 'Core::Networking: FTP'
2256 - 'Core::Networking: File'
2257 - 'Core::Networking: HTTP'
2258 - 'Core::Networking: JAR'
2259 - 'Core::Networking: Websockets'
2260 - 'Core::DOM: Networking'
2266 machine_name: core_necko
2268 - name: 'Core: NodeJS usage, tools, and style'
2269 description: Advises on the use of NodeJS and npm packages at build and runtime.
2270 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2271 teams to maintain automated license and security audits of npm packages. Works
2272 with the security team and relevant developers to respond to vulnerabilities
2273 in NodeJS and vendored npm packages.
2278 # TODO: and others as appropriate
2282 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2291 machine_name: core_nodejs_usage_tools_and_style
2293 - name: 'Core: NSPR'
2294 description: Netscape Portable Runtime
2300 group: dev-tech-nspr
2308 machine_name: core_nspr
2311 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2314 - toolkit/components/pdfjs/**/*
2322 url: https://github.com/mozilla/pdf.js
2329 machine_name: core_pdf
2331 - name: 'Core: Permissions'
2334 - extensions/permissions/**/*
2343 - Christian Biesinger
2348 - 'Core :: Permission Manager'
2355 machine_name: core_permissions
2357 - name: 'Core: Plugins'
2358 description: ' NPAPI Plugin support.'
2370 url: https://wiki.mozilla.org/Plugins
2375 machine_name: core_plugins
2377 - name: 'Core: Preferences'
2378 description: Preference library
2380 - modules/libpref/**/*
2383 - Nicholas Nethercote
2389 - 'Core::Preferences: Backend'
2395 machine_name: core_preferences
2397 - name: 'Core: Private Browsing'
2398 description: Implementation of the Private Browsing mode, and the integration
2399 of other modules with Private Browsing APIs.
2402 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2403 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2411 url: https://wiki.mozilla.org/Private_Browsing
2413 - Firefox::Private Browsing
2418 machine_name: core_private_browsing
2420 - name: 'Core: Privilege Manager'
2421 description: Caps is the capabilities-based security system.
2430 url: http://www.mozilla.org/projects/security/components/index.html
2432 - 'Core::Security: CAPS'
2438 machine_name: core_privilege_manager
2440 - name: 'Core: Push Notifications'
2441 description: Push is a way for application developers to send messages to their
2452 - 'Core::DOM: Notifications'
2456 machine_name: core_push_notifications
2458 - name: 'Core: Sandboxing (Linux)'
2459 description: Sandboxing for the Linux platform
2461 - security/sandbox/linux/**/*
2464 url: https://wiki.mozilla.org/Security/Sandbox
2466 - 'Core::Security: Process Sandboxing'
2471 machine_name: core_sandboxing_linux
2473 - name: 'Core: Sandboxing (OSX)'
2474 description: Sandboxing for the OSX platform
2476 - security/sandbox/mac/**/*
2479 url: https://wiki.mozilla.org/Security/Sandbox
2481 - 'Core::Security: Process Sandboxing'
2485 machine_name: core_sandboxing_osx
2487 - name: 'Core: Sandboxing (Windows)'
2488 description: Sandboxing for the Windows platform
2490 - security/sandbox/win/**/*
2500 url: https://wiki.mozilla.org/Security/Sandbox
2502 - 'Core::Security: Process Sandboxing'
2507 machine_name: core_sandboxing_windows
2509 - name: 'Core: security'
2510 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2523 group: dev-tech-crypto
2524 url: :ref:`Network Security Services (NSS)`
2529 - 'Core::Security: S/MIME'
2542 machine_name: core_security
2544 - name: 'Core: Security - Mozilla PSM Glue'
2545 description: Personal Security Manager
2547 - security/manager/**/*
2550 - Kai Engert (2001-2012)
2551 group: dev-tech-crypto
2553 - 'Core::Security: PSM'
2562 machine_name: core_security_mozilla_psm_glue
2564 - machine_name: core_security_rlbox
2565 name: Security - RLBox
2566 description: Sandboxing using WASM/RLBox libraries.
2570 - third_party/rlbox_wasm2c_sandbox
2580 - 'Core::Security: RLBox'
2581 - name: 'Core: Static analysis & rewriting for C++'
2582 description: Tools for checking C++ code looking for problems at compile time,
2583 plus tools for automated rewriting of C++ code.
2585 - build/clang-plugin/**/*
2586 - tools/rewriting/**/*
2587 # TODO among other out of tree tools
2590 - Birunthan Mohanathas
2594 - Core::Rewriting & Analysis
2601 machine_name: core_static_analysis_rewriting_for_c
2603 - name: 'Core: storage'
2604 description: Storage APIs with a SQLite backend
2606 - third_party/sqlite3/**/*
2610 url: http://developer.mozilla.org/en/docs/Storage
2612 - Toolkit::Storage, Core::SQL
2620 machine_name: core_storage
2622 - name: 'Core: String'
2627 group: dev-tech-xpcom
2628 url: :ref:`String Guide`
2635 machine_name: core_string
2637 - name: 'Core: Style System'
2638 description: CSS style sheet handling; style data computation
2649 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2651 - Core::CSS Parsing and Computation
2652 - 'Core::DOM: CSS Object Model'
2658 machine_name: core_style_system
2661 description: Scalable Vector Graphics
2668 url: https://developer.mozilla.org/docs/Web/SVG
2678 machine_name: core_svg
2680 - name: 'Core: UA String'
2681 description: User Agent String
2683 - netwerk/protocol/http/**/*
2686 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2688 - 'Core::Networking: HTTP'
2694 machine_name: core_ua_string
2696 - name: 'Core: View System'
2697 description: The View Manager is responsible for handling "heavyweight" rendering
2698 (some clipping, compositing) and event handling tasks.
2706 - 'Core::Layout: View Rendering'
2712 machine_name: core_view_system
2714 - name: 'Core: Web Audio'
2715 description: Support for the W3C Web Audio API specification.
2717 - dom/media/webaudio/**/*
2722 url: https://wiki.mozilla.org/Web_Audio_API
2730 machine_name: core_web_audio
2732 - name: 'Core: Web Painting'
2733 description: painting, display lists, and layer construction
2735 - layout/painting/**/*
2736 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2739 url: :ref:`Layout & CSS`
2741 - 'Core::Layout: Web Painting'
2752 machine_name: core_web_painting
2754 - name: 'Core: Web Workers'
2767 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2769 - 'Core::DOM: Workers'
2770 review_group: dom-worker-reviewers
2776 machine_name: core_web_workers
2778 - name: 'Core: WebGPU (Graphics submodule)'
2779 description: WebGPU implementation
2782 - gfx/wgpu_bindings/**/*
2783 - third_party/rust/naga/**/*
2784 - third_party/rust/wgpu-core/**/*
2785 - third_party/rust/wgpu-hal/**/*
2786 - third_party/rust/wgpu-types/**/*
2789 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2791 - Core::Graphics::WebGPU
2792 review_group: webgpu-reviewers
2804 machine_name: core_webgpu_graphics_submodule
2806 - name: 'Core: WebRTC'
2807 description: WebRTC is responsible for realtime audio and video communication,
2808 as well as related issues like low-level camera and microphone access
2811 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2816 url: https://wiki.mozilla.org/Media/webrtc
2819 - Core::WebRTC Networking
2826 machine_name: core_webrtc
2828 - name: 'Core: WebVR'
2829 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2830 including API, devices, graphics and integration
2836 - Vladimir Vukicevic
2839 url: https://mozvr.com/
2848 - name: 'Core: WebRTC Media'
2849 description: Submodule of WebRTC responsible for access to media input devices
2850 (microphones, cameras, screen capture), as well as realtime audiovisual
2851 codecs and packetization.
2854 - dom/media/webrtc/**/*
2855 - dom/media/systemservices/**/*
2861 url: https://wiki.mozilla.org/Media/webrtc
2863 - Core::WebRTC (Audio/Video)
2870 machine_name: core_webrtc_media
2872 - name: 'Core: WebRTC Signaling'
2873 description: Submodule of WebRTC responsible for implementation of PeerConnection
2874 API, WebRTC identity, and SDP/JSEP handling
2876 - media/webrtc/signaling/**/*
2881 url: https://wiki.mozilla.org/Media/webrtc
2883 - Core::WebRTC (Signaling)
2891 machine_name: core_webrtc_signaling
2892 machine_name: core_webvr
2894 - name: 'Core: Widget'
2895 description: Top level Widget
2900 - Vladimir Vukicevic
2907 - Core::Drag and Drop
2909 - 'Core::Printing: Setup'
2912 machine_name: core_widget
2914 - name: 'Core: Widget - Android'
2915 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2920 machine_name: core_widget_android
2922 - name: 'Core: Widget - GTK'
2923 description: GTK widget support
2930 url: http://www.mozilla.org/ports/gtk/
2932 - 'Core::Widget: Gtk'
2937 machine_name: core_widget_gtk
2939 - name: 'Core: Widget - Headless'
2940 description: Headless widget support
2942 - widget/headless/**/*
2951 machine_name: core_widget_headless
2953 - name: 'Core: Widget - macOS'
2954 description: ' macOS widget support'
2967 - 'Core::Widget: Cocoa'
2973 machine_name: core_widget_macos
2975 - name: 'Core: Widget - Windows'
2976 description: Windows widget support
2978 - widget/windows/**/*
2984 - Vladimir Vukicevic
2987 - Christian Biesinger
2989 - Josh 'timeless' Soref
2996 - 'Core::Widget: Win32'
3002 machine_name: core_widget_windows
3005 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
3006 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
3007 that are not covered by more specific projects.
3023 machine_name: core_xml
3025 - name: 'Core: XPApps'
3026 description: Cross-Platform Applications, mostly Navigator front end and application
3031 group: dev-apps-seamonkey
3035 - Josh 'timeless' Soref
3038 machine_name: core_xpapps
3040 - name: 'Core: XPCOM'
3041 description: The cross-platform object model and core data structures.
3047 - xpcom/components/**/*
3051 - xpcom/reflect/**/*
3055 - xpcom/threads/**/*
3056 - xpcom/windbgdlg/**/*
3068 review_group: xpcom-reviewers
3078 machine_name: core_xpcom
3080 - name: 'Core: XPConnect'
3081 description: Deep Magic
3100 machine_name: core_xpconnect
3102 - name: 'Core: XPIDL'
3103 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3104 runtime type description files from .idl interface description files.
3106 - xpcom/idl-parser/**/*
3113 - Josh 'timeless' Soref
3114 group: dev-tech-xpcom
3120 machine_name: core_xpidl
3122 - name: 'Core: XSLT Processor'
3123 description: XSLT transformations processor
3131 group: dev-tech-xslt
3132 url: https://developer.mozilla.org/docs/Web/XSLT
3138 machine_name: core_xslt_processor
3140 - name: Desktop Firefox
3141 description: Standalone Web Browser.
3154 - Tim Guan-tin Chien
3164 - Matthew Noorenberghe
3186 - name: Add-ons Manager
3187 description: Extension management back-end.
3189 - toolkit/mozapps/extensions/**/*
3203 machine_name: addons_manager
3205 - name: Add-ons Manager UI
3206 description: about:addons.
3208 - toolkit/mozapps/extensions/content/**/*
3221 machine_name: addons_manager_ui
3223 - name: Application Update
3224 description: The application update services.
3226 - toolkit/mozapps/update/**/*
3233 machine_name: application_update
3235 - name: Bookmarks & History
3236 description: The bookmarks and history services (Places).
3238 - browser/components/places/**/*
3239 - toolkit/components/places/**/*
3248 - Firefox::Bookmarks & History
3250 review_group: places-reviewers
3258 machine_name: bookmarks_history
3260 - name: Desktop Theme
3261 description: The style rules used in the desktop UI.
3263 - browser/themes/**/*
3264 - toolkit/themes/**/*
3279 machine_name: desktop_theme
3282 description: The main browser UI except where covered by more specific submodules.
3284 - browser/base/content/**/*
3297 machine_name: desktop_ui
3299 - name: Download Manager
3300 description: The downloads UI and service.
3302 - browser/components/downloads/**/*
3303 - toolkit/mozapps/downloads/**/*
3304 - uriloader/exthandler/**/*
3314 machine_name: download_manager
3316 - name: Enterprise Policies
3317 description: System policies for controlling Firefox.
3319 - browser/components/enterprisepolicies/**/*
3324 machine_name: enterprise_policies
3326 - name: Experiments/Rollouts
3327 description: Desktop clients for our experiments and off-train deployments
3330 - toolkit/components/normandy/**/*
3331 - toolkit/components/nimbus/**/*
3337 - Firefox::Nimbus Desktop Client
3338 url: https://experimenter.info/
3344 machine_name: normandy
3346 - machine_name: firefox_view
3348 description: The Firefox View page and its modules.
3350 - browser/components/firefoxview/**/*
3358 - name: Form Autofill
3359 description: Form detection and autocomplete.
3361 - browser/extensions/formautofill/**/*
3362 - toolkit/components/satchel/**/*
3365 - Matthew Noorenberghe
3371 machine_name: form_autofill
3373 - name: In-product Messaging
3374 description: The system for delivering in-product messaging.
3376 - toolkit/components/messaging-system/**/*
3379 - Firefox::Messaging System
3386 machine_name: inproduct_messaging
3388 - name: Launcher Process
3389 description: Windows process for bootstrapping the browser process.
3391 - browser/app/winlauncher/**/*
3397 - Firefox::Launcher Process
3404 machine_name: launcher_process
3406 - machine_name: localization
3408 description: Tooling to enable translation and facilitate localization.
3416 - name: New Tab Page
3417 description: The new tab/home page.
3419 - browser/components/newtab/**/*
3422 - Firefox::New Tab Page
3429 machine_name: new_tab_page
3432 description: The onboarding experience including UI tours.
3434 - browser/components/uitour/**/*
3442 machine_name: onboarding
3444 - name: Password Manager
3445 description: Managing, saving and filling logins.
3447 - toolkit/components/passwordmgr/**/*
3448 - browser/components/aboutlogins/**/*
3451 - Matthew Noorenberghe
3456 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3458 - Toolkit::Password Manager
3459 - 'Toolkit::Password Manager: Site'
3461 - Firefox::about:logins
3468 machine_name: password_manager
3470 - machine_name: firefox_pip
3471 name: Picture-in-Picture
3472 description: A component that allows video elements to be pulled out into
3473 an always-on-top window.
3475 - toolkit/components/pictureinpicture
3476 - browser/extensions/pictureinpicture
3486 - name: Profile Migration
3487 description: Migrating data from other browsers.
3489 - browser/components/migration/**/*
3497 machine_name: profile_migration
3500 description: Code relating to Screenshots functionality
3502 - browser/extensions/screenshots/**/*
3503 - browser/components/screenshots/**/*
3511 - Firefox::Screenshots
3517 machine_name: screenshots
3519 - name: Search and Address Bar
3520 description: The search service, address bar and address bar autocomplete.
3522 - browser/components/search/**/*
3523 - browser/components/urlbar/**/*
3524 - toolkit/components/search/**/*
3527 - Firefox::Address Bar
3540 machine_name: search_and_address_bar
3542 - name: Security and Privacy UI
3543 description: The front-end to our security and privacy features, including
3544 Protections UI, Site Identity, Site Permissions and Certificate Errors
3546 - browser/components/protections/**/*
3547 - browser/components/controlcenter/**/*
3551 - Nihanth Subramanya
3556 - Firefox::Protections UI
3557 - Firefox::Site Identity
3558 - Firefox::Site Permissions
3563 machine_name: security_and_privacy_ui
3565 - name: Session Restore
3566 description: Restoring a user's session after starting Firefox.
3568 - browser/components/sessionstore/**/*
3569 - toolkit/components/sessionstore/**/*
3578 - Firefox::Session Restore
3585 machine_name: session_restore
3588 description: The front-end settings user interface.
3590 - browser/components/preferences/**/*
3591 - browser/themes/*/preferences
3592 - toolkit/mozapps/preferences
3604 machine_name: settings_ui
3606 - name: Tabbed Browser
3607 description: The UI component controlling browser tabs.
3609 - browser/base/content/tabbrowser*
3610 - browser/base/content/browser-allTabsMenu.js
3611 - browser/base/content/browser-ctrlTab.js
3612 - browser/base/content/browser-fullZoom.js
3613 - browser/modules/AsyncTabSwitcher.sys.mjs
3614 - browser/modules/NewTabPagePreloading.sys.mjs
3615 - browser/modules/OpenInTabsUtils.sys.mjs
3616 - browser/modules/TabsList.sys.mjs
3617 - browser/modules/TabUnloader.sys.mjs
3620 - Firefox::Tabbed Browser
3629 machine_name: tabbed_browser
3631 - name: Windows Installer
3632 description: The installer for Windows.
3634 - browser/installer/**/*
3635 - toolkit/mozapps/installer/**/*
3638 - Firefox::Installer
3644 machine_name: windows_installer
3645 machine_name: desktop_firefox
3647 - machine_name: devtools
3649 description: Mozilla Developer Tools
3675 - Steve Fink (heapsnapshot code)
3685 - Panagiotis Astithas
3703 url: http://firefox-dev.tools/
3706 - machine_name: javascript_usage
3707 name: JavaScript usage, tools, and style
3708 description: Aspects of JavaScript use such as language feature usage, tooling
3709 such as lint configurations, formatting and naming style.
3711 - .eslintrc-test-paths.js
3712 - '**/.eslintignore'
3714 - tools/lint/eslint/**/*
3731 - machine_name: mozharness
3733 description: Configuration-driven script harness.
3735 - testing/mozharness/**/*
3748 - 'Release Engineering :: Applications: MozharnessCore'
3749 - machine_name: python_usage
3750 name: Python usage, tools, and style
3751 description: Aspects of Python use such as tooling, formatting and naming style
3753 - tools/lint/python/**/*
3763 - 'Developer Infrastructure :: Lint and Formatting'
3765 - machine_name: remote_protocol
3766 name: Remote Protocol
3767 description: Low-level remote protocol exposing interfaces for inspecting state
3768 and controlling execution of web documents, instrumenting various subsystems
3769 in the browser, simulating user interaction for automation purposes, and for
3770 subscribing to updates from the aforementioned.
3776 url: https://firefox-source-docs.mozilla.org/remote/
3785 - machine_name: remote_protocol_agent
3787 description: Underlying transport layer and server to allow remoting of Firefox
3788 for automation and debugging.
3793 - remote/marionette/*
3794 - remote/webdriver-bidi/*
3799 - Maja Frydrychowicz
3803 - 'Remote Protocol :: Agent'
3811 - machine_name: remote_protocol_cdp
3813 description: The core implementation for CDP support. Please file domain specific
3814 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3821 - Maja Frydrychowicz
3825 - 'Remote Protocol :: CDP'
3833 - machine_name: remote_protocol_marionette
3835 description: Marionette is a remote protocol that lets out-of-process programs
3836 communicate with, instrument, and control Gecko-based browsers. Combined
3837 with geckodriver, this forms our WebDriver classic implementation.
3839 - remote/marionette/*
3844 - Maja Frydrychowicz
3847 - 'Remote Protocol :: Marionette'
3848 group: dev-webdriver
3856 - machine_name: remote_protocol_webdriver_bidi
3857 name: WebDriver BiDi
3858 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3860 - remote/webdriver-bidi/*
3863 - 'Remote Protocol :: WebDriver BiDi'
3864 group: dev-webdriver
3872 - machine_name: sync
3874 description: Firefox Sync client
3876 - services/sync/**/*
3889 url: https://wiki.mozilla.org/Services/Process/Code_Review
3893 - machine_name: testing_firefox_ui
3895 description: Firefox UI test framework.
3897 - testing/firefox-ui/**/*
3900 - Maja Frydrychowicz
3902 - 'Testing :: Firefox UI'
3910 - machine_name: testing_geckodriver
3912 description: Proxy for using W3C WebDriver-compatible clients to interact with
3913 Gecko-based browsers.
3915 - testing/geckodriver/**/*
3923 - 'Testing :: geckodriver'
3924 group: dev-webdriver
3926 - machine_name: testing_gtest
3928 description: GTest test harness.
3930 - testing/gtest/**/*
3937 - 'Testing :: GTest'
3939 - machine_name: testing_marionette_client_harness
3940 name: Marionette Client & Harness
3941 description: Python client and harness for the Marionette remote protocol implementation.
3943 - testing/marionette/**/*
3948 - Maja Frydrychowicz
3951 - 'Testing :: Marionette Client & Harness'
3959 - machine_name: testing_mochitest
3961 description: Mochitest test framework
3963 - testing/mochitest/**/*
3972 - 'Testing :: Mochitest'
3973 - machine_name: testing_mozbase
3975 description: Base modules used for implementing test components.
3989 - 'Testing :: Mozbase'
3990 - 'Testing :: Mozbase Rust'
3991 - machine_name: testing_performance_testing
3992 name: Performance Testing
3994 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3995 MozPerfTest, AWSY, JSShell, mach try perf, etc.. See our PerfDocs for more information on
3996 the owners/peers of the various components (linked below).
3998 - testing/raptor/**/*
3999 - testing/talos/**/*
4000 - python/mozperftest/**/*
4002 - testing/jsshell/**/*
4003 - tools/lint/perfdocs/**/*
4004 - testing/perfdocs/**/*
4005 - testing/performance/**/*
4006 - testing/condprofile/**/*
4007 - tools/browsertime/**/*
4008 - tools/tryselect/selectors/perf.py
4018 - 'Testing :: Raptor'
4019 - 'Testing :: Talos'
4021 - 'Testing :: Performance'
4022 - 'Testing :: mozperftest'
4023 - 'Testing :: Condprofile'
4024 url: :ref:`Performance Testing`
4025 - machine_name: testing_reftest
4026 name: Reftest (+ jsreftest + crashtest)
4027 description: Reftest test framework
4029 - layout/tools/reftest/**/*
4038 - 'Testing :: Reftest'
4039 - machine_name: testing_tryselect
4041 description: Frontend for selecting jobs on the try server.
4043 - tools/tryselect/**/*
4052 - 'Developer Infrastructure :: Try'
4053 - machine_name: testing_web_platform_tests_infrastructure
4054 name: web-platform-tests infrastructure
4055 description: Infrastructure for running the cross-browser web-platform-tests
4057 - testing/web-platform/**/*
4058 - testing/web-platform/tests/tools/**/*
4060 - testing/web-platform/tests/**/*
4061 - testing/web-platform/meta/**/*
4062 - testing/web-platform/mozilla/**/*
4068 - 'Testing :: web-platform-tests'
4069 - machine_name: testing_xpcshell
4071 description: XPCShell test harness.
4073 - testing/xpcshell/**/*
4081 - Testing::XPCShell Harness
4083 description: Components shared between desktop and mobile browsers.
4092 - Matthew Noorenberghe
4104 - name: Application Startup
4105 description: The profile system and startup process before the front-end launches.
4107 - toolkit/profile/**/*
4108 - toolkit/components/remote/**/*
4115 machine_name: application_startup
4119 The core infrastructure in the Firefox client to send back telemetry
4120 data. Includes the common mechanisms to record, view and submit data: Legacy
4121 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4122 does ''not'' include responsibility for every piece of submitted Telemetry
4123 data. Each team/module is responsible for their own measurements (histograms,
4124 scalars, other ping submissions, etc.).
4126 - toolkit/components/glean/**/*
4127 - toolkit/components/telemetry/**/*
4128 - toolkit/content/aboutTelemetry.*
4133 url: :ref:`Telemetry`
4141 machine_name: telemetry
4144 description: The base widgets used throughout the UI.
4146 - toolkit/content/widgets/**/*
4158 machine_name: ui_widgets
4160 - name: Webextensions
4161 description: Webextension APIs and integration.
4163 - browser/components/extensions/**/*
4164 - toolkit/components/extensions/**/*
4176 machine_name: webextensions
4177 machine_name: toolkit
4178 - machine_name: url_classifier
4179 name: URL Classifier
4180 description: Database and list-based classification of URL resources, such as
4181 Tracking Protection and SafeBrowsing.
4183 - toolkit/components/url-classifier/**/*
4184 - netwerk/url-classifier/**/*
4193 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4194 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4202 config: 69aab662e5678f5918d5b2e3926f0893049493e0
4203 export: f4fd921a19248510ba21ce224f02a549845db9a3