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-05-25T15:33:30.460947'
13 path: ./docs/mots/index.rst
15 searchfox_enabled: true
17 Mozilla operates under a `module ownership governance system <https://www.mozilla.org/hacking/module-ownership.html>`_. A module is a discrete unit of code or activity. An owner is the person in charge of a module or sub-module. A peer is a person whom the owner has appointed to help them. A module may have multiple peers and, very occasionally, multiple owners.
19 The system is overseen by the owner and peers of the Module Ownership module. For the modules that make up Firefox, oversight is provided by the Firefox Technical Leadership module. Owners may add and remove peers from their modules as they wish, without reference to anyone else.
40 name: Andrew Halberstadt
44 name: Yoshi Cheng-Hao Huang
76 name: Alessio Placitelli
84 name: Andrew Sutherland
92 name: Andrea Marchesini
104 name: Benjamin Bouvier
112 name: Ben Dean-Kawamura
116 name: Benjamin Beurdouche
148 name: Hubert Boma Manilla
159 name: Bryce Seager van Dyk
170 name: Benjamin VanderSloot
186 name: Calixte Denizet
197 name: Nazım Can Altınova
201 name: Caroline Cullen
213 name: Christoph Kerschbaumer
225 name: Daisuke Akatsuka
289 name: Dragana Damjanovic
325 name: Emilio Cobos Álvarez
329 name: Masatoshi Kimura
348 name: Nick Fitzgerald
352 name: Francesco Lodolo
368 name: Gian-Carlo Pascutto
390 name: Gabriele Svelto
394 name: Haik Aftandilian
402 name: Hiroyuki Ikezoe
410 name: Jan Honza Odvarko
434 name: Jan-Erik Rediger
454 name: Julian Descottes
482 name: Jan-Ivar Bruaroey
510 name: Jonathan Almeida
541 name: Jean-Yves Avenard
569 name: Kimberly Sereduck
570 nick: kimberlythegeek
597 name: Dzmitry Malyshau
609 name: Lougenia Bailey
625 name: Marco Castelluccio
641 name: Masayuki Nakano
650 nick: MatsPalmgren_bugz
657 name: Andrew McCreight
689 name: Morgan Reschenberg
729 name: Nicolas Chevobbe
741 name: Niklas Baumgardner
761 name: Alexandre Poirot
785 name: Andreas Pehrson
793 name: Peter Van der Beken
833 name: Alexandra Borovova
861 name: Shravan Narayan
877 name: Greg Mierzwinski
893 name: Martin Stránský
900 name: Sylvestre Ledru
943 name: Toshihito Kikuchi
1002 name: Zibi Braniecki
1010 name: Tomislav Jovanovic
1013 - name: mozilla-toplevel
1014 description: The top level directory for the mozilla tree.
1017 # TODO: verify, as this was toolkit/README
1022 # - Technical Leadership Module
1025 machine_name: _mozillatoplevel
1027 - machine_name: code_coverage
1029 description: Tools for code coverage instrumentation, and coverage data parsing
1032 - tools/code-coverage/**/*
1033 - python/mozbuild/mozbuild/codecoverage/**/*
1034 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1043 - 'Testing :: Code Coverage'
1044 - name: 'Core: Accessibility'
1045 description: Support for platform accessibility APIs. Accessibility APIs are used
1046 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1047 software, which need information about document content and UI controls, as
1048 well as important events like changes of focus.
1062 group: dev-accessibility
1063 url: https://developer.mozilla.org/docs/Web/Accessibility
1065 - Core::Disability Access APIs
1072 machine_name: core_accessibility
1074 - name: 'Core: Animation'
1075 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1076 API, and off-main thread animations.'
1078 - dom/animation/**/*
1079 # TODO "and animation-related and interpolation-related code
1080 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1084 - Core::DOM::Animation
1085 - Core::CSS Transitions and Animations
1093 machine_name: core_animation
1095 - name: 'Core: Anti-Tracking'
1096 description: Tracking detection and content-blocking.
1098 - toolkit/components/antitracking/**/*
1099 # several files under browser/ and netwerk/url-classifier/ **TODO**
1107 - 'Core::Privacy: Anti-Tracking'
1115 machine_name: core_antitracking
1117 - name: 'Core: APZ (Graphics submodule)'
1118 description: Asynchronous panning and zooming
1120 - gfx/layers/apz/**/*
1127 url: https://wiki.mozilla.org/Platform/GFX/APZ
1129 - Core::Panning and Zooming
1137 machine_name: core_apz_graphics_submodule
1139 - name: 'Core: Browser WebAPI'
1140 description: Web API for rendering apps, browser windows and widgets.
1142 - dom/browser-element/**/*
1153 machine_name: core_browser_webapi
1155 - name: 'Core: Build and Release Tools'
1156 description: Tools related to build and release automation and configuration of
1159 - tools/update-packaging/**/*
1160 - tools/update-verify/**/*
1164 group: release-engineering
1165 url: https://wiki.mozilla.org/ReleaseEngineering
1167 - Release Engineering::*
1173 machine_name: core_build_and_release_tools
1175 - name: 'Core: Build Config'
1176 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1181 - python/mozbuild/**/*
1182 - browser/config/mozconfigs/**/*
1200 url: :ref:`Build System`
1202 - Core::Build Config
1209 - name: 'Core: Build Config - Fennec'
1210 description: Submodule of the build config covering Fennec's build system
1215 - Core::Build Config
1219 machine_name: core_build_config_fennec
1221 - name: 'Core: Build Config - Taskgraph'
1222 description: Support for task-graph generation in decision, action, and cron
1223 tasks, including configuration of all tasks including those for CI, nightlies,
1224 and releases; as well as Docker and VM images used to execute those tasks.
1229 - Firefox Build System::Task Configuration
1245 machine_name: core_build_config_taskgraph
1246 machine_name: core_build_config
1248 - name: 'Core: Code Analysis and Debugging Tools'
1249 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1250 and other characteristics of it.
1253 - tools/leak-gauge/**/*
1254 - tools/performance/**/*
1257 group: dev-performance
1261 machine_name: core_code_analysis_and_debugging_tools
1263 - name: 'Core: Content Security'
1264 description: 'Native content-based security features enforced in the ContentSecurityManager,
1265 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1266 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1267 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1268 and top-level data: URI blocking.'
1280 - 'Core::DOM: Security'
1288 machine_name: core_content_security
1290 - name: 'Core: Cookies'
1293 - netwerk/cookie/**/*
1302 - Christian Biesinger
1308 - 'Core::Networking: Cookies'
1317 machine_name: core_cookies
1319 - name: 'Core: Crash reporting'
1320 description: Infrastructure and tools used to generate, submit and process crash
1321 reports. This includes the in-tree google-breakpad fork, the crash report generation
1322 machinery as well as the host tools used to dump symbols, analyse minidumps
1323 and generate stack traces.
1325 - toolkit/crashreporter/**/*
1326 - toolkit/components/crashes/**/*
1327 - tools/crashreporter/**/*
1328 - ipc/glue/CrashReporter*
1329 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1334 url: :ref:`Crash Reporter`
1336 - Toolkit::Crash Reporting
1342 machine_name: core_crash_reporting
1344 - machine_name: core_credentials
1345 name: 'Core: Credentials'
1346 description: API Surface for FedCM and WebAuthn
1348 - toolkit/components/credentialmanagement/**/*
1349 - browser/components/credentialmanager/**/*
1350 - dom/credentialmanagement/**/*
1362 - 'Core::DOM: Credential Management'
1363 - 'Core::DOM: Web Authentication'
1365 - name: 'Core: C++/Rust usage, tools, and style'
1366 description: Aspects of C++ use such as language feature usage, standard library
1367 versions/usage, compiler/toolchain versions, formatting and naming style, and
1368 aspects of Rust use as needs arise
1370 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1371 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1372 # - docs/code-quality/**/*
1373 # - docs/testing-rust-code/**/*
1374 # - docs/writing-rust-code/**/*
1389 machine_name: core_crust_usage_tools_and_style
1391 - name: 'Core: Cycle Collector'
1392 description: Code to break and collect objects within reference cycles
1394 - xpcom/base/nsCycleCollect*
1395 # TODO "and some support headers"
1396 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1402 - Core::Cycle Collector
1408 machine_name: core_cycle_collector
1410 - name: 'Core: DLL Services'
1411 description: Windows dynamic linker instrumentation and blocking
1413 - toolkit/xre/dllservices/**/*
1419 - Core::DLL Services
1424 machine_name: core_dll_services
1426 - name: 'Core: docshell'
1430 - uriloader/base/**/*
1436 - Christian Biesinger
1442 - Core::Document Navigation
1449 machine_name: core_docshell
1451 - name: 'Core: Document Object Model'
1455 exclude_module_paths: true
1472 url: http://developer.mozilla.org/en/docs/DOM
1475 - 'Core::DOM: Core & HTML'
1491 machine_name: core_document_object_model
1493 - name: 'Core: DOM File'
1494 description: DOM Blob, File and FileSystem APIs
1497 - dom/filesystem/**/*
1500 url: http://developer.mozilla.org/en/docs/DOM
1507 machine_name: core_dom_file
1509 - machine_name: core_dom_streams
1510 name: 'Core: DOM Streams'
1511 description: Streams Specification implementation
1522 url: http://developer.mozilla.org/en/docs/DOM
1525 - 'Core::DOM: Streams'
1528 - name: 'Core: Editor'
1543 machine_name: core_editor
1545 - name: 'Core: Event Handling'
1546 description: DOM Events and Event Handling
1549 # TODO "and event handling related code elsewhere"
1554 url: http://developer.mozilla.org/en/docs/DOM
1556 - 'Core::DOM: Events'
1557 - 'Core::DOM: UI Events & Focus Handling'
1563 machine_name: core_event_handling
1565 - machine_name: core_firefox_source_documentation
1566 name: 'Core: Firefox Source Documentation'
1567 description: The infrastructure platform used to generate Firefox's source documentation,
1568 excluding editorial control over the content.
1571 - tools/moztreedocs/
1578 - Developer Infrastructure::Source Documentation
1579 url: https://firefox-source-docs.mozilla.org/
1580 - name: 'Core: Gecko Profiler'
1581 description: Gecko's built-in profiler
1583 - tools/profiler/**/*
1584 - mozglue/baseprofiler/**/*
1589 - Shu-yu Guo (JS integration)
1590 - Thinker Lee (TaskTracer)
1591 - Cervantes Yu (TaskTracer)
1592 - Nicholas Nethercote
1598 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1600 - Core::Gecko Profiler
1607 machine_name: core_gecko_profiler
1609 - name: 'Core: GeckoView'
1610 description: Framework for embedding Gecko into Android applications
1612 - mobile/android/**/*
1613 - widget/android/**/*
1625 url: https://wiki.mozilla.org/Mobile/GeckoView
1627 - GeckoView::General
1635 machine_name: core_geckoview
1637 - name: 'Core: Global Key Bindings'
1638 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1639 and the like, as those are part of i18n.
1642 # TODO "and platform specific directories under it"
1644 group: dev-accessibility
1645 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1647 - 'Core::Keyboard: Navigation'
1652 machine_name: core_global_key_bindings
1654 - name: 'Core: Graphics'
1655 description: Mozilla graphics API
1663 - Benoit Girard(Compositor, Performance)
1665 - George Wright(Canvas2D)
1669 - John Daggett(text/fonts)
1670 - Benoit Jacob(gfx/gl)
1672 - Vladimir Vukicevic
1673 - James Willcox(Android)
1676 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1677 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1680 - 'Core::Graphics: Layers'
1681 - 'Core::Graphics: Text'
1682 - 'Core::Graphics: WebRender'
1683 - 'Core::GFX: Color Management'
1684 - 'Core::Canvas: 2D'
1685 - 'Core::Canvas: WebGL'
1697 machine_name: core_graphics
1700 description: Hardware Abstraction Layer
1706 - Core::Hardware Abstraction Layer (HAL)
1710 machine_name: core_hal
1712 - name: 'Core: HTML Parser'
1713 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1714 to the HTML specification, and is mostly translated automatically from Java
1720 url: http://about.validator.nu/
1722 - 'Core::HTML: Parser'
1727 machine_name: core_html_parser
1729 - name: 'Core: I18N Library'
1738 url: :ref:`Internationalization`
1740 - Core::Internationalization
1748 machine_name: core_i18n_library
1750 - name: 'Core: ImageLib'
1753 - media/libjpeg/**/*
1770 machine_name: core_imagelib
1772 - name: 'Core: IndexedDB'
1775 - dom/indexedDB/**/*
1783 url: https://developer.mozilla.org/en/IndexedDB
1785 - 'Core::DOM: IndexedDB'
1792 machine_name: core_indexeddb
1795 description: Native message-passing between threads and processes
1822 machine_name: core_ipc
1824 - name: 'Core: JavaScript'
1825 description: JavaScript engine (SpiderMonkey)
1849 - Nicholas Nethercote
1854 url: https://spidermonkey.dev/
1856 - Core::JavaScript Engine
1857 - 'Core::JavaScript: GC'
1858 - 'Core::JavaScript: Internationalization API'
1859 - 'Core::JavaScript: Standard Library'
1860 - 'Core::JavaScript: WebAssembly'
1882 machine_name: core_javascript
1884 - name: 'Core: JavaScript JIT'
1885 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1893 url: https://spidermonkey.dev/
1895 - 'Core::JavaScript Engine: JIT'
1911 machine_name: core_javascript_jit
1913 - name: 'Core: js-tests'
1914 description: JavaScript test suite
1918 group: dev-tech-js-engine
1919 url: http://www.mozilla.org/js/tests/library.html
1923 machine_name: core_jstests
1925 - name: 'Core: Layout Engine'
1926 description: rendering tree construction, layout (reflow), etc.
1932 - layout/generic/**/*
1933 - layout/printing/**/*
1934 - layout/tables/**/*
1943 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1946 - 'Core::Layout: Block and Inline'
1947 - 'Core::Layout: Columns'
1948 - 'Core::Layout: Flexbox'
1949 - 'Core::Layout: Floats'
1950 - 'Core::Layout: Form Controls'
1951 - 'Core::Layout: Generated Content, Lists, and Counters'
1952 - 'Core::Layout: Grid'
1953 - 'Core::Layout: Images, Video, and HTML Frames'
1954 - 'Core::Layout: Positioned'
1955 - 'Core::Layout: Ruby'
1956 - 'Core::Layout: Scrolling and Overflow'
1957 - 'Core::Layout: Tables'
1958 - 'Core::Layout: Text and Fonts'
1959 - Core::Print Preview
1960 - 'Core::Printing: Output'
1972 machine_name: core_layout_engine
1974 - name: 'Core: Legacy HTML Parser'
1977 - parser/htmlparser/**/*
1981 url: http://www.mozilla.org/newlayout/doc/parser.html
1983 - 'Core::HTML: Parser'
1990 machine_name: core_legacy_html_parser
1992 - name: 'Core: libjar'
1993 description: The JAR handling code (protocol handler, stream implementation, and
1994 zipreader/zipwriter).
1996 - modules/libjar/**/*
2006 - 'Core::Networking: JAR'
2012 machine_name: core_libjar
2014 - name: 'Core: MathML'
2015 description: MathML is a low-level specification for describing mathematics which
2016 provides a foundation for the inclusion of mathematical expressions in Web pages.
2018 - layout/mathml/**/*
2020 group: dev-tech-mathml
2021 url: https://developer.mozilla.org/docs/Web/MathML
2028 machine_name: core_mathml
2030 - name: 'Core: Media Playback'
2031 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2032 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2035 - media/gmp-clearkey/**/*
2036 - media/libcubeb/**/*
2037 - media/libnestegg/**/*
2039 - media/libopus/**/*
2040 - media/libtheora/**/*
2041 - media/libtremor/**/*
2042 - media/libvorbis/**/*
2044 - dom/media/platforms/omx/**/*
2045 - dom/media/gmp/rlz/**/*
2060 machine_name: core_media_playback
2062 - name: 'Core: Media Transport'
2063 description: Pluggable transport for real-time media
2065 - dom/media/webrtc/transport/**/*
2069 - Core::WebRTC::Networking
2076 machine_name: core_media_transport
2078 - name: 'Core: Memory Allocator'
2079 description: Most things related to memory allocation in Gecko, including jemalloc,
2080 replace-malloc, DMD (dark matter detector), logalloc, etc.
2086 - Nicholas Nethercote
2094 machine_name: core_memory_allocator
2096 - name: 'Core: mfbt'
2097 description: mfbt is a collection of headers, macros, data structures, methods,
2098 and other functionality available for use and reuse throughout all Mozilla code
2099 (including SpiderMonkey and Gecko more broadly).
2111 machine_name: core_mfbt
2113 - name: 'Core: Moz2D (Graphics submodule)'
2114 description: Platform independent 2D graphics API
2119 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2127 machine_name: core_moz2d_graphics_submodule
2129 - name: 'Core: Mozglue'
2130 description: Glue library containing various low-level functionality, including
2131 a dynamic linker for Android, a DLL block list for Windows, etc.
2139 - Kartikaya Gupta (mozglue/android)
2144 machine_name: core_mozglue
2146 - name: 'Core: MSCOM'
2147 description: Integration with Microsoft Distributed COM
2158 - 'Core::IPC: MSCOM'
2164 machine_name: core_mscom
2166 - name: 'Core: Necko'
2167 description: The Mozilla Networking Library
2171 - netwerk/build/**/*
2172 - netwerk/cache2/**/*
2174 - netwerk/locales/**/*
2176 - netwerk/protocol/**/*
2177 - netwerk/socket/**/*
2178 - netwerk/streamconv/**/*
2179 - netwerk/system/**/*
2184 - dom/websocket/**/*
2185 - uriloader/prefetch/**/*
2186 - uriloader/preload/**/*
2189 - Dragana Damjanovic
2191 - Christian Biesinger
2202 group: dev-tech-network
2203 url: :ref:`Networking`
2206 - 'Core::Networking: Cache'
2207 - 'Core::Networking: Cookies'
2208 - 'Core::Networking: FTP'
2209 - 'Core::Networking: File'
2210 - 'Core::Networking: HTTP'
2211 - 'Core::Networking: JAR'
2212 - 'Core::Networking: Websockets'
2213 - 'Core::DOM: Networking'
2219 machine_name: core_necko
2221 - name: 'Core: NodeJS usage, tools, and style'
2222 description: Advises on the use of NodeJS and npm packages at build and runtime.
2223 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2224 teams to maintain automated license and security audits of npm packages. Works
2225 with the security team and relevant developers to respond to vulnerabilities
2226 in NodeJS and vendored npm packages.
2231 # TODO: and others as appropriate
2235 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2244 machine_name: core_nodejs_usage_tools_and_style
2246 - name: 'Core: NSPR'
2247 description: Netscape Portable Runtime
2253 group: dev-tech-nspr
2261 machine_name: core_nspr
2264 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2267 - toolkit/components/pdfjs/**/*
2275 url: https://github.com/mozilla/pdf.js
2282 machine_name: core_pdf
2284 - name: 'Core: Permissions'
2287 - extensions/permissions/**/*
2296 - Christian Biesinger
2301 - 'Core :: Permission Manager'
2308 machine_name: core_permissions
2310 - name: 'Core: Plugins'
2311 description: ' NPAPI Plugin support.'
2323 url: https://wiki.mozilla.org/Plugins
2328 machine_name: core_plugins
2330 - name: 'Core: Preferences'
2331 description: Preference library
2333 - modules/libpref/**/*
2336 - Nicholas Nethercote
2342 - 'Core::Preferences: Backend'
2348 machine_name: core_preferences
2350 - name: 'Core: Private Browsing'
2351 description: Implementation of the Private Browsing mode, and the integration
2352 of other modules with Private Browsing APIs.
2355 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2356 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2364 url: https://wiki.mozilla.org/Private_Browsing
2366 - Firefox::Private Browsing
2371 machine_name: core_private_browsing
2373 - name: 'Core: Privilege Manager'
2374 description: Caps is the capabilities-based security system.
2383 url: http://www.mozilla.org/projects/security/components/index.html
2385 - 'Core::Security: CAPS'
2391 machine_name: core_privilege_manager
2393 - name: 'Core: Push Notifications'
2394 description: Push is a way for application developers to send messages to their
2405 - 'Core::DOM: Push Notifications'
2409 machine_name: core_push_notifications
2411 - name: 'Core: Sandboxing (Linux)'
2412 description: Sandboxing for the Linux platform
2414 - security/sandbox/linux/**/*
2417 url: https://wiki.mozilla.org/Security/Sandbox
2419 - 'Core::Security: Process Sandboxing'
2424 machine_name: core_sandboxing_linux
2426 - name: 'Core: Sandboxing (OSX)'
2427 description: Sandboxing for the OSX platform
2429 - security/sandbox/mac/**/*
2432 url: https://wiki.mozilla.org/Security/Sandbox
2434 - 'Core::Security: Process Sandboxing'
2438 machine_name: core_sandboxing_osx
2440 - name: 'Core: Sandboxing (Windows)'
2441 description: Sandboxing for the Windows platform
2443 - security/sandbox/win/**/*
2453 url: https://wiki.mozilla.org/Security/Sandbox
2455 - 'Core::Security: Process Sandboxing'
2460 machine_name: core_sandboxing_windows
2462 - name: 'Core: security'
2463 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2476 group: dev-tech-crypto
2477 url: :ref:`Network Security Services (NSS)`
2482 - 'Core::Security: S/MIME'
2495 machine_name: core_security
2497 - name: 'Core: Security - Mozilla PSM Glue'
2498 description: Personal Security Manager
2500 - security/manager/**/*
2503 - Kai Engert (2001-2012)
2504 group: dev-tech-crypto
2506 - 'Core::Security: PSM'
2515 machine_name: core_security_mozilla_psm_glue
2517 - machine_name: core_security_rlbox
2518 name: Security - RLBox
2519 description: Sandboxing using WASM/RLBox libraries.
2523 - third_party/rlbox_wasm2c_sandbox
2533 - 'Core::Security: RLBox'
2534 - name: 'Core: Static analysis & rewriting for C++'
2535 description: Tools for checking C++ code looking for problems at compile time,
2536 plus tools for automated rewriting of C++ code.
2538 - build/clang-plugin/**/*
2539 - tools/rewriting/**/*
2540 # TODO among other out of tree tools
2543 - Birunthan Mohanathas
2547 - Core::Rewriting & Analysis
2554 machine_name: core_static_analysis_rewriting_for_c
2556 - name: 'Core: storage'
2557 description: Storage APIs with a SQLite backend
2559 - third_party/sqlite3/**/*
2563 url: http://developer.mozilla.org/en/docs/Storage
2565 - Toolkit::Storage, Core::SQL
2573 machine_name: core_storage
2575 - name: 'Core: String'
2580 group: dev-tech-xpcom
2581 url: :ref:`String Guide`
2588 machine_name: core_string
2590 - name: 'Core: Style System'
2591 description: CSS style sheet handling; style data computation
2602 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2604 - Core::CSS Parsing and Computation
2605 - 'Core::DOM: CSS Object Model'
2611 machine_name: core_style_system
2614 description: Scalable Vector Graphics
2621 url: https://developer.mozilla.org/docs/Web/SVG
2631 machine_name: core_svg
2633 - name: 'Core: UA String'
2634 description: User Agent String
2636 - netwerk/protocol/http/**/*
2639 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2641 - 'Core::Networking: HTTP'
2647 machine_name: core_ua_string
2649 - name: 'Core: View System'
2650 description: The View Manager is responsible for handling "heavyweight" rendering
2651 (some clipping, compositing) and event handling tasks.
2659 - 'Core::Layout: View Rendering'
2665 machine_name: core_view_system
2667 - name: 'Core: Web Audio'
2668 description: Support for the W3C Web Audio API specification.
2670 - dom/media/webaudio/**/*
2675 url: https://wiki.mozilla.org/Web_Audio_API
2683 machine_name: core_web_audio
2685 - name: 'Core: Web Painting'
2686 description: painting, display lists, and layer construction
2688 - layout/painting/**/*
2689 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2692 url: :ref:`Layout & CSS`
2694 - 'Core::Layout: Web Painting'
2705 machine_name: core_web_painting
2707 - name: 'Core: Web Workers'
2720 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2722 - 'Core::DOM: Workers'
2728 machine_name: core_web_workers
2730 - name: 'Core: WebGPU (Graphics submodule)'
2731 description: WebGPU implementation
2736 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2738 - Core::Graphics::WebGPU
2744 machine_name: core_webgpu_graphics_submodule
2746 - name: 'Core: WebRTC'
2747 description: WebRTC is responsible for realtime audio and video communication,
2748 as well as related issues like low-level camera and microphone access
2751 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2756 url: https://wiki.mozilla.org/Media/webrtc
2759 - Core::WebRTC Networking
2766 machine_name: core_webrtc
2768 - name: 'Core: WebVR'
2769 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2770 including API, devices, graphics and integration
2776 - Vladimir Vukicevic
2779 url: https://mozvr.com/
2788 - name: 'Core: WebRTC Media'
2789 description: Submodule of WebRTC responsible for access to media input devices
2790 (microphones, cameras, screen capture), as well as realtime audiovisual
2791 codecs and packetization.
2794 - dom/media/webrtc/**/*
2795 - dom/media/systemservices/**/*
2801 url: https://wiki.mozilla.org/Media/webrtc
2803 - Core::WebRTC (Audio/Video)
2810 machine_name: core_webrtc_media
2812 - name: 'Core: WebRTC Signaling'
2813 description: Submodule of WebRTC responsible for implementation of PeerConnection
2814 API, WebRTC identity, and SDP/JSEP handling
2816 - media/webrtc/signaling/**/*
2821 url: https://wiki.mozilla.org/Media/webrtc
2823 - Core::WebRTC (Signaling)
2831 machine_name: core_webrtc_signaling
2832 machine_name: core_webvr
2834 - name: 'Core: Widget'
2835 description: Top level Widget
2840 - Vladimir Vukicevic
2847 - Core::Drag and Drop
2849 - 'Core::Printing: Setup'
2852 machine_name: core_widget
2854 - name: 'Core: Widget - Android'
2855 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2860 machine_name: core_widget_android
2862 - name: 'Core: Widget - GTK'
2863 description: GTK widget support
2870 url: http://www.mozilla.org/ports/gtk/
2872 - 'Core::Widget: Gtk'
2877 machine_name: core_widget_gtk
2879 - name: 'Core: Widget - Headless'
2880 description: Headless widget support
2882 - widget/headless/**/*
2891 machine_name: core_widget_headless
2893 - name: 'Core: Widget - macOS'
2894 description: ' macOS widget support'
2907 - 'Core::Widget: Cocoa'
2913 machine_name: core_widget_macos
2915 - name: 'Core: Widget - Windows'
2916 description: Windows widget support
2918 - widget/windows/**/*
2924 - Vladimir Vukicevic
2927 - Christian Biesinger
2929 - Josh 'timeless' Soref
2936 - 'Core::Widget: Win32'
2942 machine_name: core_widget_windows
2945 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2946 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2947 that are not covered by more specific projects.
2963 machine_name: core_xml
2965 - name: 'Core: XPApps'
2966 description: Cross-Platform Applications, mostly Navigator front end and application
2971 group: dev-apps-seamonkey
2975 - Josh 'timeless' Soref
2978 machine_name: core_xpapps
2980 - name: 'Core: XPCOM'
2981 description: The cross-platform object model and core data structures.
2987 - xpcom/components/**/*
2991 - xpcom/reflect/**/*
2995 - xpcom/threads/**/*
2996 - xpcom/windbgdlg/**/*
3017 machine_name: core_xpcom
3019 - name: 'Core: XPConnect'
3020 description: Deep Magic
3039 machine_name: core_xpconnect
3041 - name: 'Core: XPIDL'
3042 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3043 runtime type description files from .idl interface description files.
3045 - xpcom/idl-parser/**/*
3052 - Josh 'timeless' Soref
3053 group: dev-tech-xpcom
3059 machine_name: core_xpidl
3061 - name: 'Core: XSLT Processor'
3062 description: XSLT transformations processor
3070 group: dev-tech-xslt
3071 url: https://developer.mozilla.org/docs/Web/XSLT
3077 machine_name: core_xslt_processor
3079 - name: Desktop Firefox
3080 description: Standalone Web Browser.
3093 - Tim Guan-tin Chien
3123 - name: Add-ons Manager
3124 description: Extension management back-end.
3126 - toolkit/mozapps/extensions/**/*
3140 machine_name: addons_manager
3142 - name: Add-ons Manager UI
3143 description: about:addons.
3145 - toolkit/mozapps/extensions/content/**/*
3158 machine_name: addons_manager_ui
3160 - name: Application Update
3161 description: The application update services.
3163 - toolkit/mozapps/update/**/*
3170 machine_name: application_update
3172 - name: Bookmarks & History
3173 description: The bookmarks and history services (Places).
3175 - browser/components/places/**/*
3176 - toolkit/components/places/**/*
3191 machine_name: bookmarks_history
3193 - name: Desktop Theme
3194 description: The style rules used in the desktop UI.
3196 - browser/themes/**/*
3197 - toolkit/themes/**/*
3210 machine_name: desktop_theme
3213 description: The main browser UI except where covered by more specific submodules.
3215 - browser/base/content/**/*
3222 machine_name: desktop_ui
3224 - name: Download Manager
3225 description: The downloads UI and service.
3227 - browser/components/downloads/**/*
3228 - toolkit/mozapps/downloads/**/*
3229 - uriloader/exthandler/**/*
3239 machine_name: download_manager
3241 - name: Enterprise Policies
3242 description: System policies for controlling Firefox.
3244 - browser/components/enterprisepolicies/**/*
3249 machine_name: enterprise_policies
3251 - name: Experiments/Rollouts
3252 description: Desktop clients for our experiments and off-train deployments
3255 - toolkit/components/normandy/**/*
3256 - toolkit/components/nimbus/**/*
3262 - Firefox::Nimbus Desktop Client
3263 url: https://experimenter.info/
3269 machine_name: normandy
3271 - machine_name: firefox_view
3273 description: The Firefox View page and its modules.
3275 - browser/components/firefoxview/**/*
3283 - name: Form Autofill
3284 description: Form detection and autocomplete.
3286 - browser/extensions/formautofill/**/*
3287 - toolkit/components/satchel/**/*
3290 - Matthew Noorenberghe
3296 machine_name: form_autofill
3298 - name: In-product Messaging
3299 description: The system for delivering in-product messaging.
3301 - toolkit/components/messaging-system/**/*
3304 - Firefox::Messaging System
3311 machine_name: inproduct_messaging
3313 - name: Launcher Process
3314 description: Windows process for bootstrapping the browser process.
3316 - browser/app/winlauncher/**/*
3322 - Firefox::Launcher Process
3327 machine_name: launcher_process
3329 - machine_name: localization
3331 description: Tooling to enable translation and facilitate localization.
3339 - name: New Tab Page
3340 description: The new tab/home page.
3342 - browser/components/newtab/**/*
3345 - Firefox::New Tab Page
3352 machine_name: new_tab_page
3355 description: The onboarding experience including UI tours.
3357 - browser/components/uitour/**/*
3365 machine_name: onboarding
3367 - name: Password Manager
3368 description: Managing, saving and filling logins.
3370 - toolkit/components/passwordmgr/**/*
3371 - browser/components/aboutlogins/**/*
3374 - Matthew Noorenberghe
3378 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3380 - Toolkit::Password Manager
3381 - 'Toolkit::Password Manager: Site'
3383 - Firefox::about:logins
3391 machine_name: password_manager
3393 - machine_name: firefox_pip
3394 name: Picture-in-Picture
3395 description: A component that allows video elements to be pulled out into
3396 an always-on-top window.
3398 - toolkit/components/pictureinpicture
3399 - browser/extensions/pictureinpicture
3409 - name: Profile Migration
3410 description: Migrating data from other browsers.
3412 - browser/components/migration/**/*
3420 machine_name: profile_migration
3423 description: Code relating to Screenshots functionality
3425 - browser/extensions/screenshots/**/*
3426 - browser/components/screenshots/**/*
3434 - Firefox::Screenshots
3440 machine_name: screenshots
3442 - name: Search and Address Bar
3443 description: The search service, address bar and address bar autocomplete.
3445 - browser/components/search/**/*
3446 - browser/components/urlbar/**/*
3447 - toolkit/components/search/**/*
3450 - Firefox::Address Bar
3462 machine_name: search_and_address_bar
3464 - name: Security and Privacy UI
3465 description: The front-end to our security and privacy features, including
3466 Protections UI, Site Identity, Site Permissions and Certificate Errors
3468 - browser/components/protections/**/*
3469 - browser/components/controlcenter/**/*
3473 - Nihanth Subramanya
3478 - Firefox::Protections UI
3479 - Firefox::Site Identity
3480 - Firefox::Site Permissions
3485 machine_name: security_and_privacy_ui
3487 - name: Session Restore
3488 description: Restoring a user's session after starting Firefox.
3490 - browser/components/sessionstore/**/*
3491 - toolkit/components/sessionstore/**/*
3499 - Firefox::Session Restore
3505 machine_name: session_restore
3508 description: The front-end settings user interface.
3510 - browser/components/preferences/**/*
3511 - browser/themes/*/preferences
3512 - toolkit/mozapps/preferences
3523 machine_name: settings_ui
3525 - name: Tabbed Browser
3526 description: The UI component controlling browser tabs.
3528 # TODO double check that this works as expected
3529 - browser/base/content/tabbrowser*
3530 - browser/modules/AsyncTabSwitcher.jsm
3533 - Firefox::Tabbed Browser
3541 machine_name: tabbed_browser
3543 - name: Windows Installer
3544 description: The installer for Windows.
3546 - browser/installer/**/*
3547 - toolkit/mozapps/installer/**/*
3550 - Firefox::Installer
3556 machine_name: windows_installer
3557 machine_name: desktop_firefox
3559 - machine_name: devtools
3561 description: Mozilla Developer Tools
3587 - Steve Fink (heapsnapshot code)
3597 - Panagiotis Astithas
3615 url: http://firefox-dev.tools/
3618 - machine_name: javascript_usage
3619 name: JavaScript usage, tools, and style
3620 description: Aspects of JavaScript use such as language feature usage, tooling
3621 such as lint configurations, formatting and naming style.
3623 - .eslintrc-test-paths.js
3624 - '**/.eslintignore'
3626 - tools/lint/eslint/**/*
3643 - machine_name: mozharness
3645 description: Configuration-driven script harness.
3647 - testing/mozharness/**/*
3660 - 'Release Engineering :: Applications: MozharnessCore'
3661 - machine_name: python_usage
3662 name: Python usage, tools, and style
3663 description: Aspects of Python use such as tooling, formatting and naming style
3665 - tools/lint/python/**/*
3675 - 'Developer Infrastructure :: Lint and Formatting'
3677 - machine_name: remote_protocol
3678 name: Remote Protocol
3679 description: Low-level remote protocol exposing interfaces for inspecting state
3680 and controlling execution of web documents, instrumenting various subsystems
3681 in the browser, simulating user interaction for automation purposes, and for
3682 subscribing to updates from the aforementioned.
3688 url: https://firefox-source-docs.mozilla.org/remote/
3697 - machine_name: remote_protocol_agent
3699 description: Underlying transport layer and server to allow remoting of Firefox
3700 for automation and debugging.
3705 - remote/marionette/*
3706 - remote/webdriver-bidi/*
3711 - Maja Frydrychowicz
3715 - 'Remote Protocol :: Agent'
3723 - machine_name: remote_protocol_cdp
3725 description: The core implementation for CDP support. Please file domain specific
3726 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3733 - Maja Frydrychowicz
3737 - 'Remote Protocol :: CDP'
3745 - machine_name: remote_protocol_marionette
3747 description: Marionette is a remote protocol that lets out-of-process programs
3748 communicate with, instrument, and control Gecko-based browsers. Combined
3749 with geckodriver, this forms our WebDriver classic implementation.
3751 - remote/marionette/*
3756 - Maja Frydrychowicz
3759 - 'Remote Protocol :: Marionette'
3760 group: dev-webdriver
3768 - machine_name: remote_protocol_webdriver_bidi
3769 name: WebDriver BiDi
3770 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3772 - remote/webdriver-bidi/*
3775 - 'Remote Protocol :: WebDriver BiDi'
3776 group: dev-webdriver
3784 - machine_name: sync
3786 description: Firefox Sync client
3788 - services/sync/**/*
3801 url: https://wiki.mozilla.org/Services/Process/Code_Review
3805 - machine_name: testing_firefox_ui
3807 description: Firefox UI test framework.
3809 - testing/firefox-ui/**/*
3812 - Maja Frydrychowicz
3814 - 'Testing :: Firefox UI'
3822 - machine_name: testing_geckodriver
3824 description: Proxy for using W3C WebDriver-compatible clients to interact with
3825 Gecko-based browsers.
3827 - testing/geckodriver/**/*
3835 - 'Testing :: geckodriver'
3836 group: dev-webdriver
3838 - machine_name: testing_gtest
3840 description: GTest test harness.
3842 - testing/gtest/**/*
3849 - 'Testing :: GTest'
3851 - machine_name: testing_marionette_client_harness
3852 name: Marionette Client & Harness
3853 description: Python client and harness for the Marionette remote protocol implementation.
3855 - testing/marionette/**/*
3860 - Maja Frydrychowicz
3863 - 'Testing :: Marionette Client & Harness'
3871 - machine_name: testing_mochitest
3873 description: Mochitest test framework
3875 - testing/mochitest/**/*
3884 - 'Testing :: Mochitest'
3885 - machine_name: testing_mozbase
3887 description: Base modules used for implementing test components.
3901 - 'Testing :: Mozbase'
3902 - 'Testing :: Mozbase Rust'
3903 - machine_name: testing_performance_testing
3904 name: Performance Testing
3906 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3907 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3908 the owners/peers of the various components (linked below).
3910 - testing/raptor/**/*
3911 - testing/talos/**/*
3912 - python/mozperftest/**/*
3914 - tools/lint/perfdocs/**/*
3915 - testing/perfdocs/**/*
3916 - testing/performance/**/*
3917 - testing/condprofile/**/*
3918 - tools/browsertime/**/*
3919 - tools/tryselect/selectors/perf.py
3930 - 'Testing :: Raptor'
3931 - 'Testing :: Talos'
3933 - 'Testing :: Performance'
3934 - 'Testing :: mozperftest'
3935 - 'Testing :: Condprofile'
3936 url: :ref:`Performance Testing`
3937 - machine_name: testing_reftest
3938 name: Reftest (+ jsreftest + crashtest)
3939 description: Reftest test framework
3941 - layout/tools/reftest/**/*
3950 - 'Testing :: Reftest'
3951 - machine_name: testing_tryselect
3953 description: Frontend for selecting jobs on the try server.
3955 - tools/tryselect/**/*
3964 - 'Developer Infrastructure :: Try'
3965 - machine_name: testing_web_platform_tests_infrastructure
3966 name: web-platform-tests infrastructure
3967 description: Infrastructure for running the cross-browser web-platform-tests
3969 - testing/web-platform/**/*
3970 - testing/web-platform/tests/tools/**/*
3972 - testing/web-platform/tests/**/*
3973 - testing/web-platform/meta/**/*
3974 - testing/web-platform/mozilla/**/*
3980 - 'Testing :: web-platform-tests'
3981 - machine_name: testing_xpcshell
3983 description: XPCShell test harness.
3985 - testing/xpcshell/**/*
3993 - Testing::XPCShell Harness
3995 description: Components shared between desktop and mobile browsers.
4012 - name: Application Startup
4013 description: The profile system and startup process before the front-end launches.
4015 - toolkit/profile/**/*
4016 - toolkit/components/remote/**/*
4023 machine_name: application_startup
4027 The core infrastructure in the Firefox client to send back telemetry
4028 data. Includes the common mechanisms to record, view and submit data: Legacy
4029 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4030 does ''not'' include responsibility for every piece of submitted Telemetry
4031 data. Each team/module is responsible for their own measurements (histograms,
4032 scalars, other ping submissions, etc.).
4034 - toolkit/components/glean/**/*
4035 - toolkit/components/telemetry/**/*
4036 - toolkit/content/aboutTelemetry.*
4041 url: :ref:`Telemetry`
4049 machine_name: telemetry
4052 description: The base widgets used throughout the UI.
4054 - toolkit/content/widgets/**/*
4061 machine_name: ui_widgets
4063 - name: Webextensions
4064 description: Webextension APIs and integration.
4066 - browser/components/extensions/**/*
4067 - toolkit/components/extensions/**/*
4079 machine_name: webextensions
4080 machine_name: toolkit
4081 - machine_name: url_classifier
4082 name: URL Classifier
4083 description: Database and list-based classification of URL resources, such as
4084 Tracking Protection and SafeBrowsing.
4086 - toolkit/components/url-classifier/**/*
4087 - netwerk/url-classifier/**/*
4096 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4097 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4105 config: 79226a33cf48ced78a9a6e00f9fc97e9b52f2c7a
4106 export: b2c4d32d8f9ed97d56497f44b4ecc8d8211cee45