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-04-12T14:39:57.947364'
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
753 name: Alexandre Poirot
777 name: Andreas Pehrson
785 name: Peter Van der Beken
825 name: Alexandra Borovova
849 name: Shravan Narayan
865 name: Greg Mierzwinski
881 name: Martin Stránský
888 name: Sylvestre Ledru
931 name: Toshihito Kikuchi
998 name: Tomislav Jovanovic
1001 - name: mozilla-toplevel
1002 description: The top level directory for the mozilla tree.
1005 # TODO: verify, as this was toolkit/README
1010 # - Technical Leadership Module
1013 machine_name: _mozillatoplevel
1015 - machine_name: code_coverage
1017 description: Tools for code coverage instrumentation, and coverage data parsing
1020 - tools/code-coverage/**/*
1021 - python/mozbuild/mozbuild/codecoverage/**/*
1022 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1031 - 'Testing :: Code Coverage'
1032 - name: 'Core: Accessibility'
1033 description: Support for platform accessibility APIs. Accessibility APIs are used
1034 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1035 software, which need information about document content and UI controls, as
1036 well as important events like changes of focus.
1049 group: dev-accessibility
1050 url: https://developer.mozilla.org/docs/Web/Accessibility
1052 - Core::Disability Access APIs
1059 machine_name: core_accessibility
1061 - name: 'Core: Animation'
1062 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1063 API, and off-main thread animations.'
1065 - dom/animation/**/*
1066 # TODO "and animation-related and interpolation-related code
1067 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1071 - Core::DOM::Animation
1072 - Core::CSS Transitions and Animations
1080 machine_name: core_animation
1082 - name: 'Core: Anti-Tracking'
1083 description: Tracking detection and content-blocking.
1085 - toolkit/components/antitracking/**/*
1086 # several files under browser/ and netwerk/url-classifier/ **TODO**
1094 - 'Core::Privacy: Anti-Tracking'
1102 machine_name: core_antitracking
1104 - name: 'Core: APZ (Graphics submodule)'
1105 description: Asynchronous panning and zooming
1107 - gfx/layers/apz/**/*
1114 url: https://wiki.mozilla.org/Platform/GFX/APZ
1116 - Core::Panning and Zooming
1124 machine_name: core_apz_graphics_submodule
1126 - name: 'Core: Browser WebAPI'
1127 description: Web API for rendering apps, browser windows and widgets.
1129 - dom/browser-element/**/*
1140 machine_name: core_browser_webapi
1142 - name: 'Core: Build and Release Tools'
1143 description: Tools related to build and release automation and configuration of
1146 - tools/update-packaging/**/*
1147 - tools/update-verify/**/*
1151 group: release-engineering
1152 url: https://wiki.mozilla.org/ReleaseEngineering
1154 - Release Engineering::*
1160 machine_name: core_build_and_release_tools
1162 - name: 'Core: Build Config'
1163 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1168 - python/mozbuild/**/*
1169 - browser/config/mozconfigs/**/*
1187 url: :ref:`Build System`
1189 - Core::Build Config
1196 - name: 'Core: Build Config - Fennec'
1197 description: Submodule of the build config covering Fennec's build system
1202 - Core::Build Config
1206 machine_name: core_build_config_fennec
1208 - name: 'Core: Build Config - Taskgraph'
1209 description: Support for task-graph generation in decision, action, and cron
1210 tasks, including configuration of all tasks including those for CI, nightlies,
1211 and releases; as well as Docker and VM images used to execute those tasks.
1216 - Firefox Build System::Task Configuration
1232 machine_name: core_build_config_taskgraph
1233 machine_name: core_build_config
1235 - name: 'Core: Code Analysis and Debugging Tools'
1236 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1237 and other characteristics of it.
1240 - tools/leak-gauge/**/*
1241 - tools/performance/**/*
1244 group: dev-performance
1248 machine_name: core_code_analysis_and_debugging_tools
1250 - name: 'Core: Content Security'
1251 description: 'Native content-based security features enforced in the ContentSecurityManager,
1252 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1253 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1254 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1255 and top-level data: URI blocking.'
1267 - 'Core::DOM: Security'
1275 machine_name: core_content_security
1277 - name: 'Core: Cookies'
1280 - netwerk/cookie/**/*
1289 - Christian Biesinger
1295 - 'Core::Networking: Cookies'
1304 machine_name: core_cookies
1306 - name: 'Core: Crash reporting'
1307 description: Infrastructure and tools used to generate, submit and process crash
1308 reports. This includes the in-tree google-breakpad fork, the crash report generation
1309 machinery as well as the host tools used to dump symbols, analyse minidumps
1310 and generate stack traces.
1312 - toolkit/crashreporter/**/*
1313 - toolkit/components/crashes/**/*
1314 - tools/crashreporter/**/*
1315 - ipc/glue/CrashReporter*
1316 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1321 url: :ref:`Crash Reporter`
1323 - Toolkit::Crash Reporting
1329 machine_name: core_crash_reporting
1331 - machine_name: core_credentials
1332 name: 'Core: Credentials'
1333 description: API Surface for FedCM and WebAuthn
1335 - toolkit/components/credentialmanagement/**/*
1336 - browser/components/credentialmanager/**/*
1337 - dom/credentialmanagement/**/*
1349 - 'Core::DOM: Credential Management'
1350 - 'Core::DOM: Web Authentication'
1352 - name: 'Core: C++/Rust usage, tools, and style'
1353 description: Aspects of C++ use such as language feature usage, standard library
1354 versions/usage, compiler/toolchain versions, formatting and naming style, and
1355 aspects of Rust use as needs arise
1357 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1358 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1359 # - docs/code-quality/**/*
1360 # - docs/testing-rust-code/**/*
1361 # - docs/writing-rust-code/**/*
1376 machine_name: core_crust_usage_tools_and_style
1378 - name: 'Core: Cycle Collector'
1379 description: Code to break and collect objects within reference cycles
1381 - xpcom/base/nsCycleCollect*
1382 # TODO "and some support headers"
1383 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1389 - Core::Cycle Collector
1395 machine_name: core_cycle_collector
1397 - name: 'Core: DLL Services'
1398 description: Windows dynamic linker instrumentation and blocking
1400 - toolkit/xre/dllservices/**/*
1406 - Core::DLL Services
1411 machine_name: core_dll_services
1413 - name: 'Core: docshell'
1417 - uriloader/base/**/*
1423 - Christian Biesinger
1429 - Core::Document Navigation
1436 machine_name: core_docshell
1438 - name: 'Core: Document Object Model'
1442 exclude_module_paths: true
1459 url: http://developer.mozilla.org/en/docs/DOM
1462 - 'Core::DOM: CSS Object Model'
1463 - 'Core::DOM: Core & HTML'
1478 machine_name: core_document_object_model
1480 - name: 'Core: DOM File'
1481 description: DOM Blob, File and FileSystem APIs
1484 - dom/filesystem/**/*
1487 url: http://developer.mozilla.org/en/docs/DOM
1494 machine_name: core_dom_file
1496 - machine_name: core_dom_streams
1497 name: 'Core: DOM Streams'
1498 description: Streams Specification implementation
1509 url: http://developer.mozilla.org/en/docs/DOM
1512 - 'Core::DOM: Streams'
1515 - name: 'Core: Editor'
1530 machine_name: core_editor
1532 - name: 'Core: Event Handling'
1533 description: DOM Events and Event Handling
1536 # TODO "and event handling related code elsewhere"
1541 url: http://developer.mozilla.org/en/docs/DOM
1543 - 'Core::DOM: Events'
1544 - 'Core::DOM: UI Events & Focus Handling'
1550 machine_name: core_event_handling
1552 - machine_name: core_firefox_source_documentation
1553 name: 'Core: Firefox Source Documentation'
1554 description: The infrastructure platform used to generate Firefox's source documentation,
1555 excluding editorial control over the content.
1558 - tools/moztreedocs/
1565 - Developer Infrastructure::Source Documentation
1566 url: https://firefox-source-docs.mozilla.org/
1567 - name: 'Core: Gecko Profiler'
1568 description: Gecko's built-in profiler
1570 - tools/profiler/**/*
1571 - mozglue/baseprofiler/**/*
1576 - Shu-yu Guo (JS integration)
1577 - Thinker Lee (TaskTracer)
1578 - Cervantes Yu (TaskTracer)
1579 - Nicholas Nethercote
1585 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1587 - Core::Gecko Profiler
1594 machine_name: core_gecko_profiler
1596 - name: 'Core: GeckoView'
1597 description: Framework for embedding Gecko into Android applications
1599 - mobile/android/**/*
1600 - widget/android/**/*
1612 url: https://wiki.mozilla.org/Mobile/GeckoView
1614 - GeckoView::General
1622 machine_name: core_geckoview
1624 - name: 'Core: Global Key Bindings'
1625 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1626 and the like, as those are part of i18n.
1629 # TODO "and platform specific directories under it"
1631 group: dev-accessibility
1632 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1634 - 'Core::Keyboard: Navigation'
1639 machine_name: core_global_key_bindings
1641 - name: 'Core: Graphics'
1642 description: Mozilla graphics API
1650 - Benoit Girard(Compositor, Performance)
1652 - George Wright(Canvas2D)
1656 - John Daggett(text/fonts)
1657 - Benoit Jacob(gfx/gl)
1659 - Vladimir Vukicevic
1660 - James Willcox(Android)
1663 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1664 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1667 - 'Core::Graphics: Layers'
1668 - 'Core::Graphics: Text'
1669 - 'Core::Graphics: WebRender'
1670 - 'Core::GFX: Color Management'
1671 - 'Core::Canvas: 2D'
1672 - 'Core::Canvas: WebGL'
1684 machine_name: core_graphics
1687 description: Hardware Abstraction Layer
1693 - Core::Hardware Abstraction Layer (HAL)
1697 machine_name: core_hal
1699 - name: 'Core: HTML Parser'
1700 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1701 to the HTML specification, and is mostly translated automatically from Java
1707 url: http://about.validator.nu/
1709 - 'Core::HTML: Parser'
1714 machine_name: core_html_parser
1716 - name: 'Core: I18N Library'
1725 url: :ref:`Internationalization`
1727 - Core::Internationalization
1735 machine_name: core_i18n_library
1737 - name: 'Core: ImageLib'
1740 - media/libjpeg/**/*
1757 machine_name: core_imagelib
1759 - name: 'Core: IndexedDB'
1762 - dom/indexedDB/**/*
1770 url: https://developer.mozilla.org/en/IndexedDB
1772 - 'Core::DOM: IndexedDB'
1779 machine_name: core_indexeddb
1782 description: Native message-passing between threads and processes
1809 machine_name: core_ipc
1811 - name: 'Core: JavaScript'
1812 description: JavaScript engine (SpiderMonkey)
1836 - Nicholas Nethercote
1841 url: https://spidermonkey.dev/
1843 - Core::JavaScript Engine
1844 - 'Core::JavaScript: GC'
1845 - 'Core::JavaScript: Internationalization API'
1846 - 'Core::JavaScript: Standard Library'
1847 - 'Core::JavaScript: WebAssembly'
1869 machine_name: core_javascript
1871 - name: 'Core: JavaScript JIT'
1872 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1880 url: https://spidermonkey.dev/
1882 - 'Core::JavaScript Engine: JIT'
1898 machine_name: core_javascript_jit
1900 - name: 'Core: js-tests'
1901 description: JavaScript test suite
1905 group: dev-tech-js-engine
1906 url: http://www.mozilla.org/js/tests/library.html
1910 machine_name: core_jstests
1912 - name: 'Core: Layout Engine'
1913 description: rendering tree construction, layout (reflow), etc.
1919 - layout/generic/**/*
1920 - layout/printing/**/*
1921 - layout/tables/**/*
1930 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1933 - 'Core::Layout: Block and Inline'
1934 - 'Core::Layout: Columns'
1935 - 'Core::Layout: Flexbox'
1936 - 'Core::Layout: Floats'
1937 - 'Core::Layout: Form Controls'
1938 - 'Core::Layout: Generated Content, Lists, and Counters'
1939 - 'Core::Layout: Grid'
1940 - 'Core::Layout: Images, Video, and HTML Frames'
1941 - 'Core::Layout: Positioned'
1942 - 'Core::Layout: Ruby'
1943 - 'Core::Layout: Scrolling and Overflow'
1944 - 'Core::Layout: Tables'
1945 - 'Core::Layout: Text and Fonts'
1946 - Core::Print Preview
1947 - 'Core::Printing: Output'
1959 machine_name: core_layout_engine
1961 - name: 'Core: Legacy HTML Parser'
1964 - parser/htmlparser/**/*
1968 url: http://www.mozilla.org/newlayout/doc/parser.html
1970 - 'Core::HTML: Parser'
1977 machine_name: core_legacy_html_parser
1979 - name: 'Core: libjar'
1980 description: The JAR handling code (protocol handler, stream implementation, and
1981 zipreader/zipwriter).
1983 - modules/libjar/**/*
1993 - 'Core::Networking: JAR'
1999 machine_name: core_libjar
2001 - name: 'Core: MathML'
2002 description: MathML is a low-level specification for describing mathematics which
2003 provides a foundation for the inclusion of mathematical expressions in Web pages.
2005 - layout/mathml/**/*
2007 group: dev-tech-mathml
2008 url: https://developer.mozilla.org/docs/Web/MathML
2015 machine_name: core_mathml
2017 - name: 'Core: Media Playback'
2018 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2019 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2022 - media/gmp-clearkey/**/*
2023 - media/libcubeb/**/*
2024 - media/libnestegg/**/*
2026 - media/libopus/**/*
2027 - media/libtheora/**/*
2028 - media/libtremor/**/*
2029 - media/libvorbis/**/*
2031 - dom/media/platforms/omx/**/*
2032 - dom/media/gmp/rlz/**/*
2047 machine_name: core_media_playback
2049 - name: 'Core: Media Transport'
2050 description: Pluggable transport for real-time media
2052 - dom/media/webrtc/transport/**/*
2056 - Core::WebRTC::Networking
2063 machine_name: core_media_transport
2065 - name: 'Core: Memory Allocator'
2066 description: Most things related to memory allocation in Gecko, including jemalloc,
2067 replace-malloc, DMD (dark matter detector), logalloc, etc.
2073 - Nicholas Nethercote
2081 machine_name: core_memory_allocator
2083 - name: 'Core: mfbt'
2084 description: mfbt is a collection of headers, macros, data structures, methods,
2085 and other functionality available for use and reuse throughout all Mozilla code
2086 (including SpiderMonkey and Gecko more broadly).
2098 machine_name: core_mfbt
2100 - name: 'Core: Moz2D (Graphics submodule)'
2101 description: Platform independent 2D graphics API
2106 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2114 machine_name: core_moz2d_graphics_submodule
2116 - name: 'Core: Mozglue'
2117 description: Glue library containing various low-level functionality, including
2118 a dynamic linker for Android, a DLL block list for Windows, etc.
2126 - Kartikaya Gupta (mozglue/android)
2131 machine_name: core_mozglue
2133 - name: 'Core: MSCOM'
2134 description: Integration with Microsoft Distributed COM
2144 - 'Core::IPC: MSCOM'
2147 machine_name: core_mscom
2149 - name: 'Core: Necko'
2150 description: The Mozilla Networking Library
2154 - netwerk/build/**/*
2155 - netwerk/cache2/**/*
2157 - netwerk/locales/**/*
2159 - netwerk/protocol/**/*
2160 - netwerk/socket/**/*
2161 - netwerk/streamconv/**/*
2162 - netwerk/system/**/*
2167 - dom/websocket/**/*
2168 - uriloader/prefetch/**/*
2169 - uriloader/preload/**/*
2172 - Dragana Damjanovic
2174 - Christian Biesinger
2185 group: dev-tech-network
2186 url: :ref:`Networking`
2189 - 'Core::Networking: Cache'
2190 - 'Core::Networking: Cookies'
2191 - 'Core::Networking: FTP'
2192 - 'Core::Networking: File'
2193 - 'Core::Networking: HTTP'
2194 - 'Core::Networking: JAR'
2195 - 'Core::Networking: Websockets'
2196 - 'Core::DOM: Networking'
2202 machine_name: core_necko
2204 - name: 'Core: NodeJS usage, tools, and style'
2205 description: Advises on the use of NodeJS and npm packages at build and runtime.
2206 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2207 teams to maintain automated license and security audits of npm packages. Works
2208 with the security team and relevant developers to respond to vulnerabilities
2209 in NodeJS and vendored npm packages.
2214 # TODO: and others as appropriate
2218 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2227 machine_name: core_nodejs_usage_tools_and_style
2229 - name: 'Core: NSPR'
2230 description: Netscape Portable Runtime
2236 group: dev-tech-nspr
2244 machine_name: core_nspr
2247 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2250 - toolkit/components/pdfjs/**/*
2258 url: https://github.com/mozilla/pdf.js
2265 machine_name: core_pdf
2267 - name: 'Core: Permissions'
2270 - extensions/permissions/**/*
2279 - Christian Biesinger
2284 - 'Core :: Permission Manager'
2291 machine_name: core_permissions
2293 - name: 'Core: Plugins'
2294 description: ' NPAPI Plugin support.'
2306 url: https://wiki.mozilla.org/Plugins
2311 machine_name: core_plugins
2313 - name: 'Core: Preferences'
2314 description: Preference library
2316 - modules/libpref/**/*
2319 - Nicholas Nethercote
2325 - 'Core::Preferences: Backend'
2331 machine_name: core_preferences
2333 - name: 'Core: Private Browsing'
2334 description: Implementation of the Private Browsing mode, and the integration
2335 of other modules with Private Browsing APIs.
2338 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2339 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2347 url: https://wiki.mozilla.org/Private_Browsing
2349 - Firefox::Private Browsing
2354 machine_name: core_private_browsing
2356 - name: 'Core: Privilege Manager'
2357 description: Caps is the capabilities-based security system.
2366 url: http://www.mozilla.org/projects/security/components/index.html
2368 - 'Core::Security: CAPS'
2374 machine_name: core_privilege_manager
2376 - name: 'Core: Push Notifications'
2377 description: Push is a way for application developers to send messages to their
2388 - 'Core::DOM: Push Notifications'
2392 machine_name: core_push_notifications
2394 - name: 'Core: Sandboxing (Linux)'
2395 description: Sandboxing for the Linux platform
2397 - security/sandbox/linux/**/*
2400 url: https://wiki.mozilla.org/Security/Sandbox
2402 - 'Core::Security: Process Sandboxing'
2407 machine_name: core_sandboxing_linux
2409 - name: 'Core: Sandboxing (OSX)'
2410 description: Sandboxing for the OSX platform
2412 - security/sandbox/mac/**/*
2415 url: https://wiki.mozilla.org/Security/Sandbox
2417 - 'Core::Security: Process Sandboxing'
2421 machine_name: core_sandboxing_osx
2423 - name: 'Core: Sandboxing (Windows)'
2424 description: Sandboxing for the Windows platform
2426 - security/sandbox/win/**/*
2436 url: https://wiki.mozilla.org/Security/Sandbox
2438 - 'Core::Security: Process Sandboxing'
2443 machine_name: core_sandboxing_windows
2445 - name: 'Core: security'
2446 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2459 group: dev-tech-crypto
2460 url: :ref:`Network Security Services (NSS)`
2465 - 'Core::Security: S/MIME'
2478 machine_name: core_security
2480 - name: 'Core: Security - Mozilla PSM Glue'
2481 description: Personal Security Manager
2483 - security/manager/**/*
2486 - Kai Engert (2001-2012)
2487 group: dev-tech-crypto
2489 - 'Core::Security: PSM'
2498 machine_name: core_security_mozilla_psm_glue
2500 - machine_name: core_security_rlbox
2501 name: Security - RLBox
2502 description: Sandboxing using WASM/RLBox libraries.
2506 - third_party/rlbox_wasm2c_sandbox
2516 - 'Core::Security: RLBox'
2517 - name: 'Core: Static analysis & rewriting for C++'
2518 description: Tools for checking C++ code looking for problems at compile time,
2519 plus tools for automated rewriting of C++ code.
2521 - build/clang-plugin/**/*
2522 - tools/rewriting/**/*
2523 # TODO among other out of tree tools
2526 - Birunthan Mohanathas
2530 - Core::Rewriting & Analysis
2537 machine_name: core_static_analysis_rewriting_for_c
2539 - name: 'Core: storage'
2540 description: Storage APIs with a SQLite backend
2542 - third_party/sqlite3/**/*
2546 url: http://developer.mozilla.org/en/docs/Storage
2548 - Toolkit::Storage, Core::SQL
2556 machine_name: core_storage
2558 - name: 'Core: String'
2563 group: dev-tech-xpcom
2564 url: :ref:`String Guide`
2571 machine_name: core_string
2573 - name: 'Core: Style System'
2574 description: CSS style sheet handling; style data computation
2585 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2587 - Core::CSS Parsing and Computation
2593 machine_name: core_style_system
2596 description: Scalable Vector Graphics
2603 url: https://developer.mozilla.org/docs/Web/SVG
2613 machine_name: core_svg
2615 - name: 'Core: UA String'
2616 description: User Agent String
2618 - netwerk/protocol/http/**/*
2621 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2623 - 'Core::Networking: HTTP'
2629 machine_name: core_ua_string
2631 - name: 'Core: View System'
2632 description: The View Manager is responsible for handling "heavyweight" rendering
2633 (some clipping, compositing) and event handling tasks.
2641 - 'Core::Layout: View Rendering'
2647 machine_name: core_view_system
2649 - name: 'Core: Web Audio'
2650 description: Support for the W3C Web Audio API specification.
2652 - dom/media/webaudio/**/*
2657 url: https://wiki.mozilla.org/Web_Audio_API
2665 machine_name: core_web_audio
2667 - name: 'Core: Web Painting'
2668 description: painting, display lists, and layer construction
2670 - layout/painting/**/*
2671 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2674 url: :ref:`Layout & CSS`
2676 - 'Core::Layout: Web Painting'
2687 machine_name: core_web_painting
2689 - name: 'Core: Web Workers'
2702 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2704 - 'Core::DOM: Workers'
2710 machine_name: core_web_workers
2712 - name: 'Core: WebGPU (Graphics submodule)'
2713 description: WebGPU implementation
2718 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2720 - Core::Graphics::WebGPU
2726 machine_name: core_webgpu_graphics_submodule
2728 - name: 'Core: WebRTC'
2729 description: WebRTC is responsible for realtime audio and video communication,
2730 as well as related issues like low-level camera and microphone access
2733 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2738 url: https://wiki.mozilla.org/Media/webrtc
2741 - Core::WebRTC Networking
2748 machine_name: core_webrtc
2750 - name: 'Core: WebVR'
2751 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2752 including API, devices, graphics and integration
2758 - Vladimir Vukicevic
2761 url: https://mozvr.com/
2770 - name: 'Core: WebRTC Media'
2771 description: Submodule of WebRTC responsible for access to media input devices
2772 (microphones, cameras, screen capture), as well as realtime audiovisual
2773 codecs and packetization.
2776 - dom/media/webrtc/**/*
2777 - dom/media/systemservices/**/*
2783 url: https://wiki.mozilla.org/Media/webrtc
2785 - Core::WebRTC (Audio/Video)
2792 machine_name: core_webrtc_media
2794 - name: 'Core: WebRTC Signaling'
2795 description: Submodule of WebRTC responsible for implementation of PeerConnection
2796 API, WebRTC identity, and SDP/JSEP handling
2798 - media/webrtc/signaling/**/*
2803 url: https://wiki.mozilla.org/Media/webrtc
2805 - Core::WebRTC (Signaling)
2813 machine_name: core_webrtc_signaling
2814 machine_name: core_webvr
2816 - name: 'Core: Widget'
2817 description: Top level Widget
2822 - Vladimir Vukicevic
2829 - Core::Drag and Drop
2831 - 'Core::Printing: Setup'
2834 machine_name: core_widget
2836 - name: 'Core: Widget - Android'
2837 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2842 machine_name: core_widget_android
2844 - name: 'Core: Widget - GTK'
2845 description: GTK widget support
2852 url: http://www.mozilla.org/ports/gtk/
2854 - 'Core::Widget: Gtk'
2859 machine_name: core_widget_gtk
2861 - name: 'Core: Widget - Headless'
2862 description: Headless widget support
2864 - widget/headless/**/*
2873 machine_name: core_widget_headless
2875 - name: 'Core: Widget - macOS'
2876 description: ' macOS widget support'
2889 - 'Core::Widget: Cocoa'
2895 machine_name: core_widget_macos
2897 - name: 'Core: Widget - Windows'
2898 description: Windows widget support
2900 - widget/windows/**/*
2906 - Vladimir Vukicevic
2909 - Christian Biesinger
2911 - Josh 'timeless' Soref
2918 - 'Core::Widget: Win32'
2924 machine_name: core_widget_windows
2927 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2928 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2929 that are not covered by more specific projects.
2945 machine_name: core_xml
2947 - name: 'Core: XPApps'
2948 description: Cross-Platform Applications, mostly Navigator front end and application
2953 group: dev-apps-seamonkey
2957 - Josh 'timeless' Soref
2960 machine_name: core_xpapps
2962 - name: 'Core: XPCOM'
2963 description: The cross-platform object model and core data structures.
2969 - xpcom/components/**/*
2973 - xpcom/reflect/**/*
2977 - xpcom/threads/**/*
2978 - xpcom/windbgdlg/**/*
2999 machine_name: core_xpcom
3001 - name: 'Core: XPConnect'
3002 description: Deep Magic
3021 machine_name: core_xpconnect
3023 - name: 'Core: XPIDL'
3024 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3025 runtime type description files from .idl interface description files.
3027 - xpcom/idl-parser/**/*
3034 - Josh 'timeless' Soref
3035 group: dev-tech-xpcom
3041 machine_name: core_xpidl
3043 - name: 'Core: XSLT Processor'
3044 description: XSLT transformations processor
3052 group: dev-tech-xslt
3053 url: https://developer.mozilla.org/docs/Web/XSLT
3059 machine_name: core_xslt_processor
3061 - name: Desktop Firefox
3062 description: Standalone Web Browser.
3075 - Tim Guan-tin Chien
3105 - name: Add-ons Manager
3106 description: Extension management back-end.
3108 - toolkit/mozapps/extensions/**/*
3122 machine_name: addons_manager
3124 - name: Add-ons Manager UI
3125 description: about:addons.
3127 - toolkit/mozapps/extensions/content/**/*
3140 machine_name: addons_manager_ui
3142 - name: Application Update
3143 description: The application update services.
3145 - toolkit/mozapps/update/**/*
3152 machine_name: application_update
3154 - name: Bookmarks & History
3155 description: The bookmarks and history services (Places).
3157 - browser/components/places/**/*
3158 - toolkit/components/places/**/*
3173 machine_name: bookmarks_history
3175 - name: Desktop Theme
3176 description: The style rules used in the desktop UI.
3178 - browser/themes/**/*
3179 - toolkit/themes/**/*
3192 machine_name: desktop_theme
3195 description: The main browser UI except where covered by more specific submodules.
3197 - browser/base/content/**/*
3204 machine_name: desktop_ui
3206 - name: Download Manager
3207 description: The downloads UI and service.
3209 - browser/components/downloads/**/*
3210 - toolkit/mozapps/downloads/**/*
3211 - uriloader/exthandler/**/*
3221 machine_name: download_manager
3223 - name: Enterprise Policies
3224 description: System policies for controlling Firefox.
3226 - browser/components/enterprisepolicies/**/*
3231 machine_name: enterprise_policies
3233 - name: Experiments/Rollouts
3234 description: Desktop clients for our experiments and off-train deployments
3237 - toolkit/components/normandy/**/*
3238 - toolkit/components/nimbus/**/*
3244 - Firefox::Nimbus Desktop Client
3245 url: https://experimenter.info/
3251 machine_name: normandy
3253 - machine_name: firefox_view
3255 description: The Firefox View page and its modules.
3257 - browser/components/firefoxview/**/*
3265 - name: Form Autofill
3266 description: Form detection and autocomplete.
3268 - browser/extensions/formautofill/**/*
3269 - toolkit/components/satchel/**/*
3272 - Matthew Noorenberghe
3278 machine_name: form_autofill
3280 - name: In-product Messaging
3281 description: The system for delivering in-product messaging.
3283 - toolkit/components/messaging-system/**/*
3286 - Firefox::Messaging System
3293 machine_name: inproduct_messaging
3295 - name: Launcher Process
3296 description: Windows process for bootstrapping the browser process.
3298 - browser/app/winlauncher/**/*
3304 - Firefox::Launcher Process
3309 machine_name: launcher_process
3311 - machine_name: localization
3313 description: Tooling to enable translation and facilitate localization.
3321 - name: New Tab Page
3322 description: The new tab/home page.
3324 - browser/components/newtab/**/*
3327 - Firefox::New Tab Page
3334 machine_name: new_tab_page
3337 description: The onboarding experience including UI tours.
3339 - browser/components/uitour/**/*
3347 machine_name: onboarding
3349 - name: Password Manager
3350 description: Managing, saving and filling logins.
3352 - toolkit/components/passwordmgr/**/*
3353 - browser/components/aboutlogins/**/*
3356 - Matthew Noorenberghe
3360 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3362 - Toolkit::Password Manager
3363 - 'Toolkit::Password Manager: Site'
3365 - Firefox::about:logins
3373 machine_name: password_manager
3375 - machine_name: firefox_pip
3376 name: Picture-in-Picture
3377 description: A component that allows video elements to be pulled out into
3378 an always-on-top window.
3380 - toolkit/components/pictureinpicture
3381 - browser/extensions/pictureinpicture
3391 - name: Profile Migration
3392 description: Migrating data from other browsers.
3394 - browser/components/migration/**/*
3402 machine_name: profile_migration
3405 description: Code relating to Screenshots functionality
3407 - browser/extensions/screenshots/**/*
3408 - browser/components/screenshots/**/*
3416 - Firefox::Screenshots
3422 machine_name: screenshots
3424 - name: Search and Address Bar
3425 description: The search service, address bar and address bar autocomplete.
3427 - browser/components/search/**/*
3428 - browser/components/urlbar/**/*
3429 - toolkit/components/search/**/*
3432 - Firefox::Address Bar
3444 machine_name: search_and_address_bar
3446 - name: Security and Privacy UI
3447 description: The front-end to our security and privacy features, including
3448 Protections UI, Site Identity, Site Permissions and Certificate Errors
3450 - browser/components/protections/**/*
3451 - browser/components/controlcenter/**/*
3455 - Nihanth Subramanya
3460 - Firefox::Protections UI
3461 - Firefox::Site Identity
3462 - Firefox::Site Permissions
3467 machine_name: security_and_privacy_ui
3469 - name: Session Restore
3470 description: Restoring a user's session after starting Firefox.
3472 - browser/components/sessionstore/**/*
3473 - toolkit/components/sessionstore/**/*
3481 - Firefox::Session Restore
3487 machine_name: session_restore
3490 description: The front-end settings user interface.
3492 - browser/components/preferences/**/*
3493 - browser/themes/*/preferences
3494 - toolkit/mozapps/preferences
3505 machine_name: settings_ui
3507 - name: Tabbed Browser
3508 description: The UI component controlling browser tabs.
3510 # TODO double check that this works as expected
3511 - browser/base/content/tabbrowser*
3512 - browser/modules/AsyncTabSwitcher.jsm
3515 - Firefox::Tabbed Browser
3523 machine_name: tabbed_browser
3525 - name: Windows Installer
3526 description: The installer for Windows.
3528 - browser/installer/**/*
3529 - toolkit/mozapps/installer/**/*
3532 - Firefox::Installer
3538 machine_name: windows_installer
3539 machine_name: desktop_firefox
3541 - machine_name: devtools
3543 description: Mozilla Developer Tools
3569 - Steve Fink (heapsnapshot code)
3579 - Panagiotis Astithas
3597 url: http://firefox-dev.tools/
3600 - machine_name: javascript_usage
3601 name: JavaScript usage, tools, and style
3602 description: Aspects of JavaScript use such as language feature usage, tooling
3603 such as lint configurations, formatting and naming style.
3605 - .eslintrc-test-paths.js
3606 - '**/.eslintignore'
3608 - tools/lint/eslint/**/*
3625 - machine_name: mozharness
3627 description: Configuration-driven script harness.
3629 - testing/mozharness/**/*
3642 - 'Release Engineering :: Applications: MozharnessCore'
3643 - machine_name: python_usage
3644 name: Python usage, tools, and style
3645 description: Aspects of Python use such as tooling, formatting and naming style
3647 - tools/lint/python/**/*
3657 - 'Developer Infrastructure :: Lint and Formatting'
3659 - machine_name: remote_protocol
3660 name: Remote Protocol
3661 description: Low-level remote protocol exposing interfaces for inspecting state
3662 and controlling execution of web documents, instrumenting various subsystems
3663 in the browser, simulating user interaction for automation purposes, and for
3664 subscribing to updates from the aforementioned.
3670 url: https://firefox-source-docs.mozilla.org/remote/
3679 - machine_name: remote_protocol_agent
3681 description: Underlying transport layer and server to allow remoting of Firefox
3682 for automation and debugging.
3687 - remote/marionette/*
3688 - remote/webdriver-bidi/*
3693 - Maja Frydrychowicz
3697 - 'Remote Protocol :: Agent'
3705 - machine_name: remote_protocol_cdp
3707 description: The core implementation for CDP support. Please file domain specific
3708 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3715 - Maja Frydrychowicz
3719 - 'Remote Protocol :: CDP'
3727 - machine_name: remote_protocol_marionette
3729 description: Marionette is a remote protocol that lets out-of-process programs
3730 communicate with, instrument, and control Gecko-based browsers. Combined
3731 with geckodriver, this forms our WebDriver classic implementation.
3733 - remote/marionette/*
3738 - Maja Frydrychowicz
3741 - 'Remote Protocol :: Marionette'
3742 group: dev-webdriver
3750 - machine_name: remote_protocol_webdriver_bidi
3751 name: WebDriver BiDi
3752 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3754 - remote/webdriver-bidi/*
3757 - 'Remote Protocol :: WebDriver BiDi'
3758 group: dev-webdriver
3766 - machine_name: sync
3768 description: Firefox Sync client
3770 - services/sync/**/*
3783 url: https://wiki.mozilla.org/Services/Process/Code_Review
3787 - machine_name: testing_firefox_ui
3789 description: Firefox UI test framework.
3791 - testing/firefox-ui/**/*
3794 - Maja Frydrychowicz
3796 - 'Testing :: Firefox UI'
3804 - machine_name: testing_geckodriver
3806 description: Proxy for using W3C WebDriver-compatible clients to interact with
3807 Gecko-based browsers.
3809 - testing/geckodriver/**/*
3817 - 'Testing :: geckodriver'
3818 group: dev-webdriver
3820 - machine_name: testing_gtest
3822 description: GTest test harness.
3824 - testing/gtest/**/*
3831 - 'Testing :: GTest'
3833 - machine_name: testing_marionette_client_harness
3834 name: Marionette Client & Harness
3835 description: Python client and harness for the Marionette remote protocol implementation.
3837 - testing/marionette/**/*
3842 - Maja Frydrychowicz
3845 - 'Testing :: Marionette Client & Harness'
3853 - machine_name: testing_mochitest
3855 description: Mochitest test framework
3857 - testing/mochitest/**/*
3866 - 'Testing :: Mochitest'
3867 - machine_name: testing_mozbase
3869 description: Base modules used for implementing test components.
3883 - 'Testing :: Mozbase'
3884 - 'Testing :: Mozbase Rust'
3885 - machine_name: testing_performance_testing
3886 name: Performance Testing
3888 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3889 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3890 the owners/peers of the various components (linked below).
3892 - testing/raptor/**/*
3893 - testing/talos/**/*
3894 - python/mozperftest/**/*
3896 - tools/lint/perfdocs/**/*
3897 - testing/perfdocs/**/*
3898 - testing/performance/**/*
3899 - testing/condprofile/**/*
3900 - tools/browsertime/**/*
3901 - tools/tryselect/selectors/perf.py
3912 - 'Testing :: Raptor'
3913 - 'Testing :: Talos'
3915 - 'Testing :: Performance'
3916 - 'Testing :: mozperftest'
3917 - 'Testing :: Condprofile'
3918 url: :ref:`Performance Testing`
3919 - machine_name: testing_reftest
3920 name: Reftest (+ jsreftest + crashtest)
3921 description: Reftest test framework
3923 - layout/tools/reftest/**/*
3932 - 'Testing :: Reftest'
3933 - machine_name: testing_tryselect
3935 description: Frontend for selecting jobs on the try server.
3937 - tools/tryselect/**/*
3945 - 'Developer Infrastructure :: Try'
3946 - machine_name: testing_web_platform_tests_infrastructure
3947 name: web-platform-tests infrastructure
3948 description: Infrastructure for running the cross-browser web-platform-tests
3950 - testing/web-platform/**/*
3951 - testing/web-platform/tests/tools/**/*
3953 - testing/web-platform/tests/**/*
3954 - testing/web-platform/meta/**/*
3955 - testing/web-platform/mozilla/**/*
3961 - 'Testing :: web-platform-tests'
3962 - machine_name: testing_xpcshell
3964 description: XPCShell test harness.
3966 - testing/xpcshell/**/*
3974 - Testing::XPCShell Harness
3976 description: Components shared between desktop and mobile browsers.
3993 - name: Application Startup
3994 description: The profile system and startup process before the front-end launches.
3996 - toolkit/profile/**/*
3997 - toolkit/components/remote/**/*
4004 machine_name: application_startup
4008 The core infrastructure in the Firefox client to send back telemetry
4009 data. Includes the common mechanisms to record, view and submit data: Legacy
4010 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4011 does ''not'' include responsibility for every piece of submitted Telemetry
4012 data. Each team/module is responsible for their own measurements (histograms,
4013 scalars, other ping submissions, etc.).
4015 - toolkit/components/glean/**/*
4016 - toolkit/components/telemetry/**/*
4017 - toolkit/content/aboutTelemetry.*
4022 url: :ref:`Telemetry`
4030 machine_name: telemetry
4033 description: The base widgets used throughout the UI.
4035 - toolkit/content/widgets/**/*
4042 machine_name: ui_widgets
4044 - name: Webextensions
4045 description: Webextension APIs and integration.
4047 - browser/components/extensions/**/*
4048 - toolkit/components/extensions/**/*
4060 machine_name: webextensions
4061 machine_name: toolkit
4062 - machine_name: url_classifier
4063 name: URL Classifier
4064 description: Database and list-based classification of URL resources, such as
4065 Tracking Protection and SafeBrowsing.
4067 - toolkit/components/url-classifier/**/*
4068 - netwerk/url-classifier/**/*
4077 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4078 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4086 config: ae2d574be8b71032afd58d06fdada016eff41c68
4087 export: fbbc9a293c177a87694878b68cfedbf12670e835