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-16T17:08:49.465830'
13 path: ./docs/mots/index.rst
15 searchfox_enabled: true
17 Mozilla operates under a `module ownership governance system <https://www.mozilla.org/hacking/module-ownership.html>`_. A module is a discrete unit of code or activity. An owner is the person in charge of a module or sub-module. A peer is a person whom the owner has appointed to help them. A module may have multiple peers and, very occasionally, multiple owners.
19 The system is overseen by the owner and peers of the Module Ownership module. For the modules that make up Firefox, oversight is provided by the Firefox Technical Leadership module. Owners may add and remove peers from their modules as they wish, without reference to anyone else.
44 name: Andrew Halberstadt
48 name: Yoshi Cheng-Hao Huang
80 name: Andrew Sutherland
88 name: Andrea Marchesini
100 name: Benjamin Bouvier
108 name: Ben Dean-Kawamura
112 name: Benjamin Beurdouche
140 name: Hubert Boma Manilla
151 name: Bryce Seager van Dyk
162 name: Benjamin VanderSloot
178 name: Calixte Denizet
189 name: Nazım Can Altınova
193 name: Caroline Cullen
205 name: Christoph Kerschbaumer
221 name: Daisuke Akatsuka
257 name: Alessio Placitelli
289 name: Dragana Damjanovic
329 name: Emilio Cobos Álvarez
333 name: Masatoshi Kimura
355 name: Nick Fitzgerald
359 name: Francesco Lodolo
375 name: Gabriel Bustamante
383 name: Gian-Carlo Pascutto
409 name: Gabriele Svelto
417 name: Haik Aftandilian
425 name: Hiroyuki Ikezoe
437 name: Jan Honza Odvarko
461 name: Jan-Erik Rediger
477 name: Julian Descottes
505 name: Jan-Ivar Bruaroey
537 name: Jonathan Almeida
569 name: Jules Simplicio
576 name: Jean-Yves Avenard
628 name: Dzmitry Malyshau
640 name: Lougenia Bailey
656 name: Marco Castelluccio
672 name: Masayuki Nakano
681 nick: MatsPalmgren_bugz
688 name: Andrew McCreight
720 name: Morgan Reschenberg
760 name: Nicolas Chevobbe
772 name: Niklas Baumgardner
792 name: Alexandre Poirot
800 name: Andrew Overholt
820 name: Andreas Pehrson
828 name: Peter Van der Beken
872 name: Alexandra Borovova
900 name: Shravan Narayan
916 name: Greg Mierzwinski
932 name: Martin Stránský
939 name: Sylvestre Ledru
955 name: Teodor Tanasoaia
986 name: Toshihito Kikuchi
1022 name: William Durand
1034 name: Yulia Startsev
1045 name: Zibi Braniecki
1053 name: Tomislav Jovanovic
1056 - name: firefox-toplevel
1057 description: The top level directory for the Firefox/Gecko tree. Owned by the
1072 machine_name: _firefoxtoplevel
1074 - machine_name: code_coverage
1076 description: Tools for code coverage instrumentation, and coverage data parsing
1079 - tools/code-coverage/**/*
1080 - python/mozbuild/mozbuild/codecoverage/**/*
1081 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1090 - 'Testing :: Code Coverage'
1091 - name: 'Core: Accessibility'
1092 description: Support for platform accessibility APIs. Accessibility APIs are used
1093 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1094 software, which need information about document content and UI controls, as
1095 well as important events like changes of focus.
1109 group: dev-accessibility
1110 url: https://developer.mozilla.org/docs/Web/Accessibility
1112 - Core::Disability Access APIs
1119 machine_name: core_accessibility
1121 - name: 'Core: Animation'
1122 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1123 API, and off-main thread animations.'
1125 - dom/animation/**/*
1126 # TODO "and animation-related and interpolation-related code
1127 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1131 - Core::DOM::Animation
1132 - Core::CSS Transitions and Animations
1140 machine_name: core_animation
1142 - name: 'Core: Anti-Tracking'
1143 description: Tracking detection and content-blocking.
1145 - toolkit/components/antitracking/**/*
1146 # several files under browser/ and netwerk/url-classifier/ **TODO**
1154 - 'Core::Privacy: Anti-Tracking'
1162 machine_name: core_antitracking
1164 - name: 'Core: APZ (Graphics submodule)'
1165 description: Asynchronous panning and zooming
1167 - gfx/layers/apz/**/*
1174 url: https://wiki.mozilla.org/Platform/GFX/APZ
1176 - Core::Panning and Zooming
1184 machine_name: core_apz_graphics_submodule
1186 - name: 'Core: Browser WebAPI'
1187 description: Web API for rendering apps, browser windows and widgets.
1189 - dom/browser-element/**/*
1200 machine_name: core_browser_webapi
1202 - name: 'Core: Build and Release Tools'
1203 description: Tools related to build and release automation and configuration of
1206 - tools/update-packaging/**/*
1207 - tools/update-verify/**/*
1211 group: release-engineering
1212 url: https://wiki.mozilla.org/ReleaseEngineering
1214 - Release Engineering::*
1221 machine_name: core_build_and_release_tools
1223 - name: 'Core: Build Config'
1224 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1229 - python/mozbuild/**/*
1230 - browser/config/mozconfigs/**/*
1248 url: :ref:`Build System`
1250 - Core::Build Config
1257 - name: 'Core: Build Config - Fennec'
1258 description: Submodule of the build config covering Fennec's build system
1263 - Core::Build Config
1267 machine_name: core_build_config_fennec
1269 - name: 'Core: Build Config - Taskgraph'
1270 description: Support for task-graph generation in decision, action, and cron
1271 tasks, including configuration of all tasks including those for CI, nightlies,
1272 and releases; as well as Docker and VM images used to execute those tasks.
1277 - Firefox Build System::Task Configuration
1293 machine_name: core_build_config_taskgraph
1294 machine_name: core_build_config
1296 - name: 'Core: Code Analysis and Debugging Tools'
1297 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1298 and other characteristics of it.
1301 - tools/leak-gauge/**/*
1302 - tools/performance/**/*
1305 group: dev-performance
1309 machine_name: core_code_analysis_and_debugging_tools
1311 - name: 'Core: Content Security'
1312 description: 'Native content-based security features enforced in the ContentSecurityManager,
1313 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1314 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1315 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1316 and top-level data: URI blocking.'
1328 - 'Core::DOM: Security'
1336 machine_name: core_content_security
1338 - name: 'Core: Cookies'
1341 - netwerk/cookie/**/*
1350 - Christian Biesinger
1356 - 'Core::Networking: Cookies'
1365 machine_name: core_cookies
1367 - name: 'Core: Crash reporting'
1368 description: Infrastructure and tools used to generate, submit and process crash
1369 reports. This includes the in-tree google-breakpad fork, the crash report generation
1370 machinery as well as the host tools used to dump symbols, analyse minidumps
1371 and generate stack traces.
1373 - toolkit/crashreporter/**/*
1374 - toolkit/components/crashes/**/*
1375 - tools/crashreporter/**/*
1376 - ipc/glue/CrashReporter*
1377 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1382 url: :ref:`Crash Reporter`
1384 - Toolkit::Crash Reporting
1390 machine_name: core_crash_reporting
1392 - machine_name: core_credentials
1393 name: 'Core: Credentials'
1394 description: API Surface for FedCM and WebAuthn
1396 - toolkit/components/credentialmanagement/**/*
1397 - browser/components/credentialmanager/**/*
1398 - dom/credentialmanagement/**/*
1410 - 'Core::DOM: Credential Management'
1411 - 'Core::DOM: Web Authentication'
1413 - name: 'Core: C++/Rust usage, tools, and style'
1414 description: Aspects of C++ use such as language feature usage, standard library
1415 versions/usage, compiler/toolchain versions, formatting and naming style, and
1416 aspects of Rust use as needs arise
1418 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1419 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1420 # - docs/code-quality/**/*
1421 # - docs/testing-rust-code/**/*
1422 # - docs/writing-rust-code/**/*
1437 machine_name: core_crust_usage_tools_and_style
1439 - name: 'Core: Cycle Collector'
1440 description: Code to break and collect objects within reference cycles
1442 - xpcom/base/nsCycleCollect*
1443 # TODO "and some support headers"
1444 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1450 - Core::Cycle Collector
1456 machine_name: core_cycle_collector
1458 - name: 'Core: DLL Services'
1459 description: Windows dynamic linker instrumentation and blocking
1461 - toolkit/xre/dllservices/**/*
1467 - Core::DLL Services
1472 machine_name: core_dll_services
1474 - name: 'Core: docshell'
1478 - uriloader/base/**/*
1484 - Christian Biesinger
1490 - Core::Document Navigation
1497 machine_name: core_docshell
1499 - name: 'Core: Document Object Model'
1503 exclude_module_paths: true
1520 url: http://developer.mozilla.org/en/docs/DOM
1523 - 'Core::DOM: Core & HTML'
1524 review_group: dom-core
1540 machine_name: core_document_object_model
1542 - name: 'Core: DOM File'
1543 description: DOM Blob, File and FileSystem APIs
1546 - dom/filesystem/**/*
1549 url: http://developer.mozilla.org/en/docs/DOM
1556 machine_name: core_dom_file
1558 - machine_name: core_dom_streams
1559 name: 'Core: DOM Streams'
1560 description: Streams Specification implementation
1571 url: http://developer.mozilla.org/en/docs/DOM
1574 - 'Core::DOM: Streams'
1577 - name: 'Core: Editor'
1592 machine_name: core_editor
1594 - name: 'Core: Event Handling'
1595 description: DOM Events and Event Handling
1598 # TODO "and event handling related code elsewhere"
1603 url: http://developer.mozilla.org/en/docs/DOM
1605 - 'Core::DOM: Events'
1606 - 'Core::DOM: UI Events & Focus Handling'
1612 machine_name: core_event_handling
1614 - machine_name: core_firefox_source_documentation
1615 name: 'Core: Firefox Source Documentation'
1616 description: The infrastructure platform used to generate Firefox's source documentation,
1617 excluding editorial control over the content.
1620 - tools/moztreedocs/
1627 - Developer Infrastructure::Source Documentation
1628 url: https://firefox-source-docs.mozilla.org/
1629 - name: 'Core: Gecko Profiler'
1630 description: Gecko's built-in profiler
1632 - tools/profiler/**/*
1633 - mozglue/baseprofiler/**/*
1638 - Shu-yu Guo (JS integration)
1639 - Thinker Lee (TaskTracer)
1640 - Cervantes Yu (TaskTracer)
1641 - Nicholas Nethercote
1647 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1649 - Core::Gecko Profiler
1656 machine_name: core_gecko_profiler
1658 - name: 'Core: GeckoView'
1659 description: Framework for embedding Gecko into Android applications
1661 - mobile/android/**/*
1662 - widget/android/**/*
1674 url: https://wiki.mozilla.org/Mobile/GeckoView
1676 - GeckoView::General
1684 machine_name: core_geckoview
1686 - name: 'Core: Global Key Bindings'
1687 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1688 and the like, as those are part of i18n.
1691 # TODO "and platform specific directories under it"
1693 group: dev-accessibility
1694 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1696 - 'Core::Keyboard: Navigation'
1701 machine_name: core_global_key_bindings
1703 - name: 'Core: Graphics'
1704 description: Mozilla graphics API
1712 - Benoit Girard(Compositor, Performance)
1714 - George Wright(Canvas2D)
1718 - John Daggett(text/fonts)
1719 - Benoit Jacob(gfx/gl)
1721 - Vladimir Vukicevic
1722 - James Willcox(Android)
1725 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1726 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1729 - 'Core::Graphics: Layers'
1730 - 'Core::Graphics: Text'
1731 - 'Core::Graphics: WebRender'
1732 - 'Core::GFX: Color Management'
1733 - 'Core::Canvas: 2D'
1734 - 'Core::Canvas: WebGL'
1747 machine_name: core_graphics
1750 description: Hardware Abstraction Layer
1756 - Core::Hardware Abstraction Layer (HAL)
1760 machine_name: core_hal
1762 - name: 'Core: HTML Parser'
1763 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1764 to the HTML specification, and is mostly translated automatically from Java
1770 url: http://about.validator.nu/
1772 - 'Core::HTML: Parser'
1777 machine_name: core_html_parser
1779 - name: 'Core: I18N Library'
1788 url: :ref:`Internationalization`
1790 - Core::Internationalization
1798 machine_name: core_i18n_library
1800 - name: 'Core: ImageLib'
1803 - media/libjpeg/**/*
1820 machine_name: core_imagelib
1822 - name: 'Core: IndexedDB'
1825 - dom/indexedDB/**/*
1833 url: https://developer.mozilla.org/en/IndexedDB
1835 - 'Core::DOM: IndexedDB'
1836 review_group: dom-storage-reviewers
1843 machine_name: core_indexeddb
1846 description: Native message-passing between threads and processes
1867 review_group: ipc-reviewers
1874 machine_name: core_ipc
1876 - name: 'Core: JavaScript'
1877 description: JavaScript engine (SpiderMonkey)
1901 - Nicholas Nethercote
1906 url: https://spidermonkey.dev/
1908 - Core::JavaScript Engine
1909 - 'Core::JavaScript: GC'
1910 - 'Core::JavaScript: Internationalization API'
1911 - 'Core::JavaScript: Standard Library'
1912 - 'Core::JavaScript: WebAssembly'
1934 machine_name: core_javascript
1936 - name: 'Core: JavaScript JIT'
1937 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1945 url: https://spidermonkey.dev/
1947 - 'Core::JavaScript Engine: JIT'
1963 machine_name: core_javascript_jit
1965 - name: 'Core: js-tests'
1966 description: JavaScript test suite
1970 group: dev-tech-js-engine
1971 url: http://www.mozilla.org/js/tests/library.html
1975 machine_name: core_jstests
1977 - name: 'Core: Layout Engine'
1978 description: rendering tree construction, layout (reflow), etc.
1984 - layout/generic/**/*
1985 - layout/printing/**/*
1986 - layout/tables/**/*
1995 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1998 - 'Core::Layout: Block and Inline'
1999 - 'Core::Layout: Columns'
2000 - 'Core::Layout: Flexbox'
2001 - 'Core::Layout: Floats'
2002 - 'Core::Layout: Form Controls'
2003 - 'Core::Layout: Generated Content, Lists, and Counters'
2004 - 'Core::Layout: Grid'
2005 - 'Core::Layout: Images, Video, and HTML Frames'
2006 - 'Core::Layout: Positioned'
2007 - 'Core::Layout: Ruby'
2008 - 'Core::Layout: Scrolling and Overflow'
2009 - 'Core::Layout: Tables'
2010 - 'Core::Layout: Text and Fonts'
2011 - Core::Print Preview
2012 - 'Core::Printing: Output'
2024 machine_name: core_layout_engine
2026 - name: 'Core: Legacy HTML Parser'
2029 - parser/htmlparser/**/*
2033 url: http://www.mozilla.org/newlayout/doc/parser.html
2035 - 'Core::HTML: Parser'
2042 machine_name: core_legacy_html_parser
2044 - name: 'Core: libjar'
2045 description: The JAR handling code (protocol handler, stream implementation, and
2046 zipreader/zipwriter).
2048 - modules/libjar/**/*
2058 - 'Core::Networking: JAR'
2064 machine_name: core_libjar
2066 - name: 'Core: MathML'
2067 description: MathML is a low-level specification for describing mathematics which
2068 provides a foundation for the inclusion of mathematical expressions in Web pages.
2070 - layout/mathml/**/*
2072 group: dev-tech-mathml
2073 url: https://developer.mozilla.org/docs/Web/MathML
2080 machine_name: core_mathml
2082 - name: 'Core: Media Playback'
2083 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2084 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2087 - media/gmp-clearkey/**/*
2088 - media/libcubeb/**/*
2089 - media/libnestegg/**/*
2091 - media/libopus/**/*
2092 - media/libtheora/**/*
2093 - media/libtremor/**/*
2094 - media/libvorbis/**/*
2096 - dom/media/platforms/omx/**/*
2097 - dom/media/gmp/rlz/**/*
2112 machine_name: core_media_playback
2114 - name: 'Core: Media Transport'
2115 description: Pluggable transport for real-time media
2117 - dom/media/webrtc/transport/**/*
2121 - Core::WebRTC::Networking
2128 machine_name: core_media_transport
2130 - name: 'Core: Memory Allocator'
2131 description: Most things related to memory allocation in Gecko, including jemalloc,
2132 replace-malloc, DMD (dark matter detector), logalloc, etc.
2138 - Nicholas Nethercote
2146 machine_name: core_memory_allocator
2148 - name: 'Core: mfbt'
2149 description: mfbt is a collection of headers, macros, data structures, methods,
2150 and other functionality available for use and reuse throughout all Mozilla code
2151 (including SpiderMonkey and Gecko more broadly).
2163 machine_name: core_mfbt
2165 - name: 'Core: Moz2D (Graphics submodule)'
2166 description: Platform independent 2D graphics API
2171 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2179 machine_name: core_moz2d_graphics_submodule
2181 - name: 'Core: Mozglue'
2182 description: Glue library containing various low-level functionality, including
2183 a dynamic linker for Android, a DLL block list for Windows, etc.
2191 - Kartikaya Gupta (mozglue/android)
2196 machine_name: core_mozglue
2198 - name: 'Core: MSCOM'
2199 description: Integration with Microsoft Distributed COM
2210 - 'Core::IPC: MSCOM'
2216 machine_name: core_mscom
2218 - name: 'Core: Necko'
2219 description: The Mozilla Networking Library
2223 - netwerk/build/**/*
2224 - netwerk/cache2/**/*
2226 - netwerk/locales/**/*
2228 - netwerk/protocol/**/*
2229 - netwerk/socket/**/*
2230 - netwerk/streamconv/**/*
2231 - netwerk/system/**/*
2236 - dom/websocket/**/*
2237 - uriloader/prefetch/**/*
2238 - uriloader/preload/**/*
2241 - Dragana Damjanovic
2243 - Christian Biesinger
2254 group: dev-tech-network
2255 url: :ref:`Networking`
2258 - 'Core::Networking: Cache'
2259 - 'Core::Networking: Cookies'
2260 - 'Core::Networking: FTP'
2261 - 'Core::Networking: File'
2262 - 'Core::Networking: HTTP'
2263 - 'Core::Networking: JAR'
2264 - 'Core::Networking: Websockets'
2265 - 'Core::DOM: Networking'
2271 machine_name: core_necko
2273 - name: 'Core: NodeJS usage, tools, and style'
2274 description: Advises on the use of NodeJS and npm packages at build and runtime.
2275 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2276 teams to maintain automated license and security audits of npm packages. Works
2277 with the security team and relevant developers to respond to vulnerabilities
2278 in NodeJS and vendored npm packages.
2283 # TODO: and others as appropriate
2287 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2296 machine_name: core_nodejs_usage_tools_and_style
2298 - name: 'Core: NSPR'
2299 description: Netscape Portable Runtime
2305 group: dev-tech-nspr
2313 machine_name: core_nspr
2316 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2319 - toolkit/components/pdfjs/**/*
2327 url: https://github.com/mozilla/pdf.js
2334 machine_name: core_pdf
2336 - name: 'Core: Permissions'
2339 - extensions/permissions/**/*
2348 - Christian Biesinger
2353 - 'Core :: Permission Manager'
2360 machine_name: core_permissions
2362 - name: 'Core: Plugins'
2363 description: ' NPAPI Plugin support.'
2375 url: https://wiki.mozilla.org/Plugins
2380 machine_name: core_plugins
2382 - name: 'Core: Preferences'
2383 description: Preference library
2385 - modules/libpref/**/*
2388 - Nicholas Nethercote
2394 - 'Core::Preferences: Backend'
2400 machine_name: core_preferences
2402 - name: 'Core: Private Browsing'
2403 description: Implementation of the Private Browsing mode, and the integration
2404 of other modules with Private Browsing APIs.
2407 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2408 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2416 url: https://wiki.mozilla.org/Private_Browsing
2418 - Firefox::Private Browsing
2423 machine_name: core_private_browsing
2425 - name: 'Core: Privilege Manager'
2426 description: Caps is the capabilities-based security system.
2435 url: http://www.mozilla.org/projects/security/components/index.html
2437 - 'Core::Security: CAPS'
2443 machine_name: core_privilege_manager
2445 - name: 'Core: Push Notifications'
2446 description: Push is a way for application developers to send messages to their
2457 - 'Core::DOM: Notifications'
2461 machine_name: core_push_notifications
2463 - name: 'Core: Sandboxing (Linux)'
2464 description: Sandboxing for the Linux platform
2466 - security/sandbox/linux/**/*
2469 url: https://wiki.mozilla.org/Security/Sandbox
2471 - 'Core::Security: Process Sandboxing'
2476 machine_name: core_sandboxing_linux
2478 - name: 'Core: Sandboxing (OSX)'
2479 description: Sandboxing for the OSX platform
2481 - security/sandbox/mac/**/*
2484 url: https://wiki.mozilla.org/Security/Sandbox
2486 - 'Core::Security: Process Sandboxing'
2490 machine_name: core_sandboxing_osx
2492 - name: 'Core: Sandboxing (Windows)'
2493 description: Sandboxing for the Windows platform
2495 - security/sandbox/win/**/*
2505 url: https://wiki.mozilla.org/Security/Sandbox
2507 - 'Core::Security: Process Sandboxing'
2512 machine_name: core_sandboxing_windows
2514 - name: 'Core: security'
2515 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2528 group: dev-tech-crypto
2529 url: :ref:`Network Security Services (NSS)`
2534 - 'Core::Security: S/MIME'
2547 machine_name: core_security
2549 - name: 'Core: Security - Mozilla PSM Glue'
2550 description: Personal Security Manager
2552 - security/manager/**/*
2555 - Kai Engert (2001-2012)
2556 group: dev-tech-crypto
2558 - 'Core::Security: PSM'
2567 machine_name: core_security_mozilla_psm_glue
2569 - machine_name: core_security_rlbox
2570 name: Security - RLBox
2571 description: Sandboxing using WASM/RLBox libraries.
2575 - third_party/rlbox_wasm2c_sandbox
2585 - 'Core::Security: RLBox'
2586 - name: 'Core: Static analysis & rewriting for C++'
2587 description: Tools for checking C++ code looking for problems at compile time,
2588 plus tools for automated rewriting of C++ code.
2590 - build/clang-plugin/**/*
2591 - tools/rewriting/**/*
2592 # TODO among other out of tree tools
2595 - Birunthan Mohanathas
2599 - Core::Rewriting & Analysis
2606 machine_name: core_static_analysis_rewriting_for_c
2608 - name: 'Core: storage'
2609 description: Storage APIs with a SQLite backend
2611 - third_party/sqlite3/**/*
2615 url: http://developer.mozilla.org/en/docs/Storage
2617 - Toolkit::Storage, Core::SQL
2625 machine_name: core_storage
2627 - name: 'Core: String'
2632 group: dev-tech-xpcom
2633 url: :ref:`String Guide`
2640 machine_name: core_string
2642 - name: 'Core: Style System'
2643 description: CSS style sheet handling; style data computation
2654 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2656 - Core::CSS Parsing and Computation
2657 - 'Core::DOM: CSS Object Model'
2663 machine_name: core_style_system
2666 description: Scalable Vector Graphics
2673 url: https://developer.mozilla.org/docs/Web/SVG
2683 machine_name: core_svg
2685 - name: 'Core: UA String'
2686 description: User Agent String
2688 - netwerk/protocol/http/**/*
2691 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2693 - 'Core::Networking: HTTP'
2699 machine_name: core_ua_string
2701 - name: 'Core: View System'
2702 description: The View Manager is responsible for handling "heavyweight" rendering
2703 (some clipping, compositing) and event handling tasks.
2711 - 'Core::Layout: View Rendering'
2717 machine_name: core_view_system
2719 - name: 'Core: Web Audio'
2720 description: Support for the W3C Web Audio API specification.
2722 - dom/media/webaudio/**/*
2727 url: https://wiki.mozilla.org/Web_Audio_API
2735 machine_name: core_web_audio
2737 - name: 'Core: Web Painting'
2738 description: painting, display lists, and layer construction
2740 - layout/painting/**/*
2741 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2744 url: :ref:`Layout & CSS`
2746 - 'Core::Layout: Web Painting'
2757 machine_name: core_web_painting
2759 - name: 'Core: Web Workers'
2772 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2774 - 'Core::DOM: Workers'
2775 review_group: dom-worker-reviewers
2781 machine_name: core_web_workers
2783 - name: 'Core: WebGPU (Graphics submodule)'
2784 description: WebGPU implementation
2787 - gfx/wgpu_bindings/**/*
2788 - third_party/rust/naga/**/*
2789 - third_party/rust/wgpu-core/**/*
2790 - third_party/rust/wgpu-hal/**/*
2791 - third_party/rust/wgpu-types/**/*
2794 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2796 - Core::Graphics::WebGPU
2797 review_group: webgpu-reviewers
2809 machine_name: core_webgpu_graphics_submodule
2811 - name: 'Core: WebRTC'
2812 description: WebRTC is responsible for realtime audio and video communication,
2813 as well as related issues like low-level camera and microphone access
2816 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2821 url: https://wiki.mozilla.org/Media/webrtc
2824 - Core::WebRTC Networking
2831 machine_name: core_webrtc
2833 - name: 'Core: WebVR'
2834 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2835 including API, devices, graphics and integration
2841 - Vladimir Vukicevic
2844 url: https://mozvr.com/
2853 - name: 'Core: WebRTC Media'
2854 description: Submodule of WebRTC responsible for access to media input devices
2855 (microphones, cameras, screen capture), as well as realtime audiovisual
2856 codecs and packetization.
2859 - dom/media/webrtc/**/*
2860 - dom/media/systemservices/**/*
2866 url: https://wiki.mozilla.org/Media/webrtc
2868 - Core::WebRTC (Audio/Video)
2875 machine_name: core_webrtc_media
2877 - name: 'Core: WebRTC Signaling'
2878 description: Submodule of WebRTC responsible for implementation of PeerConnection
2879 API, WebRTC identity, and SDP/JSEP handling
2881 - media/webrtc/signaling/**/*
2886 url: https://wiki.mozilla.org/Media/webrtc
2888 - Core::WebRTC (Signaling)
2896 machine_name: core_webrtc_signaling
2897 machine_name: core_webvr
2899 - name: 'Core: Widget'
2900 description: Top level Widget
2905 - Vladimir Vukicevic
2912 - Core::Drag and Drop
2914 - 'Core::Printing: Setup'
2917 machine_name: core_widget
2919 - name: 'Core: Widget - Android'
2920 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2925 machine_name: core_widget_android
2927 - name: 'Core: Widget - GTK'
2928 description: GTK widget support
2935 url: http://www.mozilla.org/ports/gtk/
2937 - 'Core::Widget: Gtk'
2942 machine_name: core_widget_gtk
2944 - name: 'Core: Widget - Headless'
2945 description: Headless widget support
2947 - widget/headless/**/*
2956 machine_name: core_widget_headless
2958 - name: 'Core: Widget - macOS'
2959 description: ' macOS widget support'
2972 - 'Core::Widget: Cocoa'
2978 machine_name: core_widget_macos
2980 - name: 'Core: Widget - Windows'
2981 description: Windows widget support
2983 - widget/windows/**/*
2989 - Vladimir Vukicevic
2992 - Christian Biesinger
2994 - Josh 'timeless' Soref
3001 - 'Core::Widget: Win32'
3007 machine_name: core_widget_windows
3010 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
3011 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
3012 that are not covered by more specific projects.
3028 machine_name: core_xml
3030 - name: 'Core: XPApps'
3031 description: Cross-Platform Applications, mostly Navigator front end and application
3036 group: dev-apps-seamonkey
3040 - Josh 'timeless' Soref
3043 machine_name: core_xpapps
3045 - name: 'Core: XPCOM'
3046 description: The cross-platform object model and core data structures.
3052 - xpcom/components/**/*
3056 - xpcom/reflect/**/*
3060 - xpcom/threads/**/*
3061 - xpcom/windbgdlg/**/*
3073 review_group: xpcom-reviewers
3083 machine_name: core_xpcom
3085 - name: 'Core: XPConnect'
3086 description: Deep Magic
3105 machine_name: core_xpconnect
3107 - name: 'Core: XPIDL'
3108 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3109 runtime type description files from .idl interface description files.
3111 - xpcom/idl-parser/**/*
3118 - Josh 'timeless' Soref
3119 group: dev-tech-xpcom
3125 machine_name: core_xpidl
3127 - name: 'Core: XSLT Processor'
3128 description: XSLT transformations processor
3136 group: dev-tech-xslt
3137 url: https://developer.mozilla.org/docs/Web/XSLT
3143 machine_name: core_xslt_processor
3145 - name: Desktop Firefox
3146 description: Standalone Web Browser.
3159 - Tim Guan-tin Chien
3169 - Matthew Noorenberghe
3191 - name: Add-ons Manager
3192 description: Extension management back-end.
3194 - toolkit/mozapps/extensions/**/*
3208 machine_name: addons_manager
3210 - name: Add-ons Manager UI
3211 description: about:addons.
3213 - toolkit/mozapps/extensions/content/**/*
3226 machine_name: addons_manager_ui
3228 - name: Application Update
3229 description: The application update services.
3231 - toolkit/mozapps/update/**/*
3238 machine_name: application_update
3240 - name: Bookmarks & History
3241 description: The bookmarks and history services (Places).
3243 - browser/components/places/**/*
3244 - toolkit/components/places/**/*
3253 - Firefox::Bookmarks & History
3255 review_group: places-reviewers
3263 machine_name: bookmarks_history
3265 - name: Desktop Theme
3266 description: The style rules used in the desktop UI.
3268 - browser/themes/**/*
3269 - toolkit/themes/**/*
3284 machine_name: desktop_theme
3287 description: The main browser UI except where covered by more specific submodules.
3289 - browser/base/content/**/*
3302 machine_name: desktop_ui
3304 - name: Download Manager
3305 description: The downloads UI and service.
3307 - browser/components/downloads/**/*
3308 - toolkit/mozapps/downloads/**/*
3309 - uriloader/exthandler/**/*
3319 machine_name: download_manager
3321 - name: Enterprise Policies
3322 description: System policies for controlling Firefox.
3324 - browser/components/enterprisepolicies/**/*
3329 machine_name: enterprise_policies
3331 - name: Experiments/Rollouts
3332 description: Desktop clients for our experiments and off-train deployments
3335 - toolkit/components/normandy/**/*
3336 - toolkit/components/nimbus/**/*
3342 - Firefox::Nimbus Desktop Client
3343 url: https://experimenter.info/
3349 machine_name: normandy
3351 - machine_name: firefox_view
3353 description: The Firefox View page and its modules.
3355 - browser/components/firefoxview/**/*
3363 - name: Form Autofill
3364 description: Form detection and autocomplete.
3366 - browser/extensions/formautofill/**/*
3367 - toolkit/components/satchel/**/*
3370 - Matthew Noorenberghe
3376 machine_name: form_autofill
3378 - name: In-product Messaging
3379 description: The system for delivering in-product messaging.
3381 - toolkit/components/messaging-system/**/*
3384 - Firefox::Messaging System
3391 machine_name: inproduct_messaging
3393 - name: Launcher Process
3394 description: Windows process for bootstrapping the browser process.
3396 - browser/app/winlauncher/**/*
3402 - Firefox::Launcher Process
3409 machine_name: launcher_process
3411 - machine_name: localization
3413 description: Tooling to enable translation and facilitate localization.
3421 - name: New Tab Page
3422 description: The new tab/home page.
3424 - browser/components/newtab/**/*
3427 - Firefox::New Tab Page
3434 machine_name: new_tab_page
3437 description: The onboarding experience including UI tours.
3439 - browser/components/uitour/**/*
3447 machine_name: onboarding
3449 - name: Password Manager
3450 description: Managing, saving and filling logins.
3452 - toolkit/components/passwordmgr/**/*
3453 - browser/components/aboutlogins/**/*
3456 - Matthew Noorenberghe
3461 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3463 - Toolkit::Password Manager
3464 - 'Toolkit::Password Manager: Site'
3466 - Firefox::about:logins
3473 machine_name: password_manager
3475 - machine_name: firefox_pip
3476 name: Picture-in-Picture
3477 description: A component that allows video elements to be pulled out into
3478 an always-on-top window.
3480 - toolkit/components/pictureinpicture
3481 - browser/extensions/pictureinpicture
3491 - name: Profile Migration
3492 description: Migrating data from other browsers.
3494 - browser/components/migration/**/*
3502 machine_name: profile_migration
3505 description: Code relating to Screenshots functionality
3507 - browser/extensions/screenshots/**/*
3508 - browser/components/screenshots/**/*
3516 - Firefox::Screenshots
3522 machine_name: screenshots
3524 - name: Search and Address Bar
3525 description: The search service, address bar and address bar autocomplete.
3527 - browser/components/search/**/*
3528 - browser/components/urlbar/**/*
3529 - toolkit/components/search/**/*
3532 - Firefox::Address Bar
3545 machine_name: search_and_address_bar
3547 - name: Security and Privacy UI
3548 description: The front-end to our security and privacy features, including
3549 Protections UI, Site Identity, Site Permissions and Certificate Errors
3551 - browser/components/protections/**/*
3552 - browser/components/controlcenter/**/*
3556 - Nihanth Subramanya
3561 - Firefox::Protections UI
3562 - Firefox::Site Identity
3563 - Firefox::Site Permissions
3568 machine_name: security_and_privacy_ui
3570 - name: Session Restore
3571 description: Restoring a user's session after starting Firefox.
3573 - browser/components/sessionstore/**/*
3574 - toolkit/components/sessionstore/**/*
3584 - Firefox::Session Restore
3591 machine_name: session_restore
3594 description: The front-end settings user interface.
3596 - browser/components/preferences/**/*
3597 - browser/themes/*/preferences
3598 - toolkit/mozapps/preferences
3610 machine_name: settings_ui
3612 - name: Tabbed Browser
3613 description: The UI component controlling browser tabs.
3615 - browser/base/content/tabbrowser*
3616 - browser/base/content/browser-allTabsMenu.js
3617 - browser/base/content/browser-ctrlTab.js
3618 - browser/base/content/browser-fullZoom.js
3619 - browser/modules/AsyncTabSwitcher.sys.mjs
3620 - browser/modules/NewTabPagePreloading.sys.mjs
3621 - browser/modules/OpenInTabsUtils.sys.mjs
3622 - browser/modules/TabsList.sys.mjs
3623 - browser/modules/TabUnloader.sys.mjs
3626 - Firefox::Tabbed Browser
3635 machine_name: tabbed_browser
3637 - name: Windows Installer
3638 description: The installer for Windows.
3640 - browser/installer/**/*
3641 - toolkit/mozapps/installer/**/*
3644 - Firefox::Installer
3650 machine_name: windows_installer
3651 machine_name: desktop_firefox
3653 - machine_name: devtools
3655 description: Mozilla Developer Tools
3681 - Steve Fink (heapsnapshot code)
3691 - Panagiotis Astithas
3709 url: http://firefox-dev.tools/
3712 - machine_name: javascript_usage
3713 name: JavaScript usage, tools, and style
3714 description: Aspects of JavaScript use such as language feature usage, tooling
3715 such as lint configurations, formatting and naming style.
3717 - .eslintrc-test-paths.js
3718 - '**/.eslintignore'
3720 - tools/lint/eslint/**/*
3737 - machine_name: mozharness
3739 description: Configuration-driven script harness.
3741 - testing/mozharness/**/*
3754 - 'Release Engineering :: Applications: MozharnessCore'
3755 - machine_name: python_usage
3756 name: Python usage, tools, and style
3757 description: Aspects of Python use such as tooling, formatting and naming style
3759 - tools/lint/python/**/*
3769 - 'Developer Infrastructure :: Lint and Formatting'
3771 - machine_name: remote_protocol
3772 name: Remote Protocol
3773 description: Low-level remote protocol exposing interfaces for inspecting state
3774 and controlling execution of web documents, instrumenting various subsystems
3775 in the browser, simulating user interaction for automation purposes, and for
3776 subscribing to updates from the aforementioned.
3782 url: https://firefox-source-docs.mozilla.org/remote/
3791 - machine_name: remote_protocol_agent
3793 description: Underlying transport layer and server to allow remoting of Firefox
3794 for automation and debugging.
3799 - remote/marionette/*
3800 - remote/webdriver-bidi/*
3805 - Maja Frydrychowicz
3809 - 'Remote Protocol :: Agent'
3817 - machine_name: remote_protocol_cdp
3819 description: The core implementation for CDP support. Please file domain specific
3820 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3827 - Maja Frydrychowicz
3831 - 'Remote Protocol :: CDP'
3839 - machine_name: remote_protocol_marionette
3841 description: Marionette is a remote protocol that lets out-of-process programs
3842 communicate with, instrument, and control Gecko-based browsers. Combined
3843 with geckodriver, this forms our WebDriver classic implementation.
3845 - remote/marionette/*
3850 - Maja Frydrychowicz
3853 - 'Remote Protocol :: Marionette'
3854 group: dev-webdriver
3862 - machine_name: remote_protocol_webdriver_bidi
3863 name: WebDriver BiDi
3864 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3866 - remote/webdriver-bidi/*
3869 - 'Remote Protocol :: WebDriver BiDi'
3870 group: dev-webdriver
3878 - machine_name: sync
3880 description: Firefox Sync client
3882 - services/sync/**/*
3895 url: https://wiki.mozilla.org/Services/Process/Code_Review
3899 - machine_name: testing_firefox_ui
3901 description: Firefox UI test framework.
3903 - testing/firefox-ui/**/*
3906 - Maja Frydrychowicz
3908 - 'Testing :: Firefox UI'
3916 - machine_name: testing_geckodriver
3918 description: Proxy for using W3C WebDriver-compatible clients to interact with
3919 Gecko-based browsers.
3921 - testing/geckodriver/**/*
3929 - 'Testing :: geckodriver'
3930 group: dev-webdriver
3932 - machine_name: testing_gtest
3934 description: GTest test harness.
3936 - testing/gtest/**/*
3943 - 'Testing :: GTest'
3945 - machine_name: testing_marionette_client_harness
3946 name: Marionette Client & Harness
3947 description: Python client and harness for the Marionette remote protocol implementation.
3949 - testing/marionette/**/*
3954 - Maja Frydrychowicz
3957 - 'Testing :: Marionette Client & Harness'
3965 - machine_name: testing_mochitest
3967 description: Mochitest test framework
3969 - testing/mochitest/**/*
3978 - 'Testing :: Mochitest'
3979 - machine_name: testing_mozbase
3981 description: Base modules used for implementing test components.
3995 - 'Testing :: Mozbase'
3996 - 'Testing :: Mozbase Rust'
3997 - machine_name: testing_performance_testing
3998 name: Performance Testing
4000 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
4001 MozPerfTest, AWSY, JSShell, mach try perf, etc.. See our PerfDocs for more information on
4002 the owners/peers of the various components (linked below).
4004 - testing/raptor/**/*
4005 - testing/talos/**/*
4006 - python/mozperftest/**/*
4008 - testing/jsshell/**/*
4009 - tools/lint/perfdocs/**/*
4010 - testing/perfdocs/**/*
4011 - testing/performance/**/*
4012 - testing/condprofile/**/*
4013 - tools/browsertime/**/*
4014 - tools/tryselect/selectors/perf.py
4024 - 'Testing :: Raptor'
4025 - 'Testing :: Talos'
4027 - 'Testing :: Performance'
4028 - 'Testing :: mozperftest'
4029 - 'Testing :: Condprofile'
4030 url: :ref:`Performance Testing`
4031 - machine_name: testing_reftest
4032 name: Reftest (+ jsreftest + crashtest)
4033 description: Reftest test framework
4035 - layout/tools/reftest/**/*
4044 - 'Testing :: Reftest'
4045 - machine_name: testing_tryselect
4047 description: Frontend for selecting jobs on the try server.
4049 - tools/tryselect/**/*
4058 - 'Developer Infrastructure :: Try'
4059 - machine_name: testing_web_platform_tests_infrastructure
4060 name: web-platform-tests infrastructure
4061 description: Infrastructure for running the cross-browser web-platform-tests
4063 - testing/web-platform/**/*
4064 - testing/web-platform/tests/tools/**/*
4066 - testing/web-platform/tests/**/*
4067 - testing/web-platform/meta/**/*
4068 - testing/web-platform/mozilla/**/*
4074 - 'Testing :: web-platform-tests'
4075 - machine_name: testing_xpcshell
4077 description: XPCShell test harness.
4079 - testing/xpcshell/**/*
4087 - Testing::XPCShell Harness
4089 description: Components shared between desktop and mobile browsers.
4098 - Matthew Noorenberghe
4110 - name: Application Startup
4111 description: The profile system and startup process before the front-end launches.
4113 - toolkit/profile/**/*
4114 - toolkit/components/remote/**/*
4121 machine_name: application_startup
4125 The core infrastructure in the Firefox client to send back telemetry
4126 data. Includes the common mechanisms to record, view and submit data: Legacy
4127 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4128 does ''not'' include responsibility for every piece of submitted Telemetry
4129 data. Each team/module is responsible for their own measurements (histograms,
4130 scalars, other ping submissions, etc.).
4132 - toolkit/components/glean/**/*
4133 - toolkit/components/telemetry/**/*
4134 - toolkit/content/aboutTelemetry.*
4139 url: :ref:`Telemetry`
4147 machine_name: telemetry
4150 description: The base widgets used throughout the UI.
4152 - toolkit/content/widgets/**/*
4164 machine_name: ui_widgets
4166 - name: Webextensions
4167 description: Webextension APIs and integration.
4169 - browser/components/extensions/**/*
4170 - toolkit/components/extensions/**/*
4182 machine_name: webextensions
4183 machine_name: toolkit
4184 - machine_name: url_classifier
4185 name: URL Classifier
4186 description: Database and list-based classification of URL resources, such as
4187 Tracking Protection and SafeBrowsing.
4189 - toolkit/components/url-classifier/**/*
4190 - netwerk/url-classifier/**/*
4199 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4200 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4208 config: d8c4484d39645eb0b2e175b1a3634d6b3cc47426
4209 export: a6e22c1edd65c7da848df1cb4c92c507e6803737