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-02-07T17:52:24.212324'
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
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
281 name: Dragana Damjanovic
313 name: Emilio Cobos Álvarez
317 name: Masatoshi Kimura
336 name: Nick Fitzgerald
340 name: Francesco Lodolo
356 name: Gian-Carlo Pascutto
378 name: Gabriele Svelto
382 name: Haik Aftandilian
390 name: Hiroyuki Ikezoe
398 name: Jan Honza Odvarko
422 name: Jan-Erik Rediger
442 name: Julian Descottes
470 name: Jan-Ivar Bruaroey
525 name: Jean-Yves Avenard
549 name: Kimberly Sereduck
550 nick: kimberlythegeek
577 name: Dzmitry Malyshau
589 name: Lougenia Bailey
605 name: Marco Castelluccio
621 name: Masayuki Nakano
630 nick: MatsPalmgren_bugz
641 name: Andrew McCreight
676 name: Morgan Reschenberg
716 name: Nicolas Chevobbe
728 name: Niklas Baumgardner
740 name: Alexandre Poirot
760 name: Andreas Pehrson
768 name: Peter Van der Beken
808 name: Alexandra Borovova
832 name: Shravan Narayan
848 name: Greg Mierzwinski
864 name: Martin Stránský
871 name: Sylvestre Ledru
914 name: Toshihito Kikuchi
977 name: Tomislav Jovanovic
980 - name: mozilla-toplevel
981 description: The top level directory for the mozilla tree.
984 # TODO: verify, as this was toolkit/README
989 # - Technical Leadership Module
992 machine_name: _mozillatoplevel
994 - machine_name: code_coverage
996 description: Tools for code coverage instrumentation, and coverage data parsing
999 - tools/code-coverage/**/*
1000 - python/mozbuild/mozbuild/codecoverage/**/*
1001 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1010 - 'Testing :: Code Coverage'
1011 - name: 'Core: Accessibility'
1012 description: Support for platform accessibility APIs. Accessibility APIs are used
1013 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1014 software, which need information about document content and UI controls, as
1015 well as important events like changes of focus.
1028 group: dev-accessibility
1029 url: https://developer.mozilla.org/docs/Web/Accessibility
1031 - Core::Disability Access APIs
1038 machine_name: core_accessibility
1040 - name: 'Core: Animation'
1041 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1042 API, and off-main thread animations.'
1044 - dom/animation/**/*
1045 # TODO "and animation-related and interpolation-related code
1046 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1050 - Core::DOM::Animation
1051 - Core::CSS Transitions and Animations
1059 machine_name: core_animation
1061 - name: 'Core: Anti-Tracking'
1062 description: Tracking detection and content-blocking.
1064 - toolkit/components/antitracking/**/*
1065 # several files under browser/ and netwerk/url-classifier/ **TODO**
1073 - 'Core::Privacy: Anti-Tracking'
1081 machine_name: core_antitracking
1083 - name: 'Core: APZ (Graphics submodule)'
1084 description: Asynchronous panning and zooming
1086 - gfx/layers/apz/**/*
1093 url: https://wiki.mozilla.org/Platform/GFX/APZ
1095 - Core::Panning and Zooming
1103 machine_name: core_apz_graphics_submodule
1105 - name: 'Core: Browser WebAPI'
1106 description: Web API for rendering apps, browser windows and widgets.
1108 - dom/browser-element/**/*
1119 machine_name: core_browser_webapi
1121 - name: 'Core: Build and Release Tools'
1122 description: Tools related to build and release automation and configuration of
1125 - tools/update-packaging/**/*
1126 - tools/update-verify/**/*
1130 group: release-engineering
1131 url: https://wiki.mozilla.org/ReleaseEngineering
1133 - Release Engineering::*
1139 machine_name: core_build_and_release_tools
1141 - name: 'Core: Build Config'
1142 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1147 - python/mozbuild/**/*
1148 - browser/config/mozconfigs/**/*
1166 url: :ref:`Build System`
1168 - Core::Build Config
1175 - name: 'Core: Build Config - Fennec'
1176 description: Submodule of the build config covering Fennec's build system
1181 - Core::Build Config
1185 machine_name: core_build_config_fennec
1187 - name: 'Core: Build Config - Taskgraph'
1188 description: Support for task-graph generation in decision, action, and cron
1189 tasks, including configuration of all tasks including those for CI, nightlies,
1190 and releases; as well as Docker and VM images used to execute those tasks.
1195 - Firefox Build System::Task Configuration
1211 machine_name: core_build_config_taskgraph
1212 machine_name: core_build_config
1214 - name: 'Core: Code Analysis and Debugging Tools'
1215 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1216 and other characteristics of it.
1219 - tools/leak-gauge/**/*
1220 - tools/performance/**/*
1223 group: dev-performance
1227 machine_name: core_code_analysis_and_debugging_tools
1229 - name: 'Core: Content Security'
1230 description: 'Native content-based security features enforced in the ContentSecurityManager,
1231 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1232 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1233 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1234 and top-level data: URI blocking.'
1246 - 'Core::DOM: Security'
1254 machine_name: core_content_security
1256 - name: 'Core: Cookies'
1259 - netwerk/cookie/**/*
1267 - Christian Biesinger
1272 - 'Core::Networking: Cookies'
1277 machine_name: core_cookies
1279 - name: 'Core: Crash reporting'
1280 description: Infrastructure and tools used to generate, submit and process crash
1281 reports. This includes the in-tree google-breakpad fork, the crash report generation
1282 machinery as well as the host tools used to dump symbols, analyse minidumps
1283 and generate stack traces.
1285 - toolkit/crashreporter/**/*
1286 - toolkit/components/crashes/**/*
1287 - tools/crashreporter/**/*
1288 - ipc/glue/CrashReporter*
1289 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1294 url: :ref:`Crash Reporter`
1296 - Toolkit::Crash Reporting
1302 machine_name: core_crash_reporting
1304 - machine_name: core_credentials
1305 name: 'Core: Credentials'
1306 description: API Surface for FedCM and WebAuthn
1308 - toolkit/components/credentialmanagement/**/*
1309 - browser/components/credentialmanager/**/*
1310 - dom/credentialmanagement/**/*
1322 - 'Core::DOM: Credential Management'
1323 - 'Core::DOM: Web Authentication'
1325 - name: 'Core: C++/Rust usage, tools, and style'
1326 description: Aspects of C++ use such as language feature usage, standard library
1327 versions/usage, compiler/toolchain versions, formatting and naming style, and
1328 aspects of Rust use as needs arise
1330 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1331 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1332 # - docs/code-quality/**/*
1333 # - docs/testing-rust-code/**/*
1334 # - docs/writing-rust-code/**/*
1349 machine_name: core_crust_usage_tools_and_style
1351 - name: 'Core: Cycle Collector'
1352 description: Code to break and collect objects within reference cycles
1354 - xpcom/base/nsCycleCollect*
1355 # TODO "and some support headers"
1356 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1362 - Core::Cycle Collector
1368 machine_name: core_cycle_collector
1370 - name: 'Core: DLL Services'
1371 description: Windows dynamic linker instrumentation and blocking
1373 - toolkit/xre/dllservices/**/*
1379 - Core::DLL Services
1384 machine_name: core_dll_services
1386 - name: 'Core: docshell'
1390 - uriloader/base/**/*
1396 - Christian Biesinger
1402 - Core::Document Navigation
1409 machine_name: core_docshell
1411 - name: 'Core: Document Object Model'
1415 exclude_module_paths: true
1432 url: http://developer.mozilla.org/en/docs/DOM
1435 - 'Core::DOM: CSS Object Model'
1436 - 'Core::DOM: Core & HTML'
1451 machine_name: core_document_object_model
1453 - name: 'Core: DOM File'
1454 description: DOM Blob, File and FileSystem APIs
1457 - dom/filesystem/**/*
1460 url: http://developer.mozilla.org/en/docs/DOM
1467 machine_name: core_dom_file
1469 - machine_name: core_dom_streams
1470 name: 'Core: DOM Streams'
1471 description: Streams Specification implementation
1482 url: http://developer.mozilla.org/en/docs/DOM
1485 - 'Core::DOM: Streams'
1486 - name: 'Core: Editor'
1501 machine_name: core_editor
1503 - name: 'Core: Event Handling'
1504 description: DOM Events and Event Handling
1507 # TODO "and event handling related code elsewhere"
1512 url: http://developer.mozilla.org/en/docs/DOM
1514 - 'Core::DOM: Events'
1515 - 'Core::DOM: UI Events & Focus Handling'
1521 machine_name: core_event_handling
1523 - machine_name: core_firefox_source_documentation
1524 name: 'Core: Firefox Source Documentation'
1525 description: The infrastructure platform used to generate Firefox's source documentation,
1526 excluding editorial control over the content.
1529 - tools/moztreedocs/
1536 - Developer Infrastructure::Source Documentation
1537 url: https://firefox-source-docs.mozilla.org/
1538 - name: 'Core: Gecko Profiler'
1539 description: Gecko's built-in profiler
1541 - tools/profiler/**/*
1542 - mozglue/baseprofiler/**/*
1547 - Shu-yu Guo (JS integration)
1548 - Thinker Lee (TaskTracer)
1549 - Cervantes Yu (TaskTracer)
1550 - Nicholas Nethercote
1556 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1558 - Core::Gecko Profiler
1565 machine_name: core_gecko_profiler
1567 - name: 'Core: GeckoView'
1568 description: Framework for embedding Gecko into Android applications
1570 - mobile/android/**/*
1571 - widget/android/**/*
1582 url: https://wiki.mozilla.org/Mobile/GeckoView
1584 - GeckoView::General
1590 machine_name: core_geckoview
1592 - name: 'Core: Global Key Bindings'
1593 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1594 and the like, as those are part of i18n.
1597 # TODO "and platform specific directories under it"
1599 group: dev-accessibility
1600 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1602 - 'Core::Keyboard: Navigation'
1607 machine_name: core_global_key_bindings
1609 - name: 'Core: Graphics'
1610 description: Mozilla graphics API
1618 - Benoit Girard(Compositor, Performance)
1620 - George Wright(Canvas2D)
1624 - John Daggett(text/fonts)
1625 - Benoit Jacob(gfx/gl)
1627 - Vladimir Vukicevic
1628 - James Willcox(Android)
1631 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1632 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1635 - 'Core::Graphics: Layers'
1636 - 'Core::Graphics: Text'
1637 - 'Core::Graphics: WebRender'
1638 - 'Core::GFX: Color Management'
1639 - 'Core::Canvas: 2D'
1640 - 'Core::Canvas: WebGL'
1652 machine_name: core_graphics
1655 description: Hardware Abstraction Layer
1661 - Core::Hardware Abstraction Layer (HAL)
1665 machine_name: core_hal
1667 - name: 'Core: HTML Parser'
1668 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1669 to the HTML specification, and is mostly translated automatically from Java
1675 url: http://about.validator.nu/
1677 - 'Core::HTML: Parser'
1682 machine_name: core_html_parser
1684 - name: 'Core: I18N Library'
1693 url: :ref:`Internationalization`
1695 - Core::Internationalization
1703 machine_name: core_i18n_library
1705 - name: 'Core: ImageLib'
1708 - media/libjpeg/**/*
1725 machine_name: core_imagelib
1727 - name: 'Core: IndexedDB'
1730 - dom/indexedDB/**/*
1738 url: https://developer.mozilla.org/en/IndexedDB
1740 - 'Core::DOM: IndexedDB'
1747 machine_name: core_indexeddb
1750 description: Native message-passing between threads and processes
1777 machine_name: core_ipc
1779 - name: 'Core: JavaScript'
1780 description: JavaScript engine (SpiderMonkey)
1804 - Nicholas Nethercote
1809 url: https://spidermonkey.dev/
1811 - Core::JavaScript Engine
1812 - 'Core::JavaScript: GC'
1813 - 'Core::JavaScript: Internationalization API'
1814 - 'Core::JavaScript: Standard Library'
1815 - 'Core::JavaScript: WebAssembly'
1837 machine_name: core_javascript
1839 - name: 'Core: JavaScript JIT'
1840 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1848 url: https://spidermonkey.dev/
1850 - 'Core::JavaScript Engine: JIT'
1866 machine_name: core_javascript_jit
1868 - name: 'Core: js-tests'
1869 description: JavaScript test suite
1873 group: dev-tech-js-engine
1874 url: http://www.mozilla.org/js/tests/library.html
1878 machine_name: core_jstests
1880 - name: 'Core: Layout Engine'
1881 description: rendering tree construction, layout (reflow), etc.
1887 - layout/generic/**/*
1888 - layout/printing/**/*
1889 - layout/tables/**/*
1898 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1901 - 'Core::Layout: Block and Inline'
1902 - 'Core::Layout: Columns'
1903 - 'Core::Layout: Flexbox'
1904 - 'Core::Layout: Floats'
1905 - 'Core::Layout: Form Controls'
1906 - 'Core::Layout: Generated Content, Lists, and Counters'
1907 - 'Core::Layout: Grid'
1908 - 'Core::Layout: Images, Video, and HTML Frames'
1909 - 'Core::Layout: Positioned'
1910 - 'Core::Layout: Ruby'
1911 - 'Core::Layout: Scrolling and Overflow'
1912 - 'Core::Layout: Tables'
1913 - 'Core::Layout: Text and Fonts'
1914 - Core::Print Preview
1915 - 'Core::Printing: Output'
1927 machine_name: core_layout_engine
1929 - name: 'Core: Legacy HTML Parser'
1932 - parser/htmlparser/**/*
1936 url: http://www.mozilla.org/newlayout/doc/parser.html
1938 - 'Core::HTML: Parser'
1945 machine_name: core_legacy_html_parser
1947 - name: 'Core: libjar'
1948 description: The JAR handling code (protocol handler, stream implementation, and
1949 zipreader/zipwriter).
1951 - modules/libjar/**/*
1961 - 'Core::Networking: JAR'
1967 machine_name: core_libjar
1969 - name: 'Core: MathML'
1970 description: MathML is a low-level specification for describing mathematics which
1971 provides a foundation for the inclusion of mathematical expressions in Web pages.
1973 - layout/mathml/**/*
1975 group: dev-tech-mathml
1976 url: https://developer.mozilla.org/docs/Web/MathML
1983 machine_name: core_mathml
1985 - name: 'Core: Media Playback'
1986 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
1987 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
1990 - media/gmp-clearkey/**/*
1991 - media/libcubeb/**/*
1992 - media/libnestegg/**/*
1994 - media/libopus/**/*
1995 - media/libtheora/**/*
1996 - media/libtremor/**/*
1997 - media/libvorbis/**/*
1999 - dom/media/platforms/omx/**/*
2000 - dom/media/gmp/rlz/**/*
2015 machine_name: core_media_playback
2017 - name: 'Core: Media Transport'
2018 description: Pluggable transport for real-time media
2020 - dom/media/webrtc/transport/**/*
2024 - Core::WebRTC::Networking
2031 machine_name: core_media_transport
2033 - name: 'Core: Memory Allocator'
2034 description: Most things related to memory allocation in Gecko, including jemalloc,
2035 replace-malloc, DMD (dark matter detector), logalloc, etc.
2041 - Nicholas Nethercote
2049 machine_name: core_memory_allocator
2051 - name: 'Core: mfbt'
2052 description: mfbt is a collection of headers, macros, data structures, methods,
2053 and other functionality available for use and reuse throughout all Mozilla code
2054 (including SpiderMonkey and Gecko more broadly).
2066 machine_name: core_mfbt
2068 - name: 'Core: Moz2D (Graphics submodule)'
2069 description: Platform independent 2D graphics API
2074 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2082 machine_name: core_moz2d_graphics_submodule
2084 - name: 'Core: Mozglue'
2085 description: Glue library containing various low-level functionality, including
2086 a dynamic linker for Android, a DLL block list for Windows, etc.
2094 - Kartikaya Gupta (mozglue/android)
2099 machine_name: core_mozglue
2101 - name: 'Core: MSCOM'
2102 description: Integration with Microsoft Distributed COM
2112 - 'Core::IPC: MSCOM'
2115 machine_name: core_mscom
2117 - name: 'Core: Necko'
2118 description: The Mozilla Networking Library
2122 - netwerk/build/**/*
2123 - netwerk/cache/**/*
2125 - netwerk/locales/**/*
2127 - netwerk/protocol/**/*
2128 - netwerk/socket/**/*
2129 - netwerk/streamconv/**/*
2130 - netwerk/system/**/*
2135 - dom/websocket/**/*
2136 - uriloader/prefetch/**/*
2137 - uriloader/preload/**/*
2140 - Dragana Damjanovic
2142 - Christian Biesinger
2153 group: dev-tech-network
2154 url: :ref:`Networking`
2157 - 'Core::Networking: Cache'
2158 - 'Core::Networking: Cookies'
2159 - 'Core::Networking: FTP'
2160 - 'Core::Networking: File'
2161 - 'Core::Networking: HTTP'
2162 - 'Core::Networking: JAR'
2163 - 'Core::Networking: Websockets'
2164 - 'Core::DOM: Networking'
2170 machine_name: core_necko
2172 - name: 'Core: NodeJS usage, tools, and style'
2173 description: Advises on the use of NodeJS and npm packages at build and runtime.
2174 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2175 teams to maintain automated license and security audits of npm packages. Works
2176 with the security team and relevant developers to respond to vulnerabilities
2177 in NodeJS and vendored npm packages.
2182 # TODO: and others as appropriate
2186 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2195 machine_name: core_nodejs_usage_tools_and_style
2197 - name: 'Core: NSPR'
2198 description: Netscape Portable Runtime
2204 group: dev-tech-nspr
2212 machine_name: core_nspr
2215 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2218 - toolkit/components/pdfjs/**/*
2226 url: https://github.com/mozilla/pdf.js
2233 machine_name: core_pdf
2235 - name: 'Core: Permissions'
2238 - extensions/permissions/**/*
2247 - Christian Biesinger
2252 - 'Core :: Permission Manager'
2259 machine_name: core_permissions
2261 - name: 'Core: Plugins'
2262 description: ' NPAPI Plugin support.'
2274 url: https://wiki.mozilla.org/Plugins
2279 machine_name: core_plugins
2281 - name: 'Core: Preferences'
2282 description: Preference library
2284 - modules/libpref/**/*
2287 - Nicholas Nethercote
2293 - 'Core::Preferences: Backend'
2299 machine_name: core_preferences
2301 - name: 'Core: Private Browsing'
2302 description: Implementation of the Private Browsing mode, and the integration
2303 of other modules with Private Browsing APIs.
2306 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2307 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2315 url: https://wiki.mozilla.org/Private_Browsing
2317 - Firefox::Private Browsing
2322 machine_name: core_private_browsing
2324 - name: 'Core: Privilege Manager'
2325 description: Caps is the capabilities-based security system.
2334 url: http://www.mozilla.org/projects/security/components/index.html
2336 - 'Core::Security: CAPS'
2342 machine_name: core_privilege_manager
2344 - name: 'Core: Push Notifications'
2345 description: Push is a way for application developers to send messages to their
2356 - 'Core::DOM: Push Notifications'
2360 machine_name: core_push_notifications
2362 - name: 'Core: Sandboxing (Linux)'
2363 description: Sandboxing for the Linux platform
2365 - security/sandbox/linux/**/*
2368 url: https://wiki.mozilla.org/Security/Sandbox
2370 - 'Core::Security: Process Sandboxing'
2375 machine_name: core_sandboxing_linux
2377 - name: 'Core: Sandboxing (OSX)'
2378 description: Sandboxing for the OSX platform
2380 - security/sandbox/mac/**/*
2383 url: https://wiki.mozilla.org/Security/Sandbox
2385 - 'Core::Security: Process Sandboxing'
2389 machine_name: core_sandboxing_osx
2391 - name: 'Core: Sandboxing (Windows)'
2392 description: Sandboxing for the Windows platform
2394 - security/sandbox/win/**/*
2404 url: https://wiki.mozilla.org/Security/Sandbox
2406 - 'Core::Security: Process Sandboxing'
2411 machine_name: core_sandboxing_windows
2413 - name: 'Core: security'
2414 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2427 group: dev-tech-crypto
2428 url: :ref:`Network Security Services (NSS)`
2433 - 'Core::Security: S/MIME'
2446 machine_name: core_security
2448 - name: 'Core: Security - Mozilla PSM Glue'
2449 description: Personal Security Manager
2451 - security/manager/**/*
2454 - Kai Engert (2001-2012)
2455 group: dev-tech-crypto
2457 - 'Core::Security: PSM'
2466 machine_name: core_security_mozilla_psm_glue
2468 - machine_name: core_security_rlbox
2469 name: Security - RLBox
2470 description: Sandboxing using WASM/RLBox libraries.
2474 - third_party/rlbox_wasm2c_sandbox
2484 - 'Core::Security: RLBox'
2485 - name: 'Core: Static analysis & rewriting for C++'
2486 description: Tools for checking C++ code looking for problems at compile time,
2487 plus tools for automated rewriting of C++ code.
2489 - build/clang-plugin/**/*
2490 - tools/rewriting/**/*
2491 # TODO among other out of tree tools
2494 - Birunthan Mohanathas
2498 - Core::Rewriting & Analysis
2505 machine_name: core_static_analysis_rewriting_for_c
2507 - name: 'Core: storage'
2508 description: Storage APIs with a SQLite backend
2510 - third_party/sqlite3/**/*
2514 url: http://developer.mozilla.org/en/docs/Storage
2516 - Toolkit::Storage, Core::SQL
2522 machine_name: core_storage
2524 - name: 'Core: String'
2529 group: dev-tech-xpcom
2530 url: :ref:`String Guide`
2537 machine_name: core_string
2539 - name: 'Core: Style System'
2540 description: CSS style sheet handling; style data computation
2551 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2553 - Core::CSS Parsing and Computation
2559 machine_name: core_style_system
2562 description: Scalable Vector Graphics
2569 url: https://developer.mozilla.org/docs/Web/SVG
2579 machine_name: core_svg
2581 - name: 'Core: UA String'
2582 description: User Agent String
2584 - netwerk/protocol/http/**/*
2587 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2589 - 'Core::Networking: HTTP'
2595 machine_name: core_ua_string
2597 - name: 'Core: View System'
2598 description: The View Manager is responsible for handling "heavyweight" rendering
2599 (some clipping, compositing) and event handling tasks.
2607 - 'Core::Layout: View Rendering'
2613 machine_name: core_view_system
2615 - name: 'Core: Web Audio'
2616 description: Support for the W3C Web Audio API specification.
2618 - dom/media/webaudio/**/*
2623 url: https://wiki.mozilla.org/Web_Audio_API
2631 machine_name: core_web_audio
2633 - name: 'Core: Web Painting'
2634 description: painting, display lists, and layer construction
2636 - layout/painting/**/*
2637 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2640 url: :ref:`Layout & CSS`
2642 - 'Core::Layout: Web Painting'
2653 machine_name: core_web_painting
2655 - name: 'Core: Web Workers'
2668 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2670 - 'Core::DOM: Workers'
2676 machine_name: core_web_workers
2678 - name: 'Core: WebGPU (Graphics submodule)'
2679 description: WebGPU implementation
2684 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2686 - Core::Graphics::WebGPU
2692 machine_name: core_webgpu_graphics_submodule
2694 - name: 'Core: WebRTC'
2695 description: WebRTC is responsible for realtime audio and video communication,
2696 as well as related issues like low-level camera and microphone access
2699 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2704 url: https://wiki.mozilla.org/Media/webrtc
2707 - Core::WebRTC Networking
2714 machine_name: core_webrtc
2716 - name: 'Core: WebVR'
2717 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2718 including API, devices, graphics and integration
2724 - Vladimir Vukicevic
2727 url: https://mozvr.com/
2736 - name: 'Core: WebRTC Media'
2737 description: Submodule of WebRTC responsible for access to media input devices
2738 (microphones, cameras, screen capture), as well as realtime audiovisual
2739 codecs and packetization.
2742 - dom/media/webrtc/**/*
2743 - dom/media/systemservices/**/*
2749 url: https://wiki.mozilla.org/Media/webrtc
2751 - Core::WebRTC (Audio/Video)
2758 machine_name: core_webrtc_media
2760 - name: 'Core: WebRTC Signaling'
2761 description: Submodule of WebRTC responsible for implementation of PeerConnection
2762 API, WebRTC identity, and SDP/JSEP handling
2764 - media/webrtc/signaling/**/*
2769 url: https://wiki.mozilla.org/Media/webrtc
2771 - Core::WebRTC (Signaling)
2779 machine_name: core_webrtc_signaling
2780 machine_name: core_webvr
2782 - name: 'Core: Widget'
2783 description: Top level Widget
2788 - Vladimir Vukicevic
2795 - Core::Drag and Drop
2797 - 'Core::Printing: Setup'
2800 machine_name: core_widget
2802 - name: 'Core: Widget - Android'
2803 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2808 machine_name: core_widget_android
2810 - name: 'Core: Widget - GTK'
2811 description: GTK widget support
2818 url: http://www.mozilla.org/ports/gtk/
2820 - 'Core::Widget: Gtk'
2825 machine_name: core_widget_gtk
2827 - name: 'Core: Widget - Headless'
2828 description: Headless widget support
2830 - widget/headless/**/*
2839 machine_name: core_widget_headless
2841 - name: 'Core: Widget - macOS'
2842 description: ' macOS widget support'
2855 - 'Core::Widget: Cocoa'
2861 machine_name: core_widget_macos
2863 - name: 'Core: Widget - Windows'
2864 description: Windows widget support
2866 - widget/windows/**/*
2872 - Vladimir Vukicevic
2875 - Christian Biesinger
2877 - Josh 'timeless' Soref
2884 - 'Core::Widget: Win32'
2890 machine_name: core_widget_windows
2893 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2894 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2895 that are not covered by more specific projects.
2911 machine_name: core_xml
2913 - name: 'Core: XPApps'
2914 description: Cross-Platform Applications, mostly Navigator front end and application
2919 group: dev-apps-seamonkey
2923 - Josh 'timeless' Soref
2926 machine_name: core_xpapps
2928 - name: 'Core: XPCOM'
2929 description: The cross-platform object model and core data structures.
2935 - xpcom/components/**/*
2939 - xpcom/reflect/**/*
2943 - xpcom/threads/**/*
2944 - xpcom/windbgdlg/**/*
2965 machine_name: core_xpcom
2967 - name: 'Core: XPConnect'
2968 description: Deep Magic
2987 machine_name: core_xpconnect
2989 - name: 'Core: XPIDL'
2990 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
2991 runtime type description files from .idl interface description files.
2993 - xpcom/idl-parser/**/*
3000 - Josh 'timeless' Soref
3001 group: dev-tech-xpcom
3007 machine_name: core_xpidl
3009 - name: 'Core: XSLT Processor'
3010 description: XSLT transformations processor
3018 group: dev-tech-xslt
3019 url: https://developer.mozilla.org/docs/Web/XSLT
3025 machine_name: core_xslt_processor
3027 - name: Desktop Firefox
3028 description: Standalone Web Browser.
3041 - Tim Guan-tin Chien
3071 - name: Add-ons Manager
3072 description: Extension management back-end.
3074 - toolkit/mozapps/extensions/**/*
3088 machine_name: addons_manager
3090 - name: Add-ons Manager UI
3091 description: about:addons.
3093 - toolkit/mozapps/extensions/content/**/*
3106 machine_name: addons_manager_ui
3108 - name: Application Update
3109 description: The application update services.
3111 - toolkit/mozapps/update/**/*
3118 machine_name: application_update
3120 - name: Bookmarks & History
3121 description: The bookmarks and history services (Places).
3123 - browser/components/places/**/*
3124 - toolkit/components/places/**/*
3131 machine_name: bookmarks_history
3133 - name: Desktop Theme
3134 description: The style rules used in the desktop UI.
3136 - browser/themes/**/*
3137 - toolkit/themes/**/*
3150 machine_name: desktop_theme
3153 description: The main browser UI except where covered by more specific submodules.
3155 - browser/base/content/**/*
3162 machine_name: desktop_ui
3164 - name: Download Manager
3165 description: The downloads UI and service.
3167 - browser/components/downloads/**/*
3168 - toolkit/mozapps/downloads/**/*
3169 - uriloader/exthandler/**/*
3176 machine_name: download_manager
3178 - name: Enterprise Policies
3179 description: System policies for controlling Firefox.
3181 - browser/components/enterprisepolicies/**/*
3186 machine_name: enterprise_policies
3188 - name: Experiments/Rollouts
3189 description: Desktop clients for our experiments and off-train deployments
3192 - toolkit/components/normandy/**/*
3193 - toolkit/components/nimbus/**/*
3199 - Firefox::Nimbus Desktop Client
3200 url: https://experimenter.info/
3206 machine_name: normandy
3208 - machine_name: firefox_view
3210 description: The Firefox View page and its modules.
3212 - browser/components/firefoxview/**/*
3219 - name: Form Autofill
3220 description: Form detection and autocomplete.
3222 - browser/extensions/formautofill/**/*
3223 - toolkit/components/satchel/**/*
3226 - Matthew Noorenberghe
3232 machine_name: form_autofill
3234 - name: In-product Messaging
3235 description: The system for delivering in-product messaging.
3237 - toolkit/components/messaging-system/**/*
3240 - Firefox::Messaging System
3247 machine_name: inproduct_messaging
3249 - name: Launcher Process
3250 description: Windows process for bootstrapping the browser process.
3252 - browser/app/winlauncher/**/*
3258 - Firefox::Launcher Process
3263 machine_name: launcher_process
3265 - machine_name: localization
3267 description: Tooling to enable translation and facilitate localization.
3275 - name: New Tab Page
3276 description: The new tab/home page.
3278 - browser/components/newtab/**/*
3281 - Firefox::New Tab Page
3288 machine_name: new_tab_page
3291 description: The onboarding experience including UI tours.
3293 - browser/components/uitour/**/*
3301 machine_name: onboarding
3303 - name: Password Manager
3304 description: Managing, saving and filling logins.
3306 - toolkit/components/passwordmgr/**/*
3307 - browser/components/aboutlogins/**/*
3310 - Matthew Noorenberghe
3314 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3316 - Toolkit::Password Manager
3317 - 'Toolkit::Password Manager: Site'
3319 - Firefox::about:logins
3327 machine_name: password_manager
3329 - machine_name: firefox_pip
3330 name: Picture-in-Picture
3331 description: A component that allows video elements to be pulled out into
3332 an always-on-top window.
3334 - toolkit/components/pictureinpicture
3335 - browser/extensions/pictureinpicture
3345 - name: Profile Migration
3346 description: Migrating data from other browsers.
3348 - browser/components/migration/**/*
3356 machine_name: profile_migration
3359 description: Code relating to Screenshots functionality
3361 - browser/extensions/screenshots/**/*
3362 - browser/components/screenshots/**/*
3370 - Firefox::Screenshots
3376 machine_name: screenshots
3378 - name: Search and Address Bar
3379 description: The search service, address bar and address bar autocomplete.
3381 - browser/components/search/**/*
3382 - browser/components/urlbar/**/*
3383 - toolkit/components/search/**/*
3386 - Firefox::Address Bar
3398 machine_name: search_and_address_bar
3400 - name: Security and Privacy UI
3401 description: The front-end to our security and privacy features, including
3402 Protections UI, Site Identity, Site Permissions and Certificate Errors
3404 - browser/components/protections/**/*
3405 - browser/components/controlcenter/**/*
3409 - Nihanth Subramanya
3414 - Firefox::Protections UI
3415 - Firefox::Site Identity
3416 - Firefox::Site Permissions
3421 machine_name: security_and_privacy_ui
3423 - name: Session Restore
3424 description: Restoring a user's session after starting Firefox.
3426 - browser/components/sessionstore/**/*
3427 - toolkit/components/sessionstore/**/*
3435 - Firefox::Session Restore
3441 machine_name: session_restore
3444 description: The front-end settings user interface.
3446 - browser/components/preferences/**/*
3447 - browser/themes/*/preferences
3448 - toolkit/mozapps/preferences
3459 machine_name: settings_ui
3461 - name: Tabbed Browser
3462 description: The UI component controlling browser tabs.
3464 # TODO double check that this works as expected
3465 - browser/base/content/tabbrowser*
3466 - browser/modules/AsyncTabSwitcher.jsm
3469 - Firefox::Tabbed Browser
3473 machine_name: tabbed_browser
3475 - name: Windows Installer
3476 description: The installer for Windows.
3478 - browser/installer/**/*
3479 - toolkit/mozapps/installer/**/*
3482 - Firefox::Installer
3488 machine_name: windows_installer
3489 machine_name: desktop_firefox
3491 - machine_name: devtools
3493 description: Mozilla Developer Tools
3519 - Steve Fink (heapsnapshot code)
3529 - Panagiotis Astithas
3547 url: http://firefox-dev.tools/
3550 - machine_name: javascript_usage
3551 name: JavaScript usage, tools, and style
3552 description: Aspects of JavaScript use such as language feature usage, tooling
3553 such as lint configurations, formatting and naming style.
3555 - .eslintrc-test-paths.js
3556 - '**/.eslintignore'
3558 - tools/lint/eslint/**/*
3575 - machine_name: mozharness
3577 description: Configuration-driven script harness.
3579 - testing/mozharness/**/*
3592 - 'Release Engineering :: Applications: MozharnessCore'
3593 - machine_name: python_usage
3594 name: Python usage, tools, and style
3595 description: Aspects of Python use such as tooling, formatting and naming style
3597 - tools/lint/python/**/*
3607 - 'Developer Infrastructure :: Lint and Formatting'
3609 - machine_name: remote_protocol
3610 name: Remote Protocol
3611 description: Low-level remote protocol exposing interfaces for inspecting state
3612 and controlling execution of web documents, instrumenting various subsystems
3613 in the browser, simulating user interaction for automation purposes, and for
3614 subscribing to updates from the aforementioned.
3620 url: https://firefox-source-docs.mozilla.org/remote/
3629 - machine_name: remote_protocol_agent
3631 description: Underlying transport layer and server to allow remoting of Firefox
3632 for automation and debugging.
3637 - remote/marionette/*
3638 - remote/webdriver-bidi/*
3643 - Maja Frydrychowicz
3647 - 'Remote Protocol :: Agent'
3655 - machine_name: remote_protocol_cdp
3657 description: The core implementation for CDP support. Please file domain specific
3658 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3665 - Maja Frydrychowicz
3669 - 'Remote Protocol :: CDP'
3677 - machine_name: remote_protocol_marionette
3679 description: Marionette is a remote protocol that lets out-of-process programs
3680 communicate with, instrument, and control Gecko-based browsers. Combined
3681 with geckodriver, this forms our WebDriver classic implementation.
3683 - remote/marionette/*
3688 - Maja Frydrychowicz
3691 - 'Remote Protocol :: Marionette'
3692 group: dev-webdriver
3700 - machine_name: remote_protocol_webdriver_bidi
3701 name: WebDriver BiDi
3702 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3704 - remote/webdriver-bidi/*
3707 - 'Remote Protocol :: WebDriver BiDi'
3708 group: dev-webdriver
3716 - machine_name: sync
3718 description: Firefox Sync client
3720 - services/sync/**/*
3733 url: https://wiki.mozilla.org/Services/Process/Code_Review
3737 - machine_name: testing_firefox_ui
3739 description: Firefox UI test framework.
3741 - testing/firefox-ui/**/*
3744 - Maja Frydrychowicz
3746 - 'Testing :: Firefox UI'
3754 - machine_name: testing_geckodriver
3756 description: Proxy for using W3C WebDriver-compatible clients to interact with
3757 Gecko-based browsers.
3759 - testing/geckodriver/**/*
3767 - 'Testing :: geckodriver'
3768 group: dev-webdriver
3770 - machine_name: testing_gtest
3772 description: GTest test harness.
3774 - testing/gtest/**/*
3781 - 'Testing :: GTest'
3783 - machine_name: testing_marionette_client_harness
3784 name: Marionette Client & Harness
3785 description: Python client and harness for the Marionette remote protocol implementation.
3787 - testing/marionette/**/*
3792 - Maja Frydrychowicz
3795 - 'Testing :: Marionette Client & Harness'
3803 - machine_name: testing_mochitest
3805 description: Mochitest test framework
3807 - testing/mochitest/**/*
3816 - 'Testing :: Mochitest'
3817 - machine_name: testing_mozbase
3819 description: Base modules used for implementing test components.
3833 - 'Testing :: Mozbase'
3834 - 'Testing :: Mozbase Rust'
3835 - machine_name: testing_performance_testing
3836 name: Performance Testing
3838 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3839 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3840 the owners/peers of the various components (linked below).
3842 - testing/raptor/**/*
3843 - testing/talos/**/*
3844 - python/mozperftest/**/*
3846 - tools/lint/perfdocs/**/*
3847 - testing/perfdocs/**/*
3848 - testing/performance/**/*
3849 - testing/condprofile/**/*
3850 - tools/browsertime/**/*
3851 - tools/tryselect/selectors/perf.py
3862 - 'Testing :: Raptor'
3863 - 'Testing :: Talos'
3865 - 'Testing :: Performance'
3866 - 'Testing :: mozperftest'
3867 - 'Testing :: Condprofile'
3868 url: :ref:`Performance Testing`
3869 - machine_name: testing_reftest
3870 name: Reftest (+ jsreftest + crashtest)
3871 description: Reftest test framework
3873 - layout/tools/reftest/**/*
3882 - 'Testing :: Reftest'
3883 - machine_name: testing_tryselect
3885 description: Frontend for selecting jobs on the try server.
3887 - tools/tryselect/**/*
3895 - 'Developer Infrastructure :: Try'
3896 - machine_name: testing_web_platform_tests_infrastructure
3897 name: web-platform-tests infrastructure
3898 description: Infrastructure for running the cross-browser web-platform-tests
3900 - testing/web-platform/**/*
3901 - testing/web-platform/tests/tools/**/*
3903 - testing/web-platform/tests/**/*
3904 - testing/web-platform/meta/**/*
3905 - testing/web-platform/mozilla/**/*
3911 - 'Testing :: web-platform-tests'
3912 - machine_name: testing_xpcshell
3914 description: XPCShell test harness.
3916 - testing/xpcshell/**/*
3924 - Testing::XPCShell Harness
3926 description: Components shared between desktop and mobile browsers.
3943 - name: Application Startup
3944 description: The profile system and startup process before the front-end launches.
3946 - toolkit/profile/**/*
3947 - toolkit/components/remote/**/*
3954 machine_name: application_startup
3958 The core infrastructure in the Firefox client to send back telemetry
3959 data. Includes the common mechanisms to record, view and submit data: Legacy
3960 Telemetry and Glean (via Firefox on Glean (FOG)). This module
3961 does ''not'' include responsibility for every piece of submitted Telemetry
3962 data. Each team/module is responsible for their own measurements (histograms,
3963 scalars, other ping submissions, etc.).
3965 - toolkit/components/glean/**/*
3966 - toolkit/components/telemetry/**/*
3967 - toolkit/content/aboutTelemetry.*
3972 url: :ref:`Telemetry`
3980 machine_name: telemetry
3983 description: The base widgets used throughout the UI.
3985 - toolkit/content/widgets/**/*
3992 machine_name: ui_widgets
3994 - name: Webextensions
3995 description: Webextension APIs and integration.
3997 - browser/components/extensions/**/*
3998 - toolkit/components/extensions/**/*
4010 machine_name: webextensions
4011 machine_name: toolkit
4012 - machine_name: url_classifier
4013 name: URL Classifier
4014 description: Database and list-based classification of URL resources, such as
4015 Tracking Protection and SafeBrowsing.
4017 - toolkit/components/url-classifier/**/*
4018 - netwerk/url-classifier/**/*
4027 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4028 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4036 config: eb1c7127cab45ded7b82c157fa2557b252fc7c0e
4037 export: 281744e23b0aa4732edddeca7f4cf915269664b1