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-03-14T17:18:27.541885'
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
193 name: Nazım Can Altınova
197 name: Caroline Cullen
209 name: Christoph Kerschbaumer
221 name: Daisuke Akatsuka
285 name: Dragana Damjanovic
317 name: Emilio Cobos Álvarez
321 name: Masatoshi Kimura
340 name: Nick Fitzgerald
344 name: Francesco Lodolo
360 name: Gian-Carlo Pascutto
382 name: Gabriele Svelto
386 name: Haik Aftandilian
394 name: Hiroyuki Ikezoe
402 name: Jan Honza Odvarko
426 name: Jan-Erik Rediger
446 name: Julian Descottes
474 name: Jan-Ivar Bruaroey
529 name: Jean-Yves Avenard
553 name: Kimberly Sereduck
554 nick: kimberlythegeek
581 name: Dzmitry Malyshau
593 name: Lougenia Bailey
609 name: Marco Castelluccio
625 name: Masayuki Nakano
634 nick: MatsPalmgren_bugz
645 name: Andrew McCreight
680 name: Morgan Reschenberg
720 name: Nicolas Chevobbe
732 name: Niklas Baumgardner
744 name: Alexandre Poirot
764 name: Andreas Pehrson
772 name: Peter Van der Beken
812 name: Alexandra Borovova
836 name: Shravan Narayan
852 name: Greg Mierzwinski
868 name: Martin Stránský
875 name: Sylvestre Ledru
918 name: Toshihito Kikuchi
981 name: Tomislav Jovanovic
984 - name: mozilla-toplevel
985 description: The top level directory for the mozilla tree.
988 # TODO: verify, as this was toolkit/README
993 # - Technical Leadership Module
996 machine_name: _mozillatoplevel
998 - machine_name: code_coverage
1000 description: Tools for code coverage instrumentation, and coverage data parsing
1003 - tools/code-coverage/**/*
1004 - python/mozbuild/mozbuild/codecoverage/**/*
1005 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1014 - 'Testing :: Code Coverage'
1015 - name: 'Core: Accessibility'
1016 description: Support for platform accessibility APIs. Accessibility APIs are used
1017 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1018 software, which need information about document content and UI controls, as
1019 well as important events like changes of focus.
1032 group: dev-accessibility
1033 url: https://developer.mozilla.org/docs/Web/Accessibility
1035 - Core::Disability Access APIs
1042 machine_name: core_accessibility
1044 - name: 'Core: Animation'
1045 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1046 API, and off-main thread animations.'
1048 - dom/animation/**/*
1049 # TODO "and animation-related and interpolation-related code
1050 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1054 - Core::DOM::Animation
1055 - Core::CSS Transitions and Animations
1063 machine_name: core_animation
1065 - name: 'Core: Anti-Tracking'
1066 description: Tracking detection and content-blocking.
1068 - toolkit/components/antitracking/**/*
1069 # several files under browser/ and netwerk/url-classifier/ **TODO**
1077 - 'Core::Privacy: Anti-Tracking'
1085 machine_name: core_antitracking
1087 - name: 'Core: APZ (Graphics submodule)'
1088 description: Asynchronous panning and zooming
1090 - gfx/layers/apz/**/*
1097 url: https://wiki.mozilla.org/Platform/GFX/APZ
1099 - Core::Panning and Zooming
1107 machine_name: core_apz_graphics_submodule
1109 - name: 'Core: Browser WebAPI'
1110 description: Web API for rendering apps, browser windows and widgets.
1112 - dom/browser-element/**/*
1123 machine_name: core_browser_webapi
1125 - name: 'Core: Build and Release Tools'
1126 description: Tools related to build and release automation and configuration of
1129 - tools/update-packaging/**/*
1130 - tools/update-verify/**/*
1134 group: release-engineering
1135 url: https://wiki.mozilla.org/ReleaseEngineering
1137 - Release Engineering::*
1143 machine_name: core_build_and_release_tools
1145 - name: 'Core: Build Config'
1146 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1151 - python/mozbuild/**/*
1152 - browser/config/mozconfigs/**/*
1170 url: :ref:`Build System`
1172 - Core::Build Config
1179 - name: 'Core: Build Config - Fennec'
1180 description: Submodule of the build config covering Fennec's build system
1185 - Core::Build Config
1189 machine_name: core_build_config_fennec
1191 - name: 'Core: Build Config - Taskgraph'
1192 description: Support for task-graph generation in decision, action, and cron
1193 tasks, including configuration of all tasks including those for CI, nightlies,
1194 and releases; as well as Docker and VM images used to execute those tasks.
1199 - Firefox Build System::Task Configuration
1215 machine_name: core_build_config_taskgraph
1216 machine_name: core_build_config
1218 - name: 'Core: Code Analysis and Debugging Tools'
1219 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1220 and other characteristics of it.
1223 - tools/leak-gauge/**/*
1224 - tools/performance/**/*
1227 group: dev-performance
1231 machine_name: core_code_analysis_and_debugging_tools
1233 - name: 'Core: Content Security'
1234 description: 'Native content-based security features enforced in the ContentSecurityManager,
1235 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1236 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1237 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1238 and top-level data: URI blocking.'
1250 - 'Core::DOM: Security'
1258 machine_name: core_content_security
1260 - name: 'Core: Cookies'
1263 - netwerk/cookie/**/*
1271 - Christian Biesinger
1276 - 'Core::Networking: Cookies'
1281 machine_name: core_cookies
1283 - name: 'Core: Crash reporting'
1284 description: Infrastructure and tools used to generate, submit and process crash
1285 reports. This includes the in-tree google-breakpad fork, the crash report generation
1286 machinery as well as the host tools used to dump symbols, analyse minidumps
1287 and generate stack traces.
1289 - toolkit/crashreporter/**/*
1290 - toolkit/components/crashes/**/*
1291 - tools/crashreporter/**/*
1292 - ipc/glue/CrashReporter*
1293 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1298 url: :ref:`Crash Reporter`
1300 - Toolkit::Crash Reporting
1306 machine_name: core_crash_reporting
1308 - machine_name: core_credentials
1309 name: 'Core: Credentials'
1310 description: API Surface for FedCM and WebAuthn
1312 - toolkit/components/credentialmanagement/**/*
1313 - browser/components/credentialmanager/**/*
1314 - dom/credentialmanagement/**/*
1326 - 'Core::DOM: Credential Management'
1327 - 'Core::DOM: Web Authentication'
1329 - name: 'Core: C++/Rust usage, tools, and style'
1330 description: Aspects of C++ use such as language feature usage, standard library
1331 versions/usage, compiler/toolchain versions, formatting and naming style, and
1332 aspects of Rust use as needs arise
1334 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1335 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1336 # - docs/code-quality/**/*
1337 # - docs/testing-rust-code/**/*
1338 # - docs/writing-rust-code/**/*
1353 machine_name: core_crust_usage_tools_and_style
1355 - name: 'Core: Cycle Collector'
1356 description: Code to break and collect objects within reference cycles
1358 - xpcom/base/nsCycleCollect*
1359 # TODO "and some support headers"
1360 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1366 - Core::Cycle Collector
1372 machine_name: core_cycle_collector
1374 - name: 'Core: DLL Services'
1375 description: Windows dynamic linker instrumentation and blocking
1377 - toolkit/xre/dllservices/**/*
1383 - Core::DLL Services
1388 machine_name: core_dll_services
1390 - name: 'Core: docshell'
1394 - uriloader/base/**/*
1400 - Christian Biesinger
1406 - Core::Document Navigation
1413 machine_name: core_docshell
1415 - name: 'Core: Document Object Model'
1419 exclude_module_paths: true
1436 url: http://developer.mozilla.org/en/docs/DOM
1439 - 'Core::DOM: CSS Object Model'
1440 - 'Core::DOM: Core & HTML'
1455 machine_name: core_document_object_model
1457 - name: 'Core: DOM File'
1458 description: DOM Blob, File and FileSystem APIs
1461 - dom/filesystem/**/*
1464 url: http://developer.mozilla.org/en/docs/DOM
1471 machine_name: core_dom_file
1473 - machine_name: core_dom_streams
1474 name: 'Core: DOM Streams'
1475 description: Streams Specification implementation
1486 url: http://developer.mozilla.org/en/docs/DOM
1489 - 'Core::DOM: Streams'
1490 - name: 'Core: Editor'
1505 machine_name: core_editor
1507 - name: 'Core: Event Handling'
1508 description: DOM Events and Event Handling
1511 # TODO "and event handling related code elsewhere"
1516 url: http://developer.mozilla.org/en/docs/DOM
1518 - 'Core::DOM: Events'
1519 - 'Core::DOM: UI Events & Focus Handling'
1525 machine_name: core_event_handling
1527 - machine_name: core_firefox_source_documentation
1528 name: 'Core: Firefox Source Documentation'
1529 description: The infrastructure platform used to generate Firefox's source documentation,
1530 excluding editorial control over the content.
1533 - tools/moztreedocs/
1540 - Developer Infrastructure::Source Documentation
1541 url: https://firefox-source-docs.mozilla.org/
1542 - name: 'Core: Gecko Profiler'
1543 description: Gecko's built-in profiler
1545 - tools/profiler/**/*
1546 - mozglue/baseprofiler/**/*
1551 - Shu-yu Guo (JS integration)
1552 - Thinker Lee (TaskTracer)
1553 - Cervantes Yu (TaskTracer)
1554 - Nicholas Nethercote
1560 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1562 - Core::Gecko Profiler
1569 machine_name: core_gecko_profiler
1571 - name: 'Core: GeckoView'
1572 description: Framework for embedding Gecko into Android applications
1574 - mobile/android/**/*
1575 - widget/android/**/*
1586 url: https://wiki.mozilla.org/Mobile/GeckoView
1588 - GeckoView::General
1593 machine_name: core_geckoview
1595 - name: 'Core: Global Key Bindings'
1596 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1597 and the like, as those are part of i18n.
1600 # TODO "and platform specific directories under it"
1602 group: dev-accessibility
1603 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1605 - 'Core::Keyboard: Navigation'
1610 machine_name: core_global_key_bindings
1612 - name: 'Core: Graphics'
1613 description: Mozilla graphics API
1621 - Benoit Girard(Compositor, Performance)
1623 - George Wright(Canvas2D)
1627 - John Daggett(text/fonts)
1628 - Benoit Jacob(gfx/gl)
1630 - Vladimir Vukicevic
1631 - James Willcox(Android)
1634 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1635 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1638 - 'Core::Graphics: Layers'
1639 - 'Core::Graphics: Text'
1640 - 'Core::Graphics: WebRender'
1641 - 'Core::GFX: Color Management'
1642 - 'Core::Canvas: 2D'
1643 - 'Core::Canvas: WebGL'
1655 machine_name: core_graphics
1658 description: Hardware Abstraction Layer
1664 - Core::Hardware Abstraction Layer (HAL)
1668 machine_name: core_hal
1670 - name: 'Core: HTML Parser'
1671 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1672 to the HTML specification, and is mostly translated automatically from Java
1678 url: http://about.validator.nu/
1680 - 'Core::HTML: Parser'
1685 machine_name: core_html_parser
1687 - name: 'Core: I18N Library'
1696 url: :ref:`Internationalization`
1698 - Core::Internationalization
1706 machine_name: core_i18n_library
1708 - name: 'Core: ImageLib'
1711 - media/libjpeg/**/*
1728 machine_name: core_imagelib
1730 - name: 'Core: IndexedDB'
1733 - dom/indexedDB/**/*
1741 url: https://developer.mozilla.org/en/IndexedDB
1743 - 'Core::DOM: IndexedDB'
1750 machine_name: core_indexeddb
1753 description: Native message-passing between threads and processes
1780 machine_name: core_ipc
1782 - name: 'Core: JavaScript'
1783 description: JavaScript engine (SpiderMonkey)
1807 - Nicholas Nethercote
1812 url: https://spidermonkey.dev/
1814 - Core::JavaScript Engine
1815 - 'Core::JavaScript: GC'
1816 - 'Core::JavaScript: Internationalization API'
1817 - 'Core::JavaScript: Standard Library'
1818 - 'Core::JavaScript: WebAssembly'
1840 machine_name: core_javascript
1842 - name: 'Core: JavaScript JIT'
1843 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1851 url: https://spidermonkey.dev/
1853 - 'Core::JavaScript Engine: JIT'
1869 machine_name: core_javascript_jit
1871 - name: 'Core: js-tests'
1872 description: JavaScript test suite
1876 group: dev-tech-js-engine
1877 url: http://www.mozilla.org/js/tests/library.html
1881 machine_name: core_jstests
1883 - name: 'Core: Layout Engine'
1884 description: rendering tree construction, layout (reflow), etc.
1890 - layout/generic/**/*
1891 - layout/printing/**/*
1892 - layout/tables/**/*
1901 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1904 - 'Core::Layout: Block and Inline'
1905 - 'Core::Layout: Columns'
1906 - 'Core::Layout: Flexbox'
1907 - 'Core::Layout: Floats'
1908 - 'Core::Layout: Form Controls'
1909 - 'Core::Layout: Generated Content, Lists, and Counters'
1910 - 'Core::Layout: Grid'
1911 - 'Core::Layout: Images, Video, and HTML Frames'
1912 - 'Core::Layout: Positioned'
1913 - 'Core::Layout: Ruby'
1914 - 'Core::Layout: Scrolling and Overflow'
1915 - 'Core::Layout: Tables'
1916 - 'Core::Layout: Text and Fonts'
1917 - Core::Print Preview
1918 - 'Core::Printing: Output'
1930 machine_name: core_layout_engine
1932 - name: 'Core: Legacy HTML Parser'
1935 - parser/htmlparser/**/*
1939 url: http://www.mozilla.org/newlayout/doc/parser.html
1941 - 'Core::HTML: Parser'
1948 machine_name: core_legacy_html_parser
1950 - name: 'Core: libjar'
1951 description: The JAR handling code (protocol handler, stream implementation, and
1952 zipreader/zipwriter).
1954 - modules/libjar/**/*
1964 - 'Core::Networking: JAR'
1970 machine_name: core_libjar
1972 - name: 'Core: MathML'
1973 description: MathML is a low-level specification for describing mathematics which
1974 provides a foundation for the inclusion of mathematical expressions in Web pages.
1976 - layout/mathml/**/*
1978 group: dev-tech-mathml
1979 url: https://developer.mozilla.org/docs/Web/MathML
1986 machine_name: core_mathml
1988 - name: 'Core: Media Playback'
1989 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
1990 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
1993 - media/gmp-clearkey/**/*
1994 - media/libcubeb/**/*
1995 - media/libnestegg/**/*
1997 - media/libopus/**/*
1998 - media/libtheora/**/*
1999 - media/libtremor/**/*
2000 - media/libvorbis/**/*
2002 - dom/media/platforms/omx/**/*
2003 - dom/media/gmp/rlz/**/*
2018 machine_name: core_media_playback
2020 - name: 'Core: Media Transport'
2021 description: Pluggable transport for real-time media
2023 - dom/media/webrtc/transport/**/*
2027 - Core::WebRTC::Networking
2034 machine_name: core_media_transport
2036 - name: 'Core: Memory Allocator'
2037 description: Most things related to memory allocation in Gecko, including jemalloc,
2038 replace-malloc, DMD (dark matter detector), logalloc, etc.
2044 - Nicholas Nethercote
2052 machine_name: core_memory_allocator
2054 - name: 'Core: mfbt'
2055 description: mfbt is a collection of headers, macros, data structures, methods,
2056 and other functionality available for use and reuse throughout all Mozilla code
2057 (including SpiderMonkey and Gecko more broadly).
2069 machine_name: core_mfbt
2071 - name: 'Core: Moz2D (Graphics submodule)'
2072 description: Platform independent 2D graphics API
2077 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2085 machine_name: core_moz2d_graphics_submodule
2087 - name: 'Core: Mozglue'
2088 description: Glue library containing various low-level functionality, including
2089 a dynamic linker for Android, a DLL block list for Windows, etc.
2097 - Kartikaya Gupta (mozglue/android)
2102 machine_name: core_mozglue
2104 - name: 'Core: MSCOM'
2105 description: Integration with Microsoft Distributed COM
2115 - 'Core::IPC: MSCOM'
2118 machine_name: core_mscom
2120 - name: 'Core: Necko'
2121 description: The Mozilla Networking Library
2125 - netwerk/build/**/*
2126 - netwerk/cache/**/*
2128 - netwerk/locales/**/*
2130 - netwerk/protocol/**/*
2131 - netwerk/socket/**/*
2132 - netwerk/streamconv/**/*
2133 - netwerk/system/**/*
2138 - dom/websocket/**/*
2139 - uriloader/prefetch/**/*
2140 - uriloader/preload/**/*
2143 - Dragana Damjanovic
2145 - Christian Biesinger
2156 group: dev-tech-network
2157 url: :ref:`Networking`
2160 - 'Core::Networking: Cache'
2161 - 'Core::Networking: Cookies'
2162 - 'Core::Networking: FTP'
2163 - 'Core::Networking: File'
2164 - 'Core::Networking: HTTP'
2165 - 'Core::Networking: JAR'
2166 - 'Core::Networking: Websockets'
2167 - 'Core::DOM: Networking'
2173 machine_name: core_necko
2175 - name: 'Core: NodeJS usage, tools, and style'
2176 description: Advises on the use of NodeJS and npm packages at build and runtime.
2177 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2178 teams to maintain automated license and security audits of npm packages. Works
2179 with the security team and relevant developers to respond to vulnerabilities
2180 in NodeJS and vendored npm packages.
2185 # TODO: and others as appropriate
2189 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2198 machine_name: core_nodejs_usage_tools_and_style
2200 - name: 'Core: NSPR'
2201 description: Netscape Portable Runtime
2207 group: dev-tech-nspr
2215 machine_name: core_nspr
2218 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2221 - toolkit/components/pdfjs/**/*
2229 url: https://github.com/mozilla/pdf.js
2236 machine_name: core_pdf
2238 - name: 'Core: Permissions'
2241 - extensions/permissions/**/*
2250 - Christian Biesinger
2255 - 'Core :: Permission Manager'
2262 machine_name: core_permissions
2264 - name: 'Core: Plugins'
2265 description: ' NPAPI Plugin support.'
2277 url: https://wiki.mozilla.org/Plugins
2282 machine_name: core_plugins
2284 - name: 'Core: Preferences'
2285 description: Preference library
2287 - modules/libpref/**/*
2290 - Nicholas Nethercote
2296 - 'Core::Preferences: Backend'
2302 machine_name: core_preferences
2304 - name: 'Core: Private Browsing'
2305 description: Implementation of the Private Browsing mode, and the integration
2306 of other modules with Private Browsing APIs.
2309 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2310 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2318 url: https://wiki.mozilla.org/Private_Browsing
2320 - Firefox::Private Browsing
2325 machine_name: core_private_browsing
2327 - name: 'Core: Privilege Manager'
2328 description: Caps is the capabilities-based security system.
2337 url: http://www.mozilla.org/projects/security/components/index.html
2339 - 'Core::Security: CAPS'
2345 machine_name: core_privilege_manager
2347 - name: 'Core: Push Notifications'
2348 description: Push is a way for application developers to send messages to their
2359 - 'Core::DOM: Push Notifications'
2363 machine_name: core_push_notifications
2365 - name: 'Core: Sandboxing (Linux)'
2366 description: Sandboxing for the Linux platform
2368 - security/sandbox/linux/**/*
2371 url: https://wiki.mozilla.org/Security/Sandbox
2373 - 'Core::Security: Process Sandboxing'
2378 machine_name: core_sandboxing_linux
2380 - name: 'Core: Sandboxing (OSX)'
2381 description: Sandboxing for the OSX platform
2383 - security/sandbox/mac/**/*
2386 url: https://wiki.mozilla.org/Security/Sandbox
2388 - 'Core::Security: Process Sandboxing'
2392 machine_name: core_sandboxing_osx
2394 - name: 'Core: Sandboxing (Windows)'
2395 description: Sandboxing for the Windows platform
2397 - security/sandbox/win/**/*
2407 url: https://wiki.mozilla.org/Security/Sandbox
2409 - 'Core::Security: Process Sandboxing'
2414 machine_name: core_sandboxing_windows
2416 - name: 'Core: security'
2417 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2430 group: dev-tech-crypto
2431 url: :ref:`Network Security Services (NSS)`
2436 - 'Core::Security: S/MIME'
2449 machine_name: core_security
2451 - name: 'Core: Security - Mozilla PSM Glue'
2452 description: Personal Security Manager
2454 - security/manager/**/*
2457 - Kai Engert (2001-2012)
2458 group: dev-tech-crypto
2460 - 'Core::Security: PSM'
2469 machine_name: core_security_mozilla_psm_glue
2471 - machine_name: core_security_rlbox
2472 name: Security - RLBox
2473 description: Sandboxing using WASM/RLBox libraries.
2477 - third_party/rlbox_wasm2c_sandbox
2487 - 'Core::Security: RLBox'
2488 - name: 'Core: Static analysis & rewriting for C++'
2489 description: Tools for checking C++ code looking for problems at compile time,
2490 plus tools for automated rewriting of C++ code.
2492 - build/clang-plugin/**/*
2493 - tools/rewriting/**/*
2494 # TODO among other out of tree tools
2497 - Birunthan Mohanathas
2501 - Core::Rewriting & Analysis
2508 machine_name: core_static_analysis_rewriting_for_c
2510 - name: 'Core: storage'
2511 description: Storage APIs with a SQLite backend
2513 - third_party/sqlite3/**/*
2517 url: http://developer.mozilla.org/en/docs/Storage
2519 - Toolkit::Storage, Core::SQL
2527 machine_name: core_storage
2529 - name: 'Core: String'
2534 group: dev-tech-xpcom
2535 url: :ref:`String Guide`
2542 machine_name: core_string
2544 - name: 'Core: Style System'
2545 description: CSS style sheet handling; style data computation
2556 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2558 - Core::CSS Parsing and Computation
2564 machine_name: core_style_system
2567 description: Scalable Vector Graphics
2574 url: https://developer.mozilla.org/docs/Web/SVG
2584 machine_name: core_svg
2586 - name: 'Core: UA String'
2587 description: User Agent String
2589 - netwerk/protocol/http/**/*
2592 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2594 - 'Core::Networking: HTTP'
2600 machine_name: core_ua_string
2602 - name: 'Core: View System'
2603 description: The View Manager is responsible for handling "heavyweight" rendering
2604 (some clipping, compositing) and event handling tasks.
2612 - 'Core::Layout: View Rendering'
2618 machine_name: core_view_system
2620 - name: 'Core: Web Audio'
2621 description: Support for the W3C Web Audio API specification.
2623 - dom/media/webaudio/**/*
2628 url: https://wiki.mozilla.org/Web_Audio_API
2636 machine_name: core_web_audio
2638 - name: 'Core: Web Painting'
2639 description: painting, display lists, and layer construction
2641 - layout/painting/**/*
2642 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2645 url: :ref:`Layout & CSS`
2647 - 'Core::Layout: Web Painting'
2658 machine_name: core_web_painting
2660 - name: 'Core: Web Workers'
2673 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2675 - 'Core::DOM: Workers'
2681 machine_name: core_web_workers
2683 - name: 'Core: WebGPU (Graphics submodule)'
2684 description: WebGPU implementation
2689 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2691 - Core::Graphics::WebGPU
2697 machine_name: core_webgpu_graphics_submodule
2699 - name: 'Core: WebRTC'
2700 description: WebRTC is responsible for realtime audio and video communication,
2701 as well as related issues like low-level camera and microphone access
2704 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2709 url: https://wiki.mozilla.org/Media/webrtc
2712 - Core::WebRTC Networking
2719 machine_name: core_webrtc
2721 - name: 'Core: WebVR'
2722 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2723 including API, devices, graphics and integration
2729 - Vladimir Vukicevic
2732 url: https://mozvr.com/
2741 - name: 'Core: WebRTC Media'
2742 description: Submodule of WebRTC responsible for access to media input devices
2743 (microphones, cameras, screen capture), as well as realtime audiovisual
2744 codecs and packetization.
2747 - dom/media/webrtc/**/*
2748 - dom/media/systemservices/**/*
2754 url: https://wiki.mozilla.org/Media/webrtc
2756 - Core::WebRTC (Audio/Video)
2763 machine_name: core_webrtc_media
2765 - name: 'Core: WebRTC Signaling'
2766 description: Submodule of WebRTC responsible for implementation of PeerConnection
2767 API, WebRTC identity, and SDP/JSEP handling
2769 - media/webrtc/signaling/**/*
2774 url: https://wiki.mozilla.org/Media/webrtc
2776 - Core::WebRTC (Signaling)
2784 machine_name: core_webrtc_signaling
2785 machine_name: core_webvr
2787 - name: 'Core: Widget'
2788 description: Top level Widget
2793 - Vladimir Vukicevic
2800 - Core::Drag and Drop
2802 - 'Core::Printing: Setup'
2805 machine_name: core_widget
2807 - name: 'Core: Widget - Android'
2808 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2813 machine_name: core_widget_android
2815 - name: 'Core: Widget - GTK'
2816 description: GTK widget support
2823 url: http://www.mozilla.org/ports/gtk/
2825 - 'Core::Widget: Gtk'
2830 machine_name: core_widget_gtk
2832 - name: 'Core: Widget - Headless'
2833 description: Headless widget support
2835 - widget/headless/**/*
2844 machine_name: core_widget_headless
2846 - name: 'Core: Widget - macOS'
2847 description: ' macOS widget support'
2860 - 'Core::Widget: Cocoa'
2866 machine_name: core_widget_macos
2868 - name: 'Core: Widget - Windows'
2869 description: Windows widget support
2871 - widget/windows/**/*
2877 - Vladimir Vukicevic
2880 - Christian Biesinger
2882 - Josh 'timeless' Soref
2889 - 'Core::Widget: Win32'
2895 machine_name: core_widget_windows
2898 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2899 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2900 that are not covered by more specific projects.
2916 machine_name: core_xml
2918 - name: 'Core: XPApps'
2919 description: Cross-Platform Applications, mostly Navigator front end and application
2924 group: dev-apps-seamonkey
2928 - Josh 'timeless' Soref
2931 machine_name: core_xpapps
2933 - name: 'Core: XPCOM'
2934 description: The cross-platform object model and core data structures.
2940 - xpcom/components/**/*
2944 - xpcom/reflect/**/*
2948 - xpcom/threads/**/*
2949 - xpcom/windbgdlg/**/*
2970 machine_name: core_xpcom
2972 - name: 'Core: XPConnect'
2973 description: Deep Magic
2992 machine_name: core_xpconnect
2994 - name: 'Core: XPIDL'
2995 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
2996 runtime type description files from .idl interface description files.
2998 - xpcom/idl-parser/**/*
3005 - Josh 'timeless' Soref
3006 group: dev-tech-xpcom
3012 machine_name: core_xpidl
3014 - name: 'Core: XSLT Processor'
3015 description: XSLT transformations processor
3023 group: dev-tech-xslt
3024 url: https://developer.mozilla.org/docs/Web/XSLT
3030 machine_name: core_xslt_processor
3032 - name: Desktop Firefox
3033 description: Standalone Web Browser.
3046 - Tim Guan-tin Chien
3076 - name: Add-ons Manager
3077 description: Extension management back-end.
3079 - toolkit/mozapps/extensions/**/*
3093 machine_name: addons_manager
3095 - name: Add-ons Manager UI
3096 description: about:addons.
3098 - toolkit/mozapps/extensions/content/**/*
3111 machine_name: addons_manager_ui
3113 - name: Application Update
3114 description: The application update services.
3116 - toolkit/mozapps/update/**/*
3123 machine_name: application_update
3125 - name: Bookmarks & History
3126 description: The bookmarks and history services (Places).
3128 - browser/components/places/**/*
3129 - toolkit/components/places/**/*
3144 machine_name: bookmarks_history
3146 - name: Desktop Theme
3147 description: The style rules used in the desktop UI.
3149 - browser/themes/**/*
3150 - toolkit/themes/**/*
3163 machine_name: desktop_theme
3166 description: The main browser UI except where covered by more specific submodules.
3168 - browser/base/content/**/*
3175 machine_name: desktop_ui
3177 - name: Download Manager
3178 description: The downloads UI and service.
3180 - browser/components/downloads/**/*
3181 - toolkit/mozapps/downloads/**/*
3182 - uriloader/exthandler/**/*
3192 machine_name: download_manager
3194 - name: Enterprise Policies
3195 description: System policies for controlling Firefox.
3197 - browser/components/enterprisepolicies/**/*
3202 machine_name: enterprise_policies
3204 - name: Experiments/Rollouts
3205 description: Desktop clients for our experiments and off-train deployments
3208 - toolkit/components/normandy/**/*
3209 - toolkit/components/nimbus/**/*
3215 - Firefox::Nimbus Desktop Client
3216 url: https://experimenter.info/
3222 machine_name: normandy
3224 - machine_name: firefox_view
3226 description: The Firefox View page and its modules.
3228 - browser/components/firefoxview/**/*
3235 - name: Form Autofill
3236 description: Form detection and autocomplete.
3238 - browser/extensions/formautofill/**/*
3239 - toolkit/components/satchel/**/*
3242 - Matthew Noorenberghe
3248 machine_name: form_autofill
3250 - name: In-product Messaging
3251 description: The system for delivering in-product messaging.
3253 - toolkit/components/messaging-system/**/*
3256 - Firefox::Messaging System
3263 machine_name: inproduct_messaging
3265 - name: Launcher Process
3266 description: Windows process for bootstrapping the browser process.
3268 - browser/app/winlauncher/**/*
3274 - Firefox::Launcher Process
3279 machine_name: launcher_process
3281 - machine_name: localization
3283 description: Tooling to enable translation and facilitate localization.
3291 - name: New Tab Page
3292 description: The new tab/home page.
3294 - browser/components/newtab/**/*
3297 - Firefox::New Tab Page
3304 machine_name: new_tab_page
3307 description: The onboarding experience including UI tours.
3309 - browser/components/uitour/**/*
3317 machine_name: onboarding
3319 - name: Password Manager
3320 description: Managing, saving and filling logins.
3322 - toolkit/components/passwordmgr/**/*
3323 - browser/components/aboutlogins/**/*
3326 - Matthew Noorenberghe
3330 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3332 - Toolkit::Password Manager
3333 - 'Toolkit::Password Manager: Site'
3335 - Firefox::about:logins
3343 machine_name: password_manager
3345 - machine_name: firefox_pip
3346 name: Picture-in-Picture
3347 description: A component that allows video elements to be pulled out into
3348 an always-on-top window.
3350 - toolkit/components/pictureinpicture
3351 - browser/extensions/pictureinpicture
3361 - name: Profile Migration
3362 description: Migrating data from other browsers.
3364 - browser/components/migration/**/*
3372 machine_name: profile_migration
3375 description: Code relating to Screenshots functionality
3377 - browser/extensions/screenshots/**/*
3378 - browser/components/screenshots/**/*
3386 - Firefox::Screenshots
3392 machine_name: screenshots
3394 - name: Search and Address Bar
3395 description: The search service, address bar and address bar autocomplete.
3397 - browser/components/search/**/*
3398 - browser/components/urlbar/**/*
3399 - toolkit/components/search/**/*
3402 - Firefox::Address Bar
3414 machine_name: search_and_address_bar
3416 - name: Security and Privacy UI
3417 description: The front-end to our security and privacy features, including
3418 Protections UI, Site Identity, Site Permissions and Certificate Errors
3420 - browser/components/protections/**/*
3421 - browser/components/controlcenter/**/*
3425 - Nihanth Subramanya
3430 - Firefox::Protections UI
3431 - Firefox::Site Identity
3432 - Firefox::Site Permissions
3437 machine_name: security_and_privacy_ui
3439 - name: Session Restore
3440 description: Restoring a user's session after starting Firefox.
3442 - browser/components/sessionstore/**/*
3443 - toolkit/components/sessionstore/**/*
3451 - Firefox::Session Restore
3457 machine_name: session_restore
3460 description: The front-end settings user interface.
3462 - browser/components/preferences/**/*
3463 - browser/themes/*/preferences
3464 - toolkit/mozapps/preferences
3475 machine_name: settings_ui
3477 - name: Tabbed Browser
3478 description: The UI component controlling browser tabs.
3480 # TODO double check that this works as expected
3481 - browser/base/content/tabbrowser*
3482 - browser/modules/AsyncTabSwitcher.jsm
3485 - Firefox::Tabbed Browser
3493 machine_name: tabbed_browser
3495 - name: Windows Installer
3496 description: The installer for Windows.
3498 - browser/installer/**/*
3499 - toolkit/mozapps/installer/**/*
3502 - Firefox::Installer
3508 machine_name: windows_installer
3509 machine_name: desktop_firefox
3511 - machine_name: devtools
3513 description: Mozilla Developer Tools
3539 - Steve Fink (heapsnapshot code)
3549 - Panagiotis Astithas
3567 url: http://firefox-dev.tools/
3570 - machine_name: javascript_usage
3571 name: JavaScript usage, tools, and style
3572 description: Aspects of JavaScript use such as language feature usage, tooling
3573 such as lint configurations, formatting and naming style.
3575 - .eslintrc-test-paths.js
3576 - '**/.eslintignore'
3578 - tools/lint/eslint/**/*
3595 - machine_name: mozharness
3597 description: Configuration-driven script harness.
3599 - testing/mozharness/**/*
3612 - 'Release Engineering :: Applications: MozharnessCore'
3613 - machine_name: python_usage
3614 name: Python usage, tools, and style
3615 description: Aspects of Python use such as tooling, formatting and naming style
3617 - tools/lint/python/**/*
3627 - 'Developer Infrastructure :: Lint and Formatting'
3629 - machine_name: remote_protocol
3630 name: Remote Protocol
3631 description: Low-level remote protocol exposing interfaces for inspecting state
3632 and controlling execution of web documents, instrumenting various subsystems
3633 in the browser, simulating user interaction for automation purposes, and for
3634 subscribing to updates from the aforementioned.
3640 url: https://firefox-source-docs.mozilla.org/remote/
3649 - machine_name: remote_protocol_agent
3651 description: Underlying transport layer and server to allow remoting of Firefox
3652 for automation and debugging.
3657 - remote/marionette/*
3658 - remote/webdriver-bidi/*
3663 - Maja Frydrychowicz
3667 - 'Remote Protocol :: Agent'
3675 - machine_name: remote_protocol_cdp
3677 description: The core implementation for CDP support. Please file domain specific
3678 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3685 - Maja Frydrychowicz
3689 - 'Remote Protocol :: CDP'
3697 - machine_name: remote_protocol_marionette
3699 description: Marionette is a remote protocol that lets out-of-process programs
3700 communicate with, instrument, and control Gecko-based browsers. Combined
3701 with geckodriver, this forms our WebDriver classic implementation.
3703 - remote/marionette/*
3708 - Maja Frydrychowicz
3711 - 'Remote Protocol :: Marionette'
3712 group: dev-webdriver
3720 - machine_name: remote_protocol_webdriver_bidi
3721 name: WebDriver BiDi
3722 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3724 - remote/webdriver-bidi/*
3727 - 'Remote Protocol :: WebDriver BiDi'
3728 group: dev-webdriver
3736 - machine_name: sync
3738 description: Firefox Sync client
3740 - services/sync/**/*
3753 url: https://wiki.mozilla.org/Services/Process/Code_Review
3757 - machine_name: testing_firefox_ui
3759 description: Firefox UI test framework.
3761 - testing/firefox-ui/**/*
3764 - Maja Frydrychowicz
3766 - 'Testing :: Firefox UI'
3774 - machine_name: testing_geckodriver
3776 description: Proxy for using W3C WebDriver-compatible clients to interact with
3777 Gecko-based browsers.
3779 - testing/geckodriver/**/*
3787 - 'Testing :: geckodriver'
3788 group: dev-webdriver
3790 - machine_name: testing_gtest
3792 description: GTest test harness.
3794 - testing/gtest/**/*
3801 - 'Testing :: GTest'
3803 - machine_name: testing_marionette_client_harness
3804 name: Marionette Client & Harness
3805 description: Python client and harness for the Marionette remote protocol implementation.
3807 - testing/marionette/**/*
3812 - Maja Frydrychowicz
3815 - 'Testing :: Marionette Client & Harness'
3823 - machine_name: testing_mochitest
3825 description: Mochitest test framework
3827 - testing/mochitest/**/*
3836 - 'Testing :: Mochitest'
3837 - machine_name: testing_mozbase
3839 description: Base modules used for implementing test components.
3853 - 'Testing :: Mozbase'
3854 - 'Testing :: Mozbase Rust'
3855 - machine_name: testing_performance_testing
3856 name: Performance Testing
3858 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3859 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3860 the owners/peers of the various components (linked below).
3862 - testing/raptor/**/*
3863 - testing/talos/**/*
3864 - python/mozperftest/**/*
3866 - tools/lint/perfdocs/**/*
3867 - testing/perfdocs/**/*
3868 - testing/performance/**/*
3869 - testing/condprofile/**/*
3870 - tools/browsertime/**/*
3871 - tools/tryselect/selectors/perf.py
3882 - 'Testing :: Raptor'
3883 - 'Testing :: Talos'
3885 - 'Testing :: Performance'
3886 - 'Testing :: mozperftest'
3887 - 'Testing :: Condprofile'
3888 url: :ref:`Performance Testing`
3889 - machine_name: testing_reftest
3890 name: Reftest (+ jsreftest + crashtest)
3891 description: Reftest test framework
3893 - layout/tools/reftest/**/*
3902 - 'Testing :: Reftest'
3903 - machine_name: testing_tryselect
3905 description: Frontend for selecting jobs on the try server.
3907 - tools/tryselect/**/*
3915 - 'Developer Infrastructure :: Try'
3916 - machine_name: testing_web_platform_tests_infrastructure
3917 name: web-platform-tests infrastructure
3918 description: Infrastructure for running the cross-browser web-platform-tests
3920 - testing/web-platform/**/*
3921 - testing/web-platform/tests/tools/**/*
3923 - testing/web-platform/tests/**/*
3924 - testing/web-platform/meta/**/*
3925 - testing/web-platform/mozilla/**/*
3931 - 'Testing :: web-platform-tests'
3932 - machine_name: testing_xpcshell
3934 description: XPCShell test harness.
3936 - testing/xpcshell/**/*
3944 - Testing::XPCShell Harness
3946 description: Components shared between desktop and mobile browsers.
3963 - name: Application Startup
3964 description: The profile system and startup process before the front-end launches.
3966 - toolkit/profile/**/*
3967 - toolkit/components/remote/**/*
3974 machine_name: application_startup
3978 The core infrastructure in the Firefox client to send back telemetry
3979 data. Includes the common mechanisms to record, view and submit data: Legacy
3980 Telemetry and Glean (via Firefox on Glean (FOG)). This module
3981 does ''not'' include responsibility for every piece of submitted Telemetry
3982 data. Each team/module is responsible for their own measurements (histograms,
3983 scalars, other ping submissions, etc.).
3985 - toolkit/components/glean/**/*
3986 - toolkit/components/telemetry/**/*
3987 - toolkit/content/aboutTelemetry.*
3992 url: :ref:`Telemetry`
4000 machine_name: telemetry
4003 description: The base widgets used throughout the UI.
4005 - toolkit/content/widgets/**/*
4012 machine_name: ui_widgets
4014 - name: Webextensions
4015 description: Webextension APIs and integration.
4017 - browser/components/extensions/**/*
4018 - toolkit/components/extensions/**/*
4030 machine_name: webextensions
4031 machine_name: toolkit
4032 - machine_name: url_classifier
4033 name: URL Classifier
4034 description: Database and list-based classification of URL resources, such as
4035 Tracking Protection and SafeBrowsing.
4037 - toolkit/components/url-classifier/**/*
4038 - netwerk/url-classifier/**/*
4047 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4048 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4056 config: 97b9cdbe53ecd86c1356a2ceb45b2e11e866f9db
4057 export: d31a34cda0263c9544bf6e7c9fb369273ce2961d