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-18T13:14:57.659022'
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
757 name: Alexandre Poirot
781 name: Andreas Pehrson
789 name: Peter Van der Beken
829 name: Alexandra Borovova
857 name: Shravan Narayan
873 name: Greg Mierzwinski
889 name: Martin Stránský
896 name: Sylvestre Ledru
939 name: Toshihito Kikuchi
1006 name: Tomislav Jovanovic
1009 - name: mozilla-toplevel
1010 description: The top level directory for the mozilla tree.
1013 # TODO: verify, as this was toolkit/README
1018 # - Technical Leadership Module
1021 machine_name: _mozillatoplevel
1023 - machine_name: code_coverage
1025 description: Tools for code coverage instrumentation, and coverage data parsing
1028 - tools/code-coverage/**/*
1029 - python/mozbuild/mozbuild/codecoverage/**/*
1030 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1039 - 'Testing :: Code Coverage'
1040 - name: 'Core: Accessibility'
1041 description: Support for platform accessibility APIs. Accessibility APIs are used
1042 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1043 software, which need information about document content and UI controls, as
1044 well as important events like changes of focus.
1058 group: dev-accessibility
1059 url: https://developer.mozilla.org/docs/Web/Accessibility
1061 - Core::Disability Access APIs
1068 machine_name: core_accessibility
1070 - name: 'Core: Animation'
1071 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1072 API, and off-main thread animations.'
1074 - dom/animation/**/*
1075 # TODO "and animation-related and interpolation-related code
1076 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1080 - Core::DOM::Animation
1081 - Core::CSS Transitions and Animations
1089 machine_name: core_animation
1091 - name: 'Core: Anti-Tracking'
1092 description: Tracking detection and content-blocking.
1094 - toolkit/components/antitracking/**/*
1095 # several files under browser/ and netwerk/url-classifier/ **TODO**
1103 - 'Core::Privacy: Anti-Tracking'
1111 machine_name: core_antitracking
1113 - name: 'Core: APZ (Graphics submodule)'
1114 description: Asynchronous panning and zooming
1116 - gfx/layers/apz/**/*
1123 url: https://wiki.mozilla.org/Platform/GFX/APZ
1125 - Core::Panning and Zooming
1133 machine_name: core_apz_graphics_submodule
1135 - name: 'Core: Browser WebAPI'
1136 description: Web API for rendering apps, browser windows and widgets.
1138 - dom/browser-element/**/*
1149 machine_name: core_browser_webapi
1151 - name: 'Core: Build and Release Tools'
1152 description: Tools related to build and release automation and configuration of
1155 - tools/update-packaging/**/*
1156 - tools/update-verify/**/*
1160 group: release-engineering
1161 url: https://wiki.mozilla.org/ReleaseEngineering
1163 - Release Engineering::*
1169 machine_name: core_build_and_release_tools
1171 - name: 'Core: Build Config'
1172 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1177 - python/mozbuild/**/*
1178 - browser/config/mozconfigs/**/*
1196 url: :ref:`Build System`
1198 - Core::Build Config
1205 - name: 'Core: Build Config - Fennec'
1206 description: Submodule of the build config covering Fennec's build system
1211 - Core::Build Config
1215 machine_name: core_build_config_fennec
1217 - name: 'Core: Build Config - Taskgraph'
1218 description: Support for task-graph generation in decision, action, and cron
1219 tasks, including configuration of all tasks including those for CI, nightlies,
1220 and releases; as well as Docker and VM images used to execute those tasks.
1225 - Firefox Build System::Task Configuration
1241 machine_name: core_build_config_taskgraph
1242 machine_name: core_build_config
1244 - name: 'Core: Code Analysis and Debugging Tools'
1245 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1246 and other characteristics of it.
1249 - tools/leak-gauge/**/*
1250 - tools/performance/**/*
1253 group: dev-performance
1257 machine_name: core_code_analysis_and_debugging_tools
1259 - name: 'Core: Content Security'
1260 description: 'Native content-based security features enforced in the ContentSecurityManager,
1261 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1262 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1263 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1264 and top-level data: URI blocking.'
1276 - 'Core::DOM: Security'
1284 machine_name: core_content_security
1286 - name: 'Core: Cookies'
1289 - netwerk/cookie/**/*
1298 - Christian Biesinger
1304 - 'Core::Networking: Cookies'
1313 machine_name: core_cookies
1315 - name: 'Core: Crash reporting'
1316 description: Infrastructure and tools used to generate, submit and process crash
1317 reports. This includes the in-tree google-breakpad fork, the crash report generation
1318 machinery as well as the host tools used to dump symbols, analyse minidumps
1319 and generate stack traces.
1321 - toolkit/crashreporter/**/*
1322 - toolkit/components/crashes/**/*
1323 - tools/crashreporter/**/*
1324 - ipc/glue/CrashReporter*
1325 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1330 url: :ref:`Crash Reporter`
1332 - Toolkit::Crash Reporting
1338 machine_name: core_crash_reporting
1340 - machine_name: core_credentials
1341 name: 'Core: Credentials'
1342 description: API Surface for FedCM and WebAuthn
1344 - toolkit/components/credentialmanagement/**/*
1345 - browser/components/credentialmanager/**/*
1346 - dom/credentialmanagement/**/*
1358 - 'Core::DOM: Credential Management'
1359 - 'Core::DOM: Web Authentication'
1361 - name: 'Core: C++/Rust usage, tools, and style'
1362 description: Aspects of C++ use such as language feature usage, standard library
1363 versions/usage, compiler/toolchain versions, formatting and naming style, and
1364 aspects of Rust use as needs arise
1366 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1367 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1368 # - docs/code-quality/**/*
1369 # - docs/testing-rust-code/**/*
1370 # - docs/writing-rust-code/**/*
1385 machine_name: core_crust_usage_tools_and_style
1387 - name: 'Core: Cycle Collector'
1388 description: Code to break and collect objects within reference cycles
1390 - xpcom/base/nsCycleCollect*
1391 # TODO "and some support headers"
1392 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1398 - Core::Cycle Collector
1404 machine_name: core_cycle_collector
1406 - name: 'Core: DLL Services'
1407 description: Windows dynamic linker instrumentation and blocking
1409 - toolkit/xre/dllservices/**/*
1415 - Core::DLL Services
1420 machine_name: core_dll_services
1422 - name: 'Core: docshell'
1426 - uriloader/base/**/*
1432 - Christian Biesinger
1438 - Core::Document Navigation
1445 machine_name: core_docshell
1447 - name: 'Core: Document Object Model'
1451 exclude_module_paths: true
1468 url: http://developer.mozilla.org/en/docs/DOM
1471 - 'Core::DOM: Core & HTML'
1487 machine_name: core_document_object_model
1489 - name: 'Core: DOM File'
1490 description: DOM Blob, File and FileSystem APIs
1493 - dom/filesystem/**/*
1496 url: http://developer.mozilla.org/en/docs/DOM
1503 machine_name: core_dom_file
1505 - machine_name: core_dom_streams
1506 name: 'Core: DOM Streams'
1507 description: Streams Specification implementation
1518 url: http://developer.mozilla.org/en/docs/DOM
1521 - 'Core::DOM: Streams'
1524 - name: 'Core: Editor'
1539 machine_name: core_editor
1541 - name: 'Core: Event Handling'
1542 description: DOM Events and Event Handling
1545 # TODO "and event handling related code elsewhere"
1550 url: http://developer.mozilla.org/en/docs/DOM
1552 - 'Core::DOM: Events'
1553 - 'Core::DOM: UI Events & Focus Handling'
1559 machine_name: core_event_handling
1561 - machine_name: core_firefox_source_documentation
1562 name: 'Core: Firefox Source Documentation'
1563 description: The infrastructure platform used to generate Firefox's source documentation,
1564 excluding editorial control over the content.
1567 - tools/moztreedocs/
1574 - Developer Infrastructure::Source Documentation
1575 url: https://firefox-source-docs.mozilla.org/
1576 - name: 'Core: Gecko Profiler'
1577 description: Gecko's built-in profiler
1579 - tools/profiler/**/*
1580 - mozglue/baseprofiler/**/*
1585 - Shu-yu Guo (JS integration)
1586 - Thinker Lee (TaskTracer)
1587 - Cervantes Yu (TaskTracer)
1588 - Nicholas Nethercote
1594 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1596 - Core::Gecko Profiler
1603 machine_name: core_gecko_profiler
1605 - name: 'Core: GeckoView'
1606 description: Framework for embedding Gecko into Android applications
1608 - mobile/android/**/*
1609 - widget/android/**/*
1621 url: https://wiki.mozilla.org/Mobile/GeckoView
1623 - GeckoView::General
1631 machine_name: core_geckoview
1633 - name: 'Core: Global Key Bindings'
1634 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1635 and the like, as those are part of i18n.
1638 # TODO "and platform specific directories under it"
1640 group: dev-accessibility
1641 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1643 - 'Core::Keyboard: Navigation'
1648 machine_name: core_global_key_bindings
1650 - name: 'Core: Graphics'
1651 description: Mozilla graphics API
1659 - Benoit Girard(Compositor, Performance)
1661 - George Wright(Canvas2D)
1665 - John Daggett(text/fonts)
1666 - Benoit Jacob(gfx/gl)
1668 - Vladimir Vukicevic
1669 - James Willcox(Android)
1672 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1673 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1676 - 'Core::Graphics: Layers'
1677 - 'Core::Graphics: Text'
1678 - 'Core::Graphics: WebRender'
1679 - 'Core::GFX: Color Management'
1680 - 'Core::Canvas: 2D'
1681 - 'Core::Canvas: WebGL'
1693 machine_name: core_graphics
1696 description: Hardware Abstraction Layer
1702 - Core::Hardware Abstraction Layer (HAL)
1706 machine_name: core_hal
1708 - name: 'Core: HTML Parser'
1709 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1710 to the HTML specification, and is mostly translated automatically from Java
1716 url: http://about.validator.nu/
1718 - 'Core::HTML: Parser'
1723 machine_name: core_html_parser
1725 - name: 'Core: I18N Library'
1734 url: :ref:`Internationalization`
1736 - Core::Internationalization
1744 machine_name: core_i18n_library
1746 - name: 'Core: ImageLib'
1749 - media/libjpeg/**/*
1766 machine_name: core_imagelib
1768 - name: 'Core: IndexedDB'
1771 - dom/indexedDB/**/*
1779 url: https://developer.mozilla.org/en/IndexedDB
1781 - 'Core::DOM: IndexedDB'
1788 machine_name: core_indexeddb
1791 description: Native message-passing between threads and processes
1818 machine_name: core_ipc
1820 - name: 'Core: JavaScript'
1821 description: JavaScript engine (SpiderMonkey)
1845 - Nicholas Nethercote
1850 url: https://spidermonkey.dev/
1852 - Core::JavaScript Engine
1853 - 'Core::JavaScript: GC'
1854 - 'Core::JavaScript: Internationalization API'
1855 - 'Core::JavaScript: Standard Library'
1856 - 'Core::JavaScript: WebAssembly'
1878 machine_name: core_javascript
1880 - name: 'Core: JavaScript JIT'
1881 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1889 url: https://spidermonkey.dev/
1891 - 'Core::JavaScript Engine: JIT'
1907 machine_name: core_javascript_jit
1909 - name: 'Core: js-tests'
1910 description: JavaScript test suite
1914 group: dev-tech-js-engine
1915 url: http://www.mozilla.org/js/tests/library.html
1919 machine_name: core_jstests
1921 - name: 'Core: Layout Engine'
1922 description: rendering tree construction, layout (reflow), etc.
1928 - layout/generic/**/*
1929 - layout/printing/**/*
1930 - layout/tables/**/*
1939 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1942 - 'Core::Layout: Block and Inline'
1943 - 'Core::Layout: Columns'
1944 - 'Core::Layout: Flexbox'
1945 - 'Core::Layout: Floats'
1946 - 'Core::Layout: Form Controls'
1947 - 'Core::Layout: Generated Content, Lists, and Counters'
1948 - 'Core::Layout: Grid'
1949 - 'Core::Layout: Images, Video, and HTML Frames'
1950 - 'Core::Layout: Positioned'
1951 - 'Core::Layout: Ruby'
1952 - 'Core::Layout: Scrolling and Overflow'
1953 - 'Core::Layout: Tables'
1954 - 'Core::Layout: Text and Fonts'
1955 - Core::Print Preview
1956 - 'Core::Printing: Output'
1968 machine_name: core_layout_engine
1970 - name: 'Core: Legacy HTML Parser'
1973 - parser/htmlparser/**/*
1977 url: http://www.mozilla.org/newlayout/doc/parser.html
1979 - 'Core::HTML: Parser'
1986 machine_name: core_legacy_html_parser
1988 - name: 'Core: libjar'
1989 description: The JAR handling code (protocol handler, stream implementation, and
1990 zipreader/zipwriter).
1992 - modules/libjar/**/*
2002 - 'Core::Networking: JAR'
2008 machine_name: core_libjar
2010 - name: 'Core: MathML'
2011 description: MathML is a low-level specification for describing mathematics which
2012 provides a foundation for the inclusion of mathematical expressions in Web pages.
2014 - layout/mathml/**/*
2016 group: dev-tech-mathml
2017 url: https://developer.mozilla.org/docs/Web/MathML
2024 machine_name: core_mathml
2026 - name: 'Core: Media Playback'
2027 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2028 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2031 - media/gmp-clearkey/**/*
2032 - media/libcubeb/**/*
2033 - media/libnestegg/**/*
2035 - media/libopus/**/*
2036 - media/libtheora/**/*
2037 - media/libtremor/**/*
2038 - media/libvorbis/**/*
2040 - dom/media/platforms/omx/**/*
2041 - dom/media/gmp/rlz/**/*
2056 machine_name: core_media_playback
2058 - name: 'Core: Media Transport'
2059 description: Pluggable transport for real-time media
2061 - dom/media/webrtc/transport/**/*
2065 - Core::WebRTC::Networking
2072 machine_name: core_media_transport
2074 - name: 'Core: Memory Allocator'
2075 description: Most things related to memory allocation in Gecko, including jemalloc,
2076 replace-malloc, DMD (dark matter detector), logalloc, etc.
2082 - Nicholas Nethercote
2090 machine_name: core_memory_allocator
2092 - name: 'Core: mfbt'
2093 description: mfbt is a collection of headers, macros, data structures, methods,
2094 and other functionality available for use and reuse throughout all Mozilla code
2095 (including SpiderMonkey and Gecko more broadly).
2107 machine_name: core_mfbt
2109 - name: 'Core: Moz2D (Graphics submodule)'
2110 description: Platform independent 2D graphics API
2115 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2123 machine_name: core_moz2d_graphics_submodule
2125 - name: 'Core: Mozglue'
2126 description: Glue library containing various low-level functionality, including
2127 a dynamic linker for Android, a DLL block list for Windows, etc.
2135 - Kartikaya Gupta (mozglue/android)
2140 machine_name: core_mozglue
2142 - name: 'Core: MSCOM'
2143 description: Integration with Microsoft Distributed COM
2153 - 'Core::IPC: MSCOM'
2156 machine_name: core_mscom
2158 - name: 'Core: Necko'
2159 description: The Mozilla Networking Library
2163 - netwerk/build/**/*
2164 - netwerk/cache2/**/*
2166 - netwerk/locales/**/*
2168 - netwerk/protocol/**/*
2169 - netwerk/socket/**/*
2170 - netwerk/streamconv/**/*
2171 - netwerk/system/**/*
2176 - dom/websocket/**/*
2177 - uriloader/prefetch/**/*
2178 - uriloader/preload/**/*
2181 - Dragana Damjanovic
2183 - Christian Biesinger
2194 group: dev-tech-network
2195 url: :ref:`Networking`
2198 - 'Core::Networking: Cache'
2199 - 'Core::Networking: Cookies'
2200 - 'Core::Networking: FTP'
2201 - 'Core::Networking: File'
2202 - 'Core::Networking: HTTP'
2203 - 'Core::Networking: JAR'
2204 - 'Core::Networking: Websockets'
2205 - 'Core::DOM: Networking'
2211 machine_name: core_necko
2213 - name: 'Core: NodeJS usage, tools, and style'
2214 description: Advises on the use of NodeJS and npm packages at build and runtime.
2215 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2216 teams to maintain automated license and security audits of npm packages. Works
2217 with the security team and relevant developers to respond to vulnerabilities
2218 in NodeJS and vendored npm packages.
2223 # TODO: and others as appropriate
2227 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2236 machine_name: core_nodejs_usage_tools_and_style
2238 - name: 'Core: NSPR'
2239 description: Netscape Portable Runtime
2245 group: dev-tech-nspr
2253 machine_name: core_nspr
2256 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2259 - toolkit/components/pdfjs/**/*
2267 url: https://github.com/mozilla/pdf.js
2274 machine_name: core_pdf
2276 - name: 'Core: Permissions'
2279 - extensions/permissions/**/*
2288 - Christian Biesinger
2293 - 'Core :: Permission Manager'
2300 machine_name: core_permissions
2302 - name: 'Core: Plugins'
2303 description: ' NPAPI Plugin support.'
2315 url: https://wiki.mozilla.org/Plugins
2320 machine_name: core_plugins
2322 - name: 'Core: Preferences'
2323 description: Preference library
2325 - modules/libpref/**/*
2328 - Nicholas Nethercote
2334 - 'Core::Preferences: Backend'
2340 machine_name: core_preferences
2342 - name: 'Core: Private Browsing'
2343 description: Implementation of the Private Browsing mode, and the integration
2344 of other modules with Private Browsing APIs.
2347 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2348 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2356 url: https://wiki.mozilla.org/Private_Browsing
2358 - Firefox::Private Browsing
2363 machine_name: core_private_browsing
2365 - name: 'Core: Privilege Manager'
2366 description: Caps is the capabilities-based security system.
2375 url: http://www.mozilla.org/projects/security/components/index.html
2377 - 'Core::Security: CAPS'
2383 machine_name: core_privilege_manager
2385 - name: 'Core: Push Notifications'
2386 description: Push is a way for application developers to send messages to their
2397 - 'Core::DOM: Push Notifications'
2401 machine_name: core_push_notifications
2403 - name: 'Core: Sandboxing (Linux)'
2404 description: Sandboxing for the Linux platform
2406 - security/sandbox/linux/**/*
2409 url: https://wiki.mozilla.org/Security/Sandbox
2411 - 'Core::Security: Process Sandboxing'
2416 machine_name: core_sandboxing_linux
2418 - name: 'Core: Sandboxing (OSX)'
2419 description: Sandboxing for the OSX platform
2421 - security/sandbox/mac/**/*
2424 url: https://wiki.mozilla.org/Security/Sandbox
2426 - 'Core::Security: Process Sandboxing'
2430 machine_name: core_sandboxing_osx
2432 - name: 'Core: Sandboxing (Windows)'
2433 description: Sandboxing for the Windows platform
2435 - security/sandbox/win/**/*
2445 url: https://wiki.mozilla.org/Security/Sandbox
2447 - 'Core::Security: Process Sandboxing'
2452 machine_name: core_sandboxing_windows
2454 - name: 'Core: security'
2455 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2468 group: dev-tech-crypto
2469 url: :ref:`Network Security Services (NSS)`
2474 - 'Core::Security: S/MIME'
2487 machine_name: core_security
2489 - name: 'Core: Security - Mozilla PSM Glue'
2490 description: Personal Security Manager
2492 - security/manager/**/*
2495 - Kai Engert (2001-2012)
2496 group: dev-tech-crypto
2498 - 'Core::Security: PSM'
2507 machine_name: core_security_mozilla_psm_glue
2509 - machine_name: core_security_rlbox
2510 name: Security - RLBox
2511 description: Sandboxing using WASM/RLBox libraries.
2515 - third_party/rlbox_wasm2c_sandbox
2525 - 'Core::Security: RLBox'
2526 - name: 'Core: Static analysis & rewriting for C++'
2527 description: Tools for checking C++ code looking for problems at compile time,
2528 plus tools for automated rewriting of C++ code.
2530 - build/clang-plugin/**/*
2531 - tools/rewriting/**/*
2532 # TODO among other out of tree tools
2535 - Birunthan Mohanathas
2539 - Core::Rewriting & Analysis
2546 machine_name: core_static_analysis_rewriting_for_c
2548 - name: 'Core: storage'
2549 description: Storage APIs with a SQLite backend
2551 - third_party/sqlite3/**/*
2555 url: http://developer.mozilla.org/en/docs/Storage
2557 - Toolkit::Storage, Core::SQL
2565 machine_name: core_storage
2567 - name: 'Core: String'
2572 group: dev-tech-xpcom
2573 url: :ref:`String Guide`
2580 machine_name: core_string
2582 - name: 'Core: Style System'
2583 description: CSS style sheet handling; style data computation
2594 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2596 - Core::CSS Parsing and Computation
2597 - 'Core::DOM: CSS Object Model'
2603 machine_name: core_style_system
2606 description: Scalable Vector Graphics
2613 url: https://developer.mozilla.org/docs/Web/SVG
2623 machine_name: core_svg
2625 - name: 'Core: UA String'
2626 description: User Agent String
2628 - netwerk/protocol/http/**/*
2631 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2633 - 'Core::Networking: HTTP'
2639 machine_name: core_ua_string
2641 - name: 'Core: View System'
2642 description: The View Manager is responsible for handling "heavyweight" rendering
2643 (some clipping, compositing) and event handling tasks.
2651 - 'Core::Layout: View Rendering'
2657 machine_name: core_view_system
2659 - name: 'Core: Web Audio'
2660 description: Support for the W3C Web Audio API specification.
2662 - dom/media/webaudio/**/*
2667 url: https://wiki.mozilla.org/Web_Audio_API
2675 machine_name: core_web_audio
2677 - name: 'Core: Web Painting'
2678 description: painting, display lists, and layer construction
2680 - layout/painting/**/*
2681 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2684 url: :ref:`Layout & CSS`
2686 - 'Core::Layout: Web Painting'
2697 machine_name: core_web_painting
2699 - name: 'Core: Web Workers'
2712 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2714 - 'Core::DOM: Workers'
2720 machine_name: core_web_workers
2722 - name: 'Core: WebGPU (Graphics submodule)'
2723 description: WebGPU implementation
2728 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2730 - Core::Graphics::WebGPU
2736 machine_name: core_webgpu_graphics_submodule
2738 - name: 'Core: WebRTC'
2739 description: WebRTC is responsible for realtime audio and video communication,
2740 as well as related issues like low-level camera and microphone access
2743 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2748 url: https://wiki.mozilla.org/Media/webrtc
2751 - Core::WebRTC Networking
2758 machine_name: core_webrtc
2760 - name: 'Core: WebVR'
2761 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2762 including API, devices, graphics and integration
2768 - Vladimir Vukicevic
2771 url: https://mozvr.com/
2780 - name: 'Core: WebRTC Media'
2781 description: Submodule of WebRTC responsible for access to media input devices
2782 (microphones, cameras, screen capture), as well as realtime audiovisual
2783 codecs and packetization.
2786 - dom/media/webrtc/**/*
2787 - dom/media/systemservices/**/*
2793 url: https://wiki.mozilla.org/Media/webrtc
2795 - Core::WebRTC (Audio/Video)
2802 machine_name: core_webrtc_media
2804 - name: 'Core: WebRTC Signaling'
2805 description: Submodule of WebRTC responsible for implementation of PeerConnection
2806 API, WebRTC identity, and SDP/JSEP handling
2808 - media/webrtc/signaling/**/*
2813 url: https://wiki.mozilla.org/Media/webrtc
2815 - Core::WebRTC (Signaling)
2823 machine_name: core_webrtc_signaling
2824 machine_name: core_webvr
2826 - name: 'Core: Widget'
2827 description: Top level Widget
2832 - Vladimir Vukicevic
2839 - Core::Drag and Drop
2841 - 'Core::Printing: Setup'
2844 machine_name: core_widget
2846 - name: 'Core: Widget - Android'
2847 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2852 machine_name: core_widget_android
2854 - name: 'Core: Widget - GTK'
2855 description: GTK widget support
2862 url: http://www.mozilla.org/ports/gtk/
2864 - 'Core::Widget: Gtk'
2869 machine_name: core_widget_gtk
2871 - name: 'Core: Widget - Headless'
2872 description: Headless widget support
2874 - widget/headless/**/*
2883 machine_name: core_widget_headless
2885 - name: 'Core: Widget - macOS'
2886 description: ' macOS widget support'
2899 - 'Core::Widget: Cocoa'
2905 machine_name: core_widget_macos
2907 - name: 'Core: Widget - Windows'
2908 description: Windows widget support
2910 - widget/windows/**/*
2916 - Vladimir Vukicevic
2919 - Christian Biesinger
2921 - Josh 'timeless' Soref
2928 - 'Core::Widget: Win32'
2934 machine_name: core_widget_windows
2937 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2938 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2939 that are not covered by more specific projects.
2955 machine_name: core_xml
2957 - name: 'Core: XPApps'
2958 description: Cross-Platform Applications, mostly Navigator front end and application
2963 group: dev-apps-seamonkey
2967 - Josh 'timeless' Soref
2970 machine_name: core_xpapps
2972 - name: 'Core: XPCOM'
2973 description: The cross-platform object model and core data structures.
2979 - xpcom/components/**/*
2983 - xpcom/reflect/**/*
2987 - xpcom/threads/**/*
2988 - xpcom/windbgdlg/**/*
3009 machine_name: core_xpcom
3011 - name: 'Core: XPConnect'
3012 description: Deep Magic
3031 machine_name: core_xpconnect
3033 - name: 'Core: XPIDL'
3034 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3035 runtime type description files from .idl interface description files.
3037 - xpcom/idl-parser/**/*
3044 - Josh 'timeless' Soref
3045 group: dev-tech-xpcom
3051 machine_name: core_xpidl
3053 - name: 'Core: XSLT Processor'
3054 description: XSLT transformations processor
3062 group: dev-tech-xslt
3063 url: https://developer.mozilla.org/docs/Web/XSLT
3069 machine_name: core_xslt_processor
3071 - name: Desktop Firefox
3072 description: Standalone Web Browser.
3085 - Tim Guan-tin Chien
3115 - name: Add-ons Manager
3116 description: Extension management back-end.
3118 - toolkit/mozapps/extensions/**/*
3132 machine_name: addons_manager
3134 - name: Add-ons Manager UI
3135 description: about:addons.
3137 - toolkit/mozapps/extensions/content/**/*
3150 machine_name: addons_manager_ui
3152 - name: Application Update
3153 description: The application update services.
3155 - toolkit/mozapps/update/**/*
3162 machine_name: application_update
3164 - name: Bookmarks & History
3165 description: The bookmarks and history services (Places).
3167 - browser/components/places/**/*
3168 - toolkit/components/places/**/*
3183 machine_name: bookmarks_history
3185 - name: Desktop Theme
3186 description: The style rules used in the desktop UI.
3188 - browser/themes/**/*
3189 - toolkit/themes/**/*
3202 machine_name: desktop_theme
3205 description: The main browser UI except where covered by more specific submodules.
3207 - browser/base/content/**/*
3214 machine_name: desktop_ui
3216 - name: Download Manager
3217 description: The downloads UI and service.
3219 - browser/components/downloads/**/*
3220 - toolkit/mozapps/downloads/**/*
3221 - uriloader/exthandler/**/*
3231 machine_name: download_manager
3233 - name: Enterprise Policies
3234 description: System policies for controlling Firefox.
3236 - browser/components/enterprisepolicies/**/*
3241 machine_name: enterprise_policies
3243 - name: Experiments/Rollouts
3244 description: Desktop clients for our experiments and off-train deployments
3247 - toolkit/components/normandy/**/*
3248 - toolkit/components/nimbus/**/*
3254 - Firefox::Nimbus Desktop Client
3255 url: https://experimenter.info/
3261 machine_name: normandy
3263 - machine_name: firefox_view
3265 description: The Firefox View page and its modules.
3267 - browser/components/firefoxview/**/*
3275 - name: Form Autofill
3276 description: Form detection and autocomplete.
3278 - browser/extensions/formautofill/**/*
3279 - toolkit/components/satchel/**/*
3282 - Matthew Noorenberghe
3288 machine_name: form_autofill
3290 - name: In-product Messaging
3291 description: The system for delivering in-product messaging.
3293 - toolkit/components/messaging-system/**/*
3296 - Firefox::Messaging System
3303 machine_name: inproduct_messaging
3305 - name: Launcher Process
3306 description: Windows process for bootstrapping the browser process.
3308 - browser/app/winlauncher/**/*
3314 - Firefox::Launcher Process
3319 machine_name: launcher_process
3321 - machine_name: localization
3323 description: Tooling to enable translation and facilitate localization.
3331 - name: New Tab Page
3332 description: The new tab/home page.
3334 - browser/components/newtab/**/*
3337 - Firefox::New Tab Page
3344 machine_name: new_tab_page
3347 description: The onboarding experience including UI tours.
3349 - browser/components/uitour/**/*
3357 machine_name: onboarding
3359 - name: Password Manager
3360 description: Managing, saving and filling logins.
3362 - toolkit/components/passwordmgr/**/*
3363 - browser/components/aboutlogins/**/*
3366 - Matthew Noorenberghe
3370 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3372 - Toolkit::Password Manager
3373 - 'Toolkit::Password Manager: Site'
3375 - Firefox::about:logins
3383 machine_name: password_manager
3385 - machine_name: firefox_pip
3386 name: Picture-in-Picture
3387 description: A component that allows video elements to be pulled out into
3388 an always-on-top window.
3390 - toolkit/components/pictureinpicture
3391 - browser/extensions/pictureinpicture
3401 - name: Profile Migration
3402 description: Migrating data from other browsers.
3404 - browser/components/migration/**/*
3412 machine_name: profile_migration
3415 description: Code relating to Screenshots functionality
3417 - browser/extensions/screenshots/**/*
3418 - browser/components/screenshots/**/*
3426 - Firefox::Screenshots
3432 machine_name: screenshots
3434 - name: Search and Address Bar
3435 description: The search service, address bar and address bar autocomplete.
3437 - browser/components/search/**/*
3438 - browser/components/urlbar/**/*
3439 - toolkit/components/search/**/*
3442 - Firefox::Address Bar
3454 machine_name: search_and_address_bar
3456 - name: Security and Privacy UI
3457 description: The front-end to our security and privacy features, including
3458 Protections UI, Site Identity, Site Permissions and Certificate Errors
3460 - browser/components/protections/**/*
3461 - browser/components/controlcenter/**/*
3465 - Nihanth Subramanya
3470 - Firefox::Protections UI
3471 - Firefox::Site Identity
3472 - Firefox::Site Permissions
3477 machine_name: security_and_privacy_ui
3479 - name: Session Restore
3480 description: Restoring a user's session after starting Firefox.
3482 - browser/components/sessionstore/**/*
3483 - toolkit/components/sessionstore/**/*
3491 - Firefox::Session Restore
3497 machine_name: session_restore
3500 description: The front-end settings user interface.
3502 - browser/components/preferences/**/*
3503 - browser/themes/*/preferences
3504 - toolkit/mozapps/preferences
3515 machine_name: settings_ui
3517 - name: Tabbed Browser
3518 description: The UI component controlling browser tabs.
3520 # TODO double check that this works as expected
3521 - browser/base/content/tabbrowser*
3522 - browser/modules/AsyncTabSwitcher.jsm
3525 - Firefox::Tabbed Browser
3533 machine_name: tabbed_browser
3535 - name: Windows Installer
3536 description: The installer for Windows.
3538 - browser/installer/**/*
3539 - toolkit/mozapps/installer/**/*
3542 - Firefox::Installer
3548 machine_name: windows_installer
3549 machine_name: desktop_firefox
3551 - machine_name: devtools
3553 description: Mozilla Developer Tools
3579 - Steve Fink (heapsnapshot code)
3589 - Panagiotis Astithas
3607 url: http://firefox-dev.tools/
3610 - machine_name: javascript_usage
3611 name: JavaScript usage, tools, and style
3612 description: Aspects of JavaScript use such as language feature usage, tooling
3613 such as lint configurations, formatting and naming style.
3615 - .eslintrc-test-paths.js
3616 - '**/.eslintignore'
3618 - tools/lint/eslint/**/*
3635 - machine_name: mozharness
3637 description: Configuration-driven script harness.
3639 - testing/mozharness/**/*
3652 - 'Release Engineering :: Applications: MozharnessCore'
3653 - machine_name: python_usage
3654 name: Python usage, tools, and style
3655 description: Aspects of Python use such as tooling, formatting and naming style
3657 - tools/lint/python/**/*
3667 - 'Developer Infrastructure :: Lint and Formatting'
3669 - machine_name: remote_protocol
3670 name: Remote Protocol
3671 description: Low-level remote protocol exposing interfaces for inspecting state
3672 and controlling execution of web documents, instrumenting various subsystems
3673 in the browser, simulating user interaction for automation purposes, and for
3674 subscribing to updates from the aforementioned.
3680 url: https://firefox-source-docs.mozilla.org/remote/
3689 - machine_name: remote_protocol_agent
3691 description: Underlying transport layer and server to allow remoting of Firefox
3692 for automation and debugging.
3697 - remote/marionette/*
3698 - remote/webdriver-bidi/*
3703 - Maja Frydrychowicz
3707 - 'Remote Protocol :: Agent'
3715 - machine_name: remote_protocol_cdp
3717 description: The core implementation for CDP support. Please file domain specific
3718 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3725 - Maja Frydrychowicz
3729 - 'Remote Protocol :: CDP'
3737 - machine_name: remote_protocol_marionette
3739 description: Marionette is a remote protocol that lets out-of-process programs
3740 communicate with, instrument, and control Gecko-based browsers. Combined
3741 with geckodriver, this forms our WebDriver classic implementation.
3743 - remote/marionette/*
3748 - Maja Frydrychowicz
3751 - 'Remote Protocol :: Marionette'
3752 group: dev-webdriver
3760 - machine_name: remote_protocol_webdriver_bidi
3761 name: WebDriver BiDi
3762 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3764 - remote/webdriver-bidi/*
3767 - 'Remote Protocol :: WebDriver BiDi'
3768 group: dev-webdriver
3776 - machine_name: sync
3778 description: Firefox Sync client
3780 - services/sync/**/*
3793 url: https://wiki.mozilla.org/Services/Process/Code_Review
3797 - machine_name: testing_firefox_ui
3799 description: Firefox UI test framework.
3801 - testing/firefox-ui/**/*
3804 - Maja Frydrychowicz
3806 - 'Testing :: Firefox UI'
3814 - machine_name: testing_geckodriver
3816 description: Proxy for using W3C WebDriver-compatible clients to interact with
3817 Gecko-based browsers.
3819 - testing/geckodriver/**/*
3827 - 'Testing :: geckodriver'
3828 group: dev-webdriver
3830 - machine_name: testing_gtest
3832 description: GTest test harness.
3834 - testing/gtest/**/*
3841 - 'Testing :: GTest'
3843 - machine_name: testing_marionette_client_harness
3844 name: Marionette Client & Harness
3845 description: Python client and harness for the Marionette remote protocol implementation.
3847 - testing/marionette/**/*
3852 - Maja Frydrychowicz
3855 - 'Testing :: Marionette Client & Harness'
3863 - machine_name: testing_mochitest
3865 description: Mochitest test framework
3867 - testing/mochitest/**/*
3876 - 'Testing :: Mochitest'
3877 - machine_name: testing_mozbase
3879 description: Base modules used for implementing test components.
3893 - 'Testing :: Mozbase'
3894 - 'Testing :: Mozbase Rust'
3895 - machine_name: testing_performance_testing
3896 name: Performance Testing
3898 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3899 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3900 the owners/peers of the various components (linked below).
3902 - testing/raptor/**/*
3903 - testing/talos/**/*
3904 - python/mozperftest/**/*
3906 - tools/lint/perfdocs/**/*
3907 - testing/perfdocs/**/*
3908 - testing/performance/**/*
3909 - testing/condprofile/**/*
3910 - tools/browsertime/**/*
3911 - tools/tryselect/selectors/perf.py
3922 - 'Testing :: Raptor'
3923 - 'Testing :: Talos'
3925 - 'Testing :: Performance'
3926 - 'Testing :: mozperftest'
3927 - 'Testing :: Condprofile'
3928 url: :ref:`Performance Testing`
3929 - machine_name: testing_reftest
3930 name: Reftest (+ jsreftest + crashtest)
3931 description: Reftest test framework
3933 - layout/tools/reftest/**/*
3942 - 'Testing :: Reftest'
3943 - machine_name: testing_tryselect
3945 description: Frontend for selecting jobs on the try server.
3947 - tools/tryselect/**/*
3955 - 'Developer Infrastructure :: Try'
3956 - machine_name: testing_web_platform_tests_infrastructure
3957 name: web-platform-tests infrastructure
3958 description: Infrastructure for running the cross-browser web-platform-tests
3960 - testing/web-platform/**/*
3961 - testing/web-platform/tests/tools/**/*
3963 - testing/web-platform/tests/**/*
3964 - testing/web-platform/meta/**/*
3965 - testing/web-platform/mozilla/**/*
3971 - 'Testing :: web-platform-tests'
3972 - machine_name: testing_xpcshell
3974 description: XPCShell test harness.
3976 - testing/xpcshell/**/*
3984 - Testing::XPCShell Harness
3986 description: Components shared between desktop and mobile browsers.
4003 - name: Application Startup
4004 description: The profile system and startup process before the front-end launches.
4006 - toolkit/profile/**/*
4007 - toolkit/components/remote/**/*
4014 machine_name: application_startup
4018 The core infrastructure in the Firefox client to send back telemetry
4019 data. Includes the common mechanisms to record, view and submit data: Legacy
4020 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4021 does ''not'' include responsibility for every piece of submitted Telemetry
4022 data. Each team/module is responsible for their own measurements (histograms,
4023 scalars, other ping submissions, etc.).
4025 - toolkit/components/glean/**/*
4026 - toolkit/components/telemetry/**/*
4027 - toolkit/content/aboutTelemetry.*
4032 url: :ref:`Telemetry`
4040 machine_name: telemetry
4043 description: The base widgets used throughout the UI.
4045 - toolkit/content/widgets/**/*
4052 machine_name: ui_widgets
4054 - name: Webextensions
4055 description: Webextension APIs and integration.
4057 - browser/components/extensions/**/*
4058 - toolkit/components/extensions/**/*
4070 machine_name: webextensions
4071 machine_name: toolkit
4072 - machine_name: url_classifier
4073 name: URL Classifier
4074 description: Database and list-based classification of URL resources, such as
4075 Tracking Protection and SafeBrowsing.
4077 - toolkit/components/url-classifier/**/*
4078 - netwerk/url-classifier/**/*
4087 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4088 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4096 config: f059c3a6184630098e185576137541bda3a4533a
4097 export: 344e67b2da67e3431d33f0bfb4dd7deba8f26a4f