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-11-13T15:42:20.328157'
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
359 name: Nick Fitzgerald
363 name: Francesco Lodolo
379 name: Gabriel Bustamante
387 name: Gian-Carlo Pascutto
414 name: Gabriele Svelto
422 name: Haik Aftandilian
430 name: Hiroyuki Ikezoe
442 name: Jan Honza Odvarko
466 name: Jan-Erik Rediger
482 name: Julian Descottes
510 name: Jan-Ivar Bruaroey
542 name: Jonathan Almeida
574 name: Jules Simplicio
581 name: Jean-Yves Avenard
633 name: Dzmitry Malyshau
645 name: Lougenia Bailey
665 name: Marco Castelluccio
681 name: Masayuki Nakano
690 nick: MatsPalmgren_bugz
697 name: Andrew McCreight
729 name: Morgan Reschenberg
769 name: Nicolas Chevobbe
781 name: Niklas Baumgardner
805 name: Alexandre Poirot
813 name: Andrew Overholt
833 name: Andreas Pehrson
841 name: Peter Van der Beken
885 name: Alexandra Borovova
913 name: Shravan Narayan
929 name: Greg Mierzwinski
945 name: Martin Stránský
952 name: Sylvestre Ledru
964 name: Teodor Tanasoaia
995 name: Toshihito Kikuchi
1031 name: William Durand
1043 name: Yulia Startsev
1054 name: Zibi Braniecki
1062 name: Tomislav Jovanovic
1065 - name: firefox-toplevel
1066 description: The top level directory for the Firefox/Gecko tree. Owned by the
1081 machine_name: _firefoxtoplevel
1083 - machine_name: code_coverage
1085 description: Tools for code coverage instrumentation, and coverage data parsing
1088 - tools/code-coverage/**/*
1089 - python/mozbuild/mozbuild/codecoverage/**/*
1090 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1099 - 'Testing :: Code Coverage'
1100 - name: 'Core: Accessibility'
1101 description: Support for platform accessibility APIs. Accessibility APIs are used
1102 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1103 software, which need information about document content and UI controls, as
1104 well as important events like changes of focus.
1118 group: dev-accessibility
1119 url: https://developer.mozilla.org/docs/Web/Accessibility
1121 - Core::Disability Access APIs
1128 machine_name: core_accessibility
1130 - name: 'Core: Animation'
1131 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1132 API, and off-main thread animations.'
1134 - dom/animation/**/*
1135 # TODO "and animation-related and interpolation-related code
1136 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1140 - Core::DOM::Animation
1141 - Core::CSS Transitions and Animations
1149 machine_name: core_animation
1151 - name: 'Core: Anti-Tracking'
1152 description: Tracking detection and content-blocking.
1154 - toolkit/components/antitracking/**/*
1155 # several files under browser/ and netwerk/url-classifier/ **TODO**
1163 - 'Core::Privacy: Anti-Tracking'
1171 machine_name: core_antitracking
1173 - name: 'Core: APZ (Graphics submodule)'
1174 description: Asynchronous panning and zooming
1176 - gfx/layers/apz/**/*
1183 url: https://wiki.mozilla.org/Platform/GFX/APZ
1185 - Core::Panning and Zooming
1193 machine_name: core_apz_graphics_submodule
1195 - name: 'Core: Browser WebAPI'
1196 description: Web API for rendering apps, browser windows and widgets.
1198 - dom/browser-element/**/*
1209 machine_name: core_browser_webapi
1211 - name: 'Core: Build and Release Tools'
1212 description: Tools related to build and release automation and configuration of
1215 - tools/update-packaging/**/*
1216 - tools/update-verify/**/*
1220 group: release-engineering
1221 url: https://wiki.mozilla.org/ReleaseEngineering
1223 - Release Engineering::*
1230 machine_name: core_build_and_release_tools
1232 - name: 'Core: Build Config'
1233 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1238 - python/mozbuild/**/*
1239 - browser/config/mozconfigs/**/*
1257 url: :ref:`Build System`
1259 - Core::Build Config
1266 - name: 'Core: Build Config - Fennec'
1267 description: Submodule of the build config covering Fennec's build system
1272 - Core::Build Config
1276 machine_name: core_build_config_fennec
1278 - name: 'Core: Build Config - Taskgraph'
1279 description: Support for task-graph generation in decision, action, and cron
1280 tasks, including configuration of all tasks including those for CI, nightlies,
1281 and releases; as well as Docker and VM images used to execute those tasks.
1286 - Firefox Build System::Task Configuration
1302 machine_name: core_build_config_taskgraph
1303 machine_name: core_build_config
1305 - name: 'Core: Code Analysis and Debugging Tools'
1306 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1307 and other characteristics of it.
1310 - tools/leak-gauge/**/*
1311 - tools/performance/**/*
1314 group: dev-performance
1318 machine_name: core_code_analysis_and_debugging_tools
1320 - name: 'Core: Content Security'
1321 description: 'Native content-based security features enforced in the ContentSecurityManager,
1322 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1323 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1324 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1325 and top-level data: URI blocking.'
1339 - 'Core::DOM: Security'
1346 machine_name: core_content_security
1348 - name: 'Core: Cookies'
1351 - netwerk/cookie/**/*
1360 - Christian Biesinger
1366 - 'Core::Networking: Cookies'
1375 machine_name: core_cookies
1377 - name: 'Core: Crash reporting'
1378 description: Infrastructure and tools used to generate, submit and process crash
1379 reports. This includes the in-tree google-breakpad fork, the crash report generation
1380 machinery as well as the host tools used to dump symbols, analyse minidumps
1381 and generate stack traces.
1383 - toolkit/crashreporter/**/*
1384 - toolkit/components/crashes/**/*
1385 - tools/crashreporter/**/*
1386 - ipc/glue/CrashReporter*
1387 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1392 url: :ref:`Crash Reporter`
1394 - Toolkit::Crash Reporting
1400 machine_name: core_crash_reporting
1402 - machine_name: core_credentials
1403 name: 'Core: Credentials'
1404 description: API Surface for FedCM and WebAuthn
1406 - toolkit/components/credentialmanagement/**/*
1407 - browser/components/credentialmanager/**/*
1408 - dom/credentialmanagement/**/*
1420 - 'Core::DOM: Credential Management'
1421 - 'Core::DOM: Web Authentication'
1423 - name: 'Core: C++/Rust usage, tools, and style'
1424 description: Aspects of C++ use such as language feature usage, standard library
1425 versions/usage, compiler/toolchain versions, formatting and naming style, and
1426 aspects of Rust use as needs arise
1428 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1429 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1430 # - docs/code-quality/**/*
1431 # - docs/testing-rust-code/**/*
1432 # - docs/writing-rust-code/**/*
1447 machine_name: core_crust_usage_tools_and_style
1449 - name: 'Core: Cycle Collector'
1450 description: Code to break and collect objects within reference cycles
1452 - xpcom/base/nsCycleCollect*
1453 # TODO "and some support headers"
1454 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1460 - Core::Cycle Collector
1466 machine_name: core_cycle_collector
1468 - name: 'Core: DLL Services'
1469 description: Windows dynamic linker instrumentation and blocking
1471 - toolkit/xre/dllservices/**/*
1477 - Core::DLL Services
1482 machine_name: core_dll_services
1484 - name: 'Core: docshell'
1488 - uriloader/base/**/*
1494 - Christian Biesinger
1500 - Core::Document Navigation
1507 machine_name: core_docshell
1509 - name: 'Core: Document Object Model'
1513 exclude_module_paths: true
1530 url: http://developer.mozilla.org/en/docs/DOM
1533 - 'Core::DOM: Core & HTML'
1534 review_group: dom-core
1550 machine_name: core_document_object_model
1552 - name: 'Core: DOM File'
1553 description: DOM Blob, File and FileSystem APIs
1556 - dom/filesystem/**/*
1559 url: http://developer.mozilla.org/en/docs/DOM
1566 machine_name: core_dom_file
1568 - machine_name: core_dom_streams
1569 name: 'Core: DOM Streams'
1570 description: Streams Specification implementation
1581 url: http://developer.mozilla.org/en/docs/DOM
1584 - 'Core::DOM: Streams'
1587 - name: 'Core: Editor'
1602 machine_name: core_editor
1604 - name: 'Core: Event Handling'
1605 description: DOM Events and Event Handling
1608 # TODO "and event handling related code elsewhere"
1613 url: http://developer.mozilla.org/en/docs/DOM
1615 - 'Core::DOM: Events'
1616 - 'Core::DOM: UI Events & Focus Handling'
1622 machine_name: core_event_handling
1624 - machine_name: core_firefox_source_documentation
1625 name: 'Core: Firefox Source Documentation'
1626 description: The infrastructure platform used to generate Firefox's source documentation,
1627 excluding editorial control over the content.
1630 - tools/moztreedocs/
1637 - Developer Infrastructure::Source Documentation
1638 url: https://firefox-source-docs.mozilla.org/
1639 - name: 'Core: Gecko Profiler'
1640 description: Gecko's built-in profiler
1642 - tools/profiler/**/*
1643 - mozglue/baseprofiler/**/*
1648 - Shu-yu Guo (JS integration)
1649 - Thinker Lee (TaskTracer)
1650 - Cervantes Yu (TaskTracer)
1651 - Nicholas Nethercote
1657 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1659 - Core::Gecko Profiler
1666 machine_name: core_gecko_profiler
1668 - name: 'Core: GeckoView'
1669 description: Framework for embedding Gecko into Android applications
1671 - mobile/android/**/*
1672 - widget/android/**/*
1684 url: https://wiki.mozilla.org/Mobile/GeckoView
1686 - GeckoView::General
1694 machine_name: core_geckoview
1696 - name: 'Core: Global Key Bindings'
1697 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1698 and the like, as those are part of i18n.
1701 # TODO "and platform specific directories under it"
1703 group: dev-accessibility
1704 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1706 - 'Core::Keyboard: Navigation'
1711 machine_name: core_global_key_bindings
1713 - name: 'Core: Graphics'
1714 description: Mozilla graphics API
1722 - Benoit Girard(Compositor, Performance)
1724 - George Wright(Canvas2D)
1728 - John Daggett(text/fonts)
1729 - Benoit Jacob(gfx/gl)
1731 - Vladimir Vukicevic
1732 - James Willcox(Android)
1735 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1736 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1739 - 'Core::Graphics: Layers'
1740 - 'Core::Graphics: Text'
1741 - 'Core::Graphics: WebRender'
1742 - 'Core::GFX: Color Management'
1743 - 'Core::Canvas: 2D'
1744 - 'Core::Canvas: WebGL'
1759 machine_name: core_graphics
1762 description: Hardware Abstraction Layer
1768 - Core::Hardware Abstraction Layer (HAL)
1772 machine_name: core_hal
1774 - name: 'Core: HTML Parser'
1775 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1776 to the HTML specification, and is mostly translated automatically from Java
1782 url: http://about.validator.nu/
1784 - 'Core::HTML: Parser'
1789 machine_name: core_html_parser
1791 - name: 'Core: I18N Library'
1800 url: :ref:`Internationalization`
1802 - Core::Internationalization
1810 machine_name: core_i18n_library
1812 - name: 'Core: ImageLib'
1815 - media/libjpeg/**/*
1832 machine_name: core_imagelib
1834 - name: 'Core: IndexedDB'
1837 - dom/indexedDB/**/*
1845 url: https://developer.mozilla.org/en/IndexedDB
1847 - 'Core::DOM: IndexedDB'
1848 review_group: dom-storage-reviewers
1855 machine_name: core_indexeddb
1858 description: Native message-passing between threads and processes
1879 review_group: ipc-reviewers
1886 machine_name: core_ipc
1888 - name: 'Core: JavaScript'
1889 description: JavaScript engine (SpiderMonkey)
1913 - Nicholas Nethercote
1918 url: https://spidermonkey.dev/
1920 - Core::JavaScript Engine
1921 - 'Core::JavaScript: GC'
1922 - 'Core::JavaScript: Internationalization API'
1923 - 'Core::JavaScript: Standard Library'
1924 - 'Core::JavaScript: WebAssembly'
1946 machine_name: core_javascript
1948 - name: 'Core: JavaScript JIT'
1949 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1957 url: https://spidermonkey.dev/
1959 - 'Core::JavaScript Engine: JIT'
1975 machine_name: core_javascript_jit
1977 - name: 'Core: js-tests'
1978 description: JavaScript test suite
1982 group: dev-tech-js-engine
1983 url: http://www.mozilla.org/js/tests/library.html
1987 machine_name: core_jstests
1989 - name: 'Core: Layout Engine'
1990 description: rendering tree construction, layout (reflow), etc.
1996 - layout/generic/**/*
1997 - layout/printing/**/*
1998 - layout/tables/**/*
2007 url: https://wiki.mozilla.org/Gecko:Overview#Layout
2010 - 'Core::Layout: Block and Inline'
2011 - 'Core::Layout: Columns'
2012 - 'Core::Layout: Flexbox'
2013 - 'Core::Layout: Floats'
2014 - 'Core::Layout: Form Controls'
2015 - 'Core::Layout: Generated Content, Lists, and Counters'
2016 - 'Core::Layout: Grid'
2017 - 'Core::Layout: Images, Video, and HTML Frames'
2018 - 'Core::Layout: Positioned'
2019 - 'Core::Layout: Ruby'
2020 - 'Core::Layout: Scrolling and Overflow'
2021 - 'Core::Layout: Tables'
2022 - 'Core::Layout: Text and Fonts'
2023 - Core::Print Preview
2024 - 'Core::Printing: Output'
2036 machine_name: core_layout_engine
2038 - name: 'Core: Legacy HTML Parser'
2041 - parser/htmlparser/**/*
2045 url: http://www.mozilla.org/newlayout/doc/parser.html
2047 - 'Core::HTML: Parser'
2054 machine_name: core_legacy_html_parser
2056 - name: 'Core: libjar'
2057 description: The JAR handling code (protocol handler, stream implementation, and
2058 zipreader/zipwriter).
2060 - modules/libjar/**/*
2070 - 'Core::Networking: JAR'
2076 machine_name: core_libjar
2078 - name: 'Core: MathML'
2079 description: MathML is a low-level specification for describing mathematics which
2080 provides a foundation for the inclusion of mathematical expressions in Web pages.
2082 - layout/mathml/**/*
2084 group: dev-tech-mathml
2085 url: https://developer.mozilla.org/docs/Web/MathML
2092 machine_name: core_mathml
2094 - name: 'Core: Media Playback'
2095 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2096 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2099 - media/gmp-clearkey/**/*
2100 - media/libcubeb/**/*
2101 - media/libnestegg/**/*
2103 - media/libopus/**/*
2104 - media/libtheora/**/*
2105 - media/libtremor/**/*
2106 - media/libvorbis/**/*
2108 - dom/media/platforms/omx/**/*
2109 - dom/media/gmp/rlz/**/*
2124 machine_name: core_media_playback
2126 - name: 'Core: Media Transport'
2127 description: Pluggable transport for real-time media
2129 - dom/media/webrtc/transport/**/*
2133 - Core::WebRTC::Networking
2140 machine_name: core_media_transport
2142 - name: 'Core: Memory Allocator'
2143 description: Most things related to memory allocation in Gecko, including jemalloc,
2144 replace-malloc, DMD (dark matter detector), logalloc, etc.
2150 - Nicholas Nethercote
2158 machine_name: core_memory_allocator
2160 - name: 'Core: mfbt'
2161 description: mfbt is a collection of headers, macros, data structures, methods,
2162 and other functionality available for use and reuse throughout all Mozilla code
2163 (including SpiderMonkey and Gecko more broadly).
2175 machine_name: core_mfbt
2177 - name: 'Core: Moz2D (Graphics submodule)'
2178 description: Platform independent 2D graphics API
2183 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2191 machine_name: core_moz2d_graphics_submodule
2193 - name: 'Core: Mozglue'
2194 description: Glue library containing various low-level functionality, including
2195 a dynamic linker for Android, a DLL block list for Windows, etc.
2203 - Kartikaya Gupta (mozglue/android)
2208 machine_name: core_mozglue
2210 - name: 'Core: MSCOM'
2211 description: Integration with Microsoft Distributed COM
2222 - 'Core::IPC: MSCOM'
2228 machine_name: core_mscom
2230 - name: 'Core: Necko'
2231 description: The Mozilla Networking Library
2235 - netwerk/build/**/*
2236 - netwerk/cache2/**/*
2238 - netwerk/locales/**/*
2240 - netwerk/protocol/**/*
2241 - netwerk/socket/**/*
2242 - netwerk/streamconv/**/*
2243 - netwerk/system/**/*
2248 - dom/websocket/**/*
2249 - uriloader/prefetch/**/*
2250 - uriloader/preload/**/*
2253 - Dragana Damjanovic
2255 - Christian Biesinger
2266 group: dev-tech-network
2267 url: :ref:`Networking`
2270 - 'Core::Networking: Cache'
2271 - 'Core::Networking: Cookies'
2272 - 'Core::Networking: FTP'
2273 - 'Core::Networking: File'
2274 - 'Core::Networking: HTTP'
2275 - 'Core::Networking: JAR'
2276 - 'Core::Networking: Websockets'
2277 - 'Core::DOM: Networking'
2283 machine_name: core_necko
2285 - name: 'Core: NodeJS usage, tools, and style'
2286 description: Advises on the use of NodeJS and npm packages at build and runtime.
2287 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2288 teams to maintain automated license and security audits of npm packages. Works
2289 with the security team and relevant developers to respond to vulnerabilities
2290 in NodeJS and vendored npm packages.
2295 # TODO: and others as appropriate
2299 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2308 machine_name: core_nodejs_usage_tools_and_style
2310 - name: 'Core: NSPR'
2311 description: Netscape Portable Runtime
2317 group: dev-tech-nspr
2325 machine_name: core_nspr
2328 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2331 - toolkit/components/pdfjs/**/*
2339 url: https://github.com/mozilla/pdf.js
2346 machine_name: core_pdf
2348 - name: 'Core: Permissions'
2351 - extensions/permissions/**/*
2360 - Christian Biesinger
2365 - 'Core :: Permission Manager'
2372 machine_name: core_permissions
2374 - name: 'Core: Plugins'
2375 description: ' NPAPI Plugin support.'
2387 url: https://wiki.mozilla.org/Plugins
2392 machine_name: core_plugins
2394 - name: 'Core: Preferences'
2395 description: Preference library
2397 - modules/libpref/**/*
2400 - Nicholas Nethercote
2406 - 'Core::Preferences: Backend'
2412 machine_name: core_preferences
2414 - name: 'Core: Private Browsing'
2415 description: Implementation of the Private Browsing mode, and the integration
2416 of other modules with Private Browsing APIs.
2419 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2420 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2428 url: https://wiki.mozilla.org/Private_Browsing
2430 - Firefox::Private Browsing
2435 machine_name: core_private_browsing
2437 - name: 'Core: Privilege Manager'
2438 description: Caps is the capabilities-based security system.
2447 url: http://www.mozilla.org/projects/security/components/index.html
2449 - 'Core::Security: CAPS'
2455 machine_name: core_privilege_manager
2457 - name: 'Core: Push Notifications'
2458 description: Push is a way for application developers to send messages to their
2469 - 'Core::DOM: Notifications'
2473 machine_name: core_push_notifications
2475 - name: 'Core: Sandboxing (Linux)'
2476 description: Sandboxing for the Linux platform
2478 - security/sandbox/linux/**/*
2481 url: https://wiki.mozilla.org/Security/Sandbox
2483 - 'Core::Security: Process Sandboxing'
2488 machine_name: core_sandboxing_linux
2490 - name: 'Core: Sandboxing (OSX)'
2491 description: Sandboxing for the OSX platform
2493 - security/sandbox/mac/**/*
2496 url: https://wiki.mozilla.org/Security/Sandbox
2498 - 'Core::Security: Process Sandboxing'
2502 machine_name: core_sandboxing_osx
2504 - name: 'Core: Sandboxing (Windows)'
2505 description: Sandboxing for the Windows platform
2507 - security/sandbox/win/**/*
2517 url: https://wiki.mozilla.org/Security/Sandbox
2519 - 'Core::Security: Process Sandboxing'
2524 machine_name: core_sandboxing_windows
2526 - name: 'Core: security'
2527 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2540 group: dev-tech-crypto
2541 url: :ref:`Network Security Services (NSS)`
2546 - 'Core::Security: S/MIME'
2559 machine_name: core_security
2561 - name: 'Core: Security - Mozilla PSM Glue'
2562 description: Personal Security Manager
2564 - security/manager/**/*
2567 - Kai Engert (2001-2012)
2568 group: dev-tech-crypto
2570 - 'Core::Security: PSM'
2579 machine_name: core_security_mozilla_psm_glue
2581 - machine_name: core_security_rlbox
2582 name: Security - RLBox
2583 description: Sandboxing using WASM/RLBox libraries.
2587 - third_party/rlbox_wasm2c_sandbox
2597 - 'Core::Security: RLBox'
2598 - name: 'Core: Static analysis & rewriting for C++'
2599 description: Tools for checking C++ code looking for problems at compile time,
2600 plus tools for automated rewriting of C++ code.
2602 - build/clang-plugin/**/*
2603 - tools/rewriting/**/*
2604 # TODO among other out of tree tools
2607 - Birunthan Mohanathas
2611 - Core::Rewriting & Analysis
2618 machine_name: core_static_analysis_rewriting_for_c
2620 - name: 'Core: storage'
2621 description: Storage APIs with a SQLite backend
2623 - third_party/sqlite3/**/*
2627 url: http://developer.mozilla.org/en/docs/Storage
2629 - Toolkit::Storage, Core::SQL
2637 machine_name: core_storage
2639 - name: 'Core: String'
2644 group: dev-tech-xpcom
2645 url: :ref:`String Guide`
2652 machine_name: core_string
2654 - name: 'Core: Style System'
2655 description: CSS style sheet handling; style data computation
2666 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2668 - Core::CSS Parsing and Computation
2669 - 'Core::DOM: CSS Object Model'
2675 machine_name: core_style_system
2678 description: Scalable Vector Graphics
2685 url: https://developer.mozilla.org/docs/Web/SVG
2695 machine_name: core_svg
2697 - name: 'Core: UA String'
2698 description: User Agent String
2700 - netwerk/protocol/http/**/*
2703 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2705 - 'Core::Networking: HTTP'
2711 machine_name: core_ua_string
2713 - name: 'Core: View System'
2714 description: The View Manager is responsible for handling "heavyweight" rendering
2715 (some clipping, compositing) and event handling tasks.
2723 - 'Core::Layout: View Rendering'
2729 machine_name: core_view_system
2731 - name: 'Core: Web Audio'
2732 description: Support for the W3C Web Audio API specification.
2734 - dom/media/webaudio/**/*
2739 url: https://wiki.mozilla.org/Web_Audio_API
2747 machine_name: core_web_audio
2749 - name: 'Core: Web Painting'
2750 description: painting, display lists, and layer construction
2752 - layout/painting/**/*
2753 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2756 url: :ref:`Layout & CSS`
2758 - 'Core::Layout: Web Painting'
2769 machine_name: core_web_painting
2771 - name: 'Core: Web Workers'
2784 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2786 - 'Core::DOM: Workers'
2787 review_group: dom-worker-reviewers
2793 machine_name: core_web_workers
2795 - name: 'Core: WebGPU (Graphics submodule)'
2796 description: WebGPU implementation
2799 - gfx/wgpu_bindings/**/*
2800 - third_party/rust/naga/**/*
2801 - third_party/rust/wgpu-core/**/*
2802 - third_party/rust/wgpu-hal/**/*
2803 - third_party/rust/wgpu-types/**/*
2804 - testing/web-platform/tests/webgpu/**/*
2805 - testing/web-platform/meta/webgpu/**/*
2806 - testing/web-platform/mozilla/tests/webgpu/**/*
2807 - testing/web-platform/mozilla/meta/webgpu/**/*
2810 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2812 - Core::Graphics::WebGPU
2813 review_group: webgpu-reviewers
2825 machine_name: core_webgpu_graphics_submodule
2827 - name: 'Core: WebRTC'
2828 description: WebRTC is responsible for realtime audio and video communication,
2829 as well as related issues like low-level camera and microphone access
2832 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2837 url: https://wiki.mozilla.org/Media/webrtc
2840 - Core::WebRTC Networking
2847 machine_name: core_webrtc
2849 - name: 'Core: WebVR'
2850 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2851 including API, devices, graphics and integration
2857 - Vladimir Vukicevic
2860 url: https://mozvr.com/
2869 - name: 'Core: WebRTC Media'
2870 description: Submodule of WebRTC responsible for access to media input devices
2871 (microphones, cameras, screen capture), as well as realtime audiovisual
2872 codecs and packetization.
2875 - dom/media/webrtc/**/*
2876 - dom/media/systemservices/**/*
2882 url: https://wiki.mozilla.org/Media/webrtc
2884 - Core::WebRTC (Audio/Video)
2891 machine_name: core_webrtc_media
2893 - name: 'Core: WebRTC Signaling'
2894 description: Submodule of WebRTC responsible for implementation of PeerConnection
2895 API, WebRTC identity, and SDP/JSEP handling
2897 - media/webrtc/signaling/**/*
2902 url: https://wiki.mozilla.org/Media/webrtc
2904 - Core::WebRTC (Signaling)
2912 machine_name: core_webrtc_signaling
2913 machine_name: core_webvr
2915 - name: 'Core: Widget'
2916 description: Top level Widget
2921 - Vladimir Vukicevic
2928 - Core::Drag and Drop
2930 - 'Core::Printing: Setup'
2933 machine_name: core_widget
2935 - name: 'Core: Widget - Android'
2936 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2941 machine_name: core_widget_android
2943 - name: 'Core: Widget - GTK'
2944 description: GTK widget support
2951 url: http://www.mozilla.org/ports/gtk/
2953 - 'Core::Widget: Gtk'
2958 machine_name: core_widget_gtk
2960 - name: 'Core: Widget - Headless'
2961 description: Headless widget support
2963 - widget/headless/**/*
2972 machine_name: core_widget_headless
2974 - name: 'Core: Widget - macOS'
2975 description: ' macOS widget support'
2988 - 'Core::Widget: Cocoa'
2994 machine_name: core_widget_macos
2996 - name: 'Core: Widget - Windows'
2997 description: Windows widget support
2999 - widget/windows/**/*
3005 - Vladimir Vukicevic
3008 - Christian Biesinger
3010 - Josh 'timeless' Soref
3017 - 'Core::Widget: Win32'
3023 machine_name: core_widget_windows
3026 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
3027 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
3028 that are not covered by more specific projects.
3044 machine_name: core_xml
3046 - name: 'Core: XPApps'
3047 description: Cross-Platform Applications, mostly Navigator front end and application
3052 group: dev-apps-seamonkey
3056 - Josh 'timeless' Soref
3059 machine_name: core_xpapps
3061 - name: 'Core: XPCOM'
3062 description: The cross-platform object model and core data structures.
3068 - xpcom/components/**/*
3072 - xpcom/reflect/**/*
3076 - xpcom/threads/**/*
3077 - xpcom/windbgdlg/**/*
3089 review_group: xpcom-reviewers
3099 machine_name: core_xpcom
3101 - name: 'Core: XPConnect'
3102 description: Deep Magic
3121 machine_name: core_xpconnect
3123 - name: 'Core: XPIDL'
3124 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3125 runtime type description files from .idl interface description files.
3127 - xpcom/idl-parser/**/*
3134 - Josh 'timeless' Soref
3135 group: dev-tech-xpcom
3141 machine_name: core_xpidl
3143 - name: 'Core: XSLT Processor'
3144 description: XSLT transformations processor
3152 group: dev-tech-xslt
3153 url: https://developer.mozilla.org/docs/Web/XSLT
3159 machine_name: core_xslt_processor
3161 - name: Desktop Firefox
3162 description: Standalone Web Browser.
3175 - Tim Guan-tin Chien
3185 - Matthew Noorenberghe
3207 - name: Add-ons Manager
3208 description: Extension management back-end.
3210 - toolkit/mozapps/extensions/**/*
3224 machine_name: addons_manager
3226 - name: Add-ons Manager UI
3227 description: about:addons.
3229 - toolkit/mozapps/extensions/content/**/*
3242 machine_name: addons_manager_ui
3244 - name: Application Update
3245 description: The application update services.
3247 - toolkit/mozapps/update/**/*
3254 machine_name: application_update
3256 - name: Bookmarks & History
3257 description: The bookmarks and history services (Places).
3259 - browser/components/places/**/*
3260 - toolkit/components/places/**/*
3269 - Firefox::Bookmarks & History
3271 review_group: places-reviewers
3279 machine_name: bookmarks_history
3281 - name: Desktop Theme
3282 description: The style rules used in the desktop UI.
3284 - browser/themes/**/*
3285 - toolkit/themes/**/*
3300 machine_name: desktop_theme
3303 description: The main browser UI except where covered by more specific submodules.
3305 - browser/base/content/**/*
3318 machine_name: desktop_ui
3320 - name: Download Manager
3321 description: The downloads UI and service.
3323 - browser/components/downloads/**/*
3324 - toolkit/mozapps/downloads/**/*
3325 - uriloader/exthandler/**/*
3335 machine_name: download_manager
3337 - name: Enterprise Policies
3338 description: System policies for controlling Firefox.
3340 - browser/components/enterprisepolicies/**/*
3345 machine_name: enterprise_policies
3347 - name: Experiments/Rollouts
3348 description: Desktop clients for our experiments and off-train deployments
3351 - toolkit/components/normandy/**/*
3352 - toolkit/components/nimbus/**/*
3358 - Firefox::Nimbus Desktop Client
3359 url: https://experimenter.info/
3365 machine_name: normandy
3367 - machine_name: firefox_view
3369 description: The Firefox View page and its modules.
3371 - browser/components/firefoxview/**/*
3379 - name: Form Autofill
3380 description: Form detection and autocomplete.
3382 - browser/extensions/formautofill/**/*
3383 - toolkit/components/satchel/**/*
3386 - Matthew Noorenberghe
3392 machine_name: form_autofill
3394 - name: In-product Messaging
3395 description: The system for delivering in-product messaging.
3397 - toolkit/components/messaging-system/**/*
3400 - Firefox::Messaging System
3408 machine_name: inproduct_messaging
3410 - name: Launcher Process
3411 description: Windows process for bootstrapping the browser process.
3413 - browser/app/winlauncher/**/*
3419 - Firefox::Launcher Process
3426 machine_name: launcher_process
3428 - machine_name: localization
3430 description: Tooling to enable translation and facilitate localization.
3438 - name: New Tab Page
3439 description: The new tab/home page.
3441 - browser/components/newtab/**/*
3444 - Firefox::New Tab Page
3452 machine_name: new_tab_page
3455 description: The onboarding experience including UI tours.
3457 - browser/components/uitour/**/*
3465 machine_name: onboarding
3467 - name: Password Manager
3468 description: Managing, saving and filling logins.
3470 - toolkit/components/passwordmgr/**/*
3471 - browser/components/aboutlogins/**/*
3474 - Matthew Noorenberghe
3479 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3481 - Toolkit::Password Manager
3482 - 'Toolkit::Password Manager: Site'
3484 - Firefox::about:logins
3491 machine_name: password_manager
3493 - machine_name: firefox_pip
3494 name: Picture-in-Picture
3495 description: A component that allows video elements to be pulled out into
3496 an always-on-top window.
3498 - toolkit/components/pictureinpicture
3499 - browser/extensions/pictureinpicture
3509 - name: Profile Migration
3510 description: Migrating data from other browsers.
3512 - browser/components/migration/**/*
3520 machine_name: profile_migration
3523 description: Code relating to Screenshots functionality
3525 - browser/extensions/screenshots/**/*
3526 - browser/components/screenshots/**/*
3534 - Firefox::Screenshots
3540 machine_name: screenshots
3542 - name: Search and Address Bar
3543 description: The search service, address bar and address bar autocomplete.
3545 - browser/components/search/**/*
3546 - browser/components/urlbar/**/*
3547 - toolkit/components/search/**/*
3550 - Firefox::Address Bar
3563 machine_name: search_and_address_bar
3565 - name: Security and Privacy UI
3566 description: The front-end to our security and privacy features, including
3567 Protections UI, Site Identity, Site Permissions and Certificate Errors
3569 - browser/components/protections/**/*
3570 - browser/components/controlcenter/**/*
3574 - Nihanth Subramanya
3579 - Firefox::Protections UI
3580 - Firefox::Site Identity
3581 - Firefox::Site Permissions
3586 machine_name: security_and_privacy_ui
3588 - name: Session Restore
3589 description: Restoring a user's session after starting Firefox.
3591 - browser/components/sessionstore/**/*
3592 - toolkit/components/sessionstore/**/*
3602 - Firefox::Session Restore
3609 machine_name: session_restore
3612 description: The front-end settings user interface.
3614 - browser/components/preferences/**/*
3615 - browser/themes/*/preferences
3616 - toolkit/mozapps/preferences
3628 machine_name: settings_ui
3630 - name: Tabbed Browser
3631 description: The UI component controlling browser tabs.
3633 - browser/base/content/tabbrowser*
3634 - browser/base/content/browser-allTabsMenu.js
3635 - browser/base/content/browser-ctrlTab.js
3636 - browser/base/content/browser-fullZoom.js
3637 - browser/modules/AsyncTabSwitcher.sys.mjs
3638 - browser/modules/NewTabPagePreloading.sys.mjs
3639 - browser/modules/OpenInTabsUtils.sys.mjs
3640 - browser/modules/TabsList.sys.mjs
3641 - browser/modules/TabUnloader.sys.mjs
3644 - Firefox::Tabbed Browser
3653 machine_name: tabbed_browser
3655 - name: Windows Installer
3656 description: The installer for Windows.
3658 - browser/installer/**/*
3659 - toolkit/mozapps/installer/**/*
3662 - Firefox::Installer
3668 machine_name: windows_installer
3669 machine_name: desktop_firefox
3671 - machine_name: devtools
3673 description: Mozilla Developer Tools
3699 - Steve Fink (heapsnapshot code)
3709 - Panagiotis Astithas
3727 url: http://firefox-dev.tools/
3730 - machine_name: javascript_usage
3731 name: JavaScript usage, tools, and style
3732 description: Aspects of JavaScript use such as language feature usage, tooling
3733 such as lint configurations, formatting and naming style.
3735 - .eslintrc-test-paths.js
3736 - '**/.eslintignore'
3738 - tools/lint/eslint/**/*
3755 - machine_name: mozharness
3757 description: Configuration-driven script harness.
3759 - testing/mozharness/**/*
3772 - 'Release Engineering :: Applications: MozharnessCore'
3773 - machine_name: python_usage
3774 name: Python usage, tools, and style
3775 description: Aspects of Python use such as tooling, formatting and naming style
3777 - tools/lint/python/**/*
3787 - 'Developer Infrastructure :: Lint and Formatting'
3789 - machine_name: remote_protocol
3790 name: Remote Protocol
3791 description: Low-level remote protocol exposing interfaces for inspecting state
3792 and controlling execution of web documents, instrumenting various subsystems
3793 in the browser, simulating user interaction for automation purposes, and for
3794 subscribing to updates from the aforementioned.
3800 url: https://firefox-source-docs.mozilla.org/remote/
3809 - machine_name: remote_protocol_agent
3811 description: Underlying transport layer and server to allow remoting of Firefox
3812 for automation and debugging.
3817 - remote/marionette/*
3818 - remote/webdriver-bidi/*
3823 - Maja Frydrychowicz
3827 - 'Remote Protocol :: Agent'
3835 - machine_name: remote_protocol_cdp
3837 description: The core implementation for CDP support. Please file domain specific
3838 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3845 - Maja Frydrychowicz
3849 - 'Remote Protocol :: CDP'
3857 - machine_name: remote_protocol_marionette
3859 description: Marionette is a remote protocol that lets out-of-process programs
3860 communicate with, instrument, and control Gecko-based browsers. Combined
3861 with geckodriver, this forms our WebDriver classic implementation.
3863 - remote/marionette/*
3868 - Maja Frydrychowicz
3871 - 'Remote Protocol :: Marionette'
3872 group: dev-webdriver
3880 - machine_name: remote_protocol_webdriver_bidi
3881 name: WebDriver BiDi
3882 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3884 - remote/webdriver-bidi/*
3887 - 'Remote Protocol :: WebDriver BiDi'
3888 group: dev-webdriver
3896 - machine_name: sync
3898 description: Firefox Sync client
3900 - services/sync/**/*
3913 url: https://wiki.mozilla.org/Services/Process/Code_Review
3917 - machine_name: testing_firefox_ui
3919 description: Firefox UI test framework.
3921 - testing/firefox-ui/**/*
3924 - Maja Frydrychowicz
3926 - 'Testing :: Firefox UI'
3934 - machine_name: testing_geckodriver
3936 description: Proxy for using W3C WebDriver-compatible clients to interact with
3937 Gecko-based browsers.
3939 - testing/geckodriver/**/*
3947 - 'Testing :: geckodriver'
3948 group: dev-webdriver
3950 - machine_name: testing_gtest
3952 description: GTest test harness.
3954 - testing/gtest/**/*
3961 - 'Testing :: GTest'
3963 - machine_name: testing_marionette_client_harness
3964 name: Marionette Client & Harness
3965 description: Python client and harness for the Marionette remote protocol implementation.
3967 - testing/marionette/**/*
3972 - Maja Frydrychowicz
3975 - 'Testing :: Marionette Client & Harness'
3983 - machine_name: testing_mochitest
3985 description: Mochitest test framework
3987 - testing/mochitest/**/*
3996 - 'Testing :: Mochitest'
3997 - machine_name: testing_mozbase
3999 description: Base modules used for implementing test components.
4013 - 'Testing :: Mozbase'
4014 - 'Testing :: Mozbase Rust'
4015 - machine_name: testing_performance_testing
4016 name: Performance Testing
4018 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
4019 MozPerfTest, AWSY, JSShell, mach try perf, etc.. See our PerfDocs for more information on
4020 the owners/peers of the various components (linked below).
4022 - testing/raptor/**/*
4023 - testing/talos/**/*
4024 - python/mozperftest/**/*
4026 - testing/jsshell/**/*
4027 - tools/lint/perfdocs/**/*
4028 - testing/perfdocs/**/*
4029 - testing/performance/**/*
4030 - testing/condprofile/**/*
4031 - tools/browsertime/**/*
4032 - tools/tryselect/selectors/perf.py
4042 - 'Testing :: Raptor'
4043 - 'Testing :: Talos'
4045 - 'Testing :: Performance'
4046 - 'Testing :: mozperftest'
4047 - 'Testing :: Condprofile'
4048 url: :ref:`Performance Testing`
4049 - machine_name: testing_reftest
4050 name: Reftest (+ jsreftest + crashtest)
4051 description: Reftest test framework
4053 - layout/tools/reftest/**/*
4062 - 'Testing :: Reftest'
4063 - machine_name: testing_tryselect
4065 description: Frontend for selecting jobs on the try server.
4067 - tools/tryselect/**/*
4076 - 'Developer Infrastructure :: Try'
4077 - machine_name: testing_web_platform_tests_infrastructure
4078 name: web-platform-tests infrastructure
4079 description: Infrastructure for running the cross-browser web-platform-tests
4081 - testing/web-platform/**/*
4082 - testing/web-platform/tests/tools/**/*
4084 - testing/web-platform/tests/**/*
4085 - testing/web-platform/meta/**/*
4086 - testing/web-platform/mozilla/**/*
4092 - 'Testing :: web-platform-tests'
4093 - machine_name: testing_xpcshell
4095 description: XPCShell test harness.
4097 - testing/xpcshell/**/*
4105 - Testing::XPCShell Harness
4107 description: Components shared between desktop and mobile browsers.
4116 - Matthew Noorenberghe
4128 - name: Application Startup
4129 description: The profile system and startup process before the front-end launches.
4131 - toolkit/profile/**/*
4132 - toolkit/components/remote/**/*
4139 machine_name: application_startup
4143 The core infrastructure in the Firefox client to send back telemetry
4144 data. Includes the common mechanisms to record, view and submit data: Legacy
4145 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4146 does ''not'' include responsibility for every piece of submitted Telemetry
4147 data. Each team/module is responsible for their own measurements (histograms,
4148 scalars, other ping submissions, etc.).
4150 - toolkit/components/glean/**/*
4151 - toolkit/components/telemetry/**/*
4152 - toolkit/content/aboutTelemetry.*
4157 url: :ref:`Telemetry`
4165 machine_name: telemetry
4168 description: The base widgets used throughout the UI.
4170 - toolkit/content/widgets/**/*
4182 machine_name: ui_widgets
4184 - name: Webextensions
4185 description: Webextension APIs and integration.
4187 - browser/components/extensions/**/*
4188 - toolkit/components/extensions/**/*
4200 machine_name: webextensions
4201 machine_name: toolkit
4202 - machine_name: translation
4204 description: Support for translation in Firefox, and the infrastructure to train
4205 new translation language models.
4207 - toolkit/components/translations/**/*
4208 - toolkit/components/translation/**/*
4209 - browser/components/translations/**/*
4219 url: https://github.com/mozilla/firefox-translations-training https://github.com/mozilla/firefox-translations-models
4220 https://github.com/mozilla/firefox-translations-evaluations https://github.com/mozilla/firefox-translations
4222 - Firefox::Translation
4223 review_group: translations-reviewers
4224 - machine_name: url_classifier
4225 name: URL Classifier
4226 description: Database and list-based classification of URL resources, such as
4227 Tracking Protection and SafeBrowsing.
4229 - toolkit/components/url-classifier/**/*
4230 - netwerk/url-classifier/**/*
4239 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4240 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4248 config: 892084f03482d22fe31b38b655eaebe0cc1defa8
4249 export: 7478096ce9340e5c5c0b828e2f062dcf6521e5e2