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: '2022-12-19T13:47:32.916417'
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
47 name: Yoshi Cheng-Hao Huang
87 name: Andrew Sutherland
95 name: Andrea Marchesini
107 name: Benjamin Bouvier
115 name: Benjamin Beurdouche
154 name: Bryce Seager van Dyk
177 name: Calixte Denizet
184 name: Nazım Can Altınova
188 name: Caroline Cullen
272 name: Dragana Damjanovic
304 name: Emilio Cobos Álvarez
308 name: Masatoshi Kimura
327 name: Nick Fitzgerald
331 name: Francesco Lodolo
347 name: Gian-Carlo Pascutto
365 name: Gabriele Svelto
369 name: Haik Aftandilian
377 name: Hiroyuki Ikezoe
405 name: Jan-Erik Rediger
425 name: Julian Descottes
453 name: Jan-Ivar Bruaroey
508 name: Jean-Yves Avenard
532 name: Kimberly Sereduck
533 nick: kimberlythegeek
560 name: Dzmitry Malyshau
580 name: Marco Castelluccio
592 name: Masayuki Nakano
601 nick: MatsPalmgren_bugz
612 name: Andrew McCreight
643 name: Morgan Reschenberg
691 name: Niklas Baumgardner
719 name: Andreas Pehrson
727 name: Peter Van der Beken
783 name: Shravan Narayan
795 name: Greg Mierzwinski
811 name: Martin Stránský
818 name: Sylvestre Ledru
857 name: Toshihito Kikuchi
920 name: Tomislav Jovanovic
923 - name: mozilla-toplevel
924 description: The top level directory for the mozilla tree.
927 # TODO: verify, as this was toolkit/README
932 # - Technical Leadership Module
935 machine_name: _mozillatoplevel
937 - machine_name: code_coverage
939 description: Tools for code coverage instrumentation, and coverage data parsing
942 - tools/code-coverage/**/*
943 - python/mozbuild/mozbuild/codecoverage/**/*
944 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
953 - 'Testing :: Code Coverage'
954 - name: 'Core: Accessibility'
955 description: Support for platform accessibility APIs. Accessibility APIs are used
956 by 3rd party software like screen readers, screen magnifiers, and voice dictation
957 software, which need information about document content and UI controls, as
958 well as important events like changes of focus.
971 group: dev-accessibility
972 url: https://developer.mozilla.org/docs/Web/Accessibility
974 - Core::Disability Access APIs
981 machine_name: core_accessibility
983 - name: 'Core: Animation'
984 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
985 API, and off-main thread animations.'
988 # TODO "and animation-related and interpolation-related code
989 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
993 - Core::DOM::Animation
994 - Core::CSS Transitions and Animations
1002 machine_name: core_animation
1004 - name: 'Core: Anti-Tracking'
1005 description: Tracking detection and content-blocking.
1007 - toolkit/components/antitracking/**/*
1008 # several files under browser/ and netwerk/url-classifier/ **TODO**
1016 - 'Core::Privacy: Anti-Tracking'
1024 machine_name: core_antitracking
1026 - name: 'Core: APZ (Graphics submodule)'
1027 description: Asynchronous panning and zooming
1029 - gfx/layers/apz/**/*
1036 url: https://wiki.mozilla.org/Platform/GFX/APZ
1038 - Core::Panning and Zooming
1046 machine_name: core_apz_graphics_submodule
1048 - name: 'Core: Browser WebAPI'
1049 description: Web API for rendering apps, browser windows and widgets.
1051 - dom/browser-element/**/*
1062 machine_name: core_browser_webapi
1064 - name: 'Core: Build and Release Tools'
1065 description: Tools related to build and release automation and configuration of
1068 - tools/update-packaging/**/*
1069 - tools/update-verify/**/*
1073 group: release-engineering
1074 url: https://wiki.mozilla.org/ReleaseEngineering
1076 - Release Engineering::*
1082 machine_name: core_build_and_release_tools
1084 - name: 'Core: Build Config'
1085 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1090 - python/mozbuild/**/*
1091 - browser/config/mozconfigs/**/*
1109 url: :ref:`Build System`
1111 - Core::Build Config
1118 - name: 'Core: Build Config - Fennec'
1119 description: Submodule of the build config covering Fennec's build system
1124 - Core::Build Config
1128 machine_name: core_build_config_fennec
1130 - name: 'Core: Build Config - Taskgraph'
1131 description: Support for task-graph generation in decision, action, and cron
1132 tasks, including configuration of all tasks including those for CI, nightlies,
1133 and releases; as well as Docker and VM images used to execute those tasks.
1138 - Firefox Build System::Task Configuration
1154 machine_name: core_build_config_taskgraph
1155 machine_name: core_build_config
1157 - name: 'Core: Code Analysis and Debugging Tools'
1158 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1159 and other characteristics of it.
1162 - tools/leak-gauge/**/*
1163 - tools/performance/**/*
1166 group: dev-performance
1170 machine_name: core_code_analysis_and_debugging_tools
1172 - name: 'Core: Content Security'
1173 description: 'Native content-based security features enforced in the ContentSecurityManager,
1174 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1175 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1176 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1177 and top-level data: URI blocking.'
1189 - 'Core::DOM: Security'
1197 machine_name: core_content_security
1199 - name: 'Core: Cookies'
1202 - netwerk/cookie/**/*
1210 - Christian Biesinger
1215 - 'Core::Networking: Cookies'
1220 machine_name: core_cookies
1222 - name: 'Core: Crash reporting'
1223 description: Infrastructure and tools used to generate, submit and process crash
1224 reports. This includes the in-tree google-breakpad fork, the crash report generation
1225 machinery as well as the host tools used to dump symbols, analyse minidumps
1226 and generate stack traces.
1228 - toolkit/crashreporter/**/*
1229 - toolkit/components/crashes/**/*
1230 - tools/crashreporter/**/*
1231 - ipc/glue/CrashReporter*
1232 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1237 url: :ref:`Crash Reporter`
1239 - Toolkit::Crash Reporting
1245 machine_name: core_crash_reporting
1247 - name: 'Core: C++/Rust usage, tools, and style'
1248 description: Aspects of C++ use such as language feature usage, standard library
1249 versions/usage, compiler/toolchain versions, formatting and naming style, and
1250 aspects of Rust use as needs arise
1252 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1253 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1254 # - docs/code-quality/**/*
1255 # - docs/testing-rust-code/**/*
1256 # - docs/writing-rust-code/**/*
1271 machine_name: core_crust_usage_tools_and_style
1273 - name: 'Core: Cycle Collector'
1274 description: Code to break and collect objects within reference cycles
1276 - xpcom/base/nsCycleCollector.*
1277 # TODO "and some support headers"
1278 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1290 machine_name: core_cycle_collector
1292 - name: 'Core: DLL Services'
1293 description: Windows dynamic linker instrumentation and blocking
1295 - toolkit/xre/dllservices/**/*
1301 - Core::DLL Services
1306 machine_name: core_dll_services
1308 - name: 'Core: docshell'
1312 - uriloader/base/**/*
1318 - Christian Biesinger
1324 - Core::Document Navigation
1331 machine_name: core_docshell
1333 - name: 'Core: Document Object Model'
1337 exclude_module_paths: true
1354 url: http://developer.mozilla.org/en/docs/DOM
1357 - 'Core::DOM: CSS Object Model'
1358 - 'Core::DOM: Core & HTML'
1373 machine_name: core_document_object_model
1375 - name: 'Core: DOM File'
1376 description: DOM Blob, File and FileSystem APIs
1379 - dom/filesystem/**/*
1382 url: http://developer.mozilla.org/en/docs/DOM
1389 machine_name: core_dom_file
1391 - machine_name: core_dom_streams
1392 name: 'Core: DOM Streams'
1393 description: Streams Specification implementation
1404 url: http://developer.mozilla.org/en/docs/DOM
1407 - 'Core::DOM: Streams'
1408 - name: 'Core: Editor'
1423 machine_name: core_editor
1425 - name: 'Core: Event Handling'
1426 description: DOM Events and Event Handling
1429 # TODO "and event handling related code elsewhere"
1434 url: http://developer.mozilla.org/en/docs/DOM
1436 - 'Core::DOM: Events'
1437 - 'Core::DOM: UI Events & Focus Handling'
1443 machine_name: core_event_handling
1445 - machine_name: core_firefox_source_documentation
1446 name: 'Core: Firefox Source Documentation'
1447 description: The infrastructure platform used to generate Firefox's source documentation,
1448 excluding editorial control over the content.
1451 - tools/moztreedocs/
1458 - Developer Infrastructure::Source Documentation
1459 url: https://firefox-source-docs.mozilla.org/
1460 - name: 'Core: Gecko Profiler'
1461 description: Gecko's built-in profiler
1463 - tools/profiler/**/*
1464 - mozglue/baseprofiler/**/*
1469 - Shu-yu Guo (JS integration)
1470 - Thinker Lee (TaskTracer)
1471 - Cervantes Yu (TaskTracer)
1472 - Nicholas Nethercote
1478 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1480 - Core::Gecko Profiler
1487 machine_name: core_gecko_profiler
1489 - name: 'Core: GeckoView'
1490 description: Framework for embedding Gecko into Android applications
1492 - mobile/android/**/*
1493 - widget/android/**/*
1504 url: https://wiki.mozilla.org/Mobile/GeckoView
1506 - GeckoView::General
1512 machine_name: core_geckoview
1514 - name: 'Core: Global Key Bindings'
1515 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1516 and the like, as those are part of i18n.
1519 # TODO "and platform specific directories under it"
1521 group: dev-accessibility
1522 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1524 - 'Core::Keyboard: Navigation'
1529 machine_name: core_global_key_bindings
1531 - name: 'Core: Graphics'
1532 description: Mozilla graphics API
1540 - Benoit Girard(Compositor, Performance)
1542 - George Wright(Canvas2D)
1546 - John Daggett(text/fonts)
1547 - Benoit Jacob(gfx/gl)
1549 - Vladimir Vukicevic
1550 - James Willcox(Android)
1553 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1554 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1557 - 'Core::Graphics: Layers'
1558 - 'Core::Graphics: Text'
1559 - 'Core::Graphics: WebRender'
1560 - 'Core::GFX: Color Management'
1561 - 'Core::Canvas: 2D'
1562 - 'Core::Canvas: WebGL'
1574 machine_name: core_graphics
1577 description: Hardware Abstraction Layer
1583 - Core::Hardware Abstraction Layer (HAL)
1587 machine_name: core_hal
1589 - name: 'Core: HTML Parser'
1590 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1591 to the HTML specification, and is mostly translated automatically from Java
1597 url: http://about.validator.nu/
1599 - 'Core::HTML: Parser'
1604 machine_name: core_html_parser
1606 - name: 'Core: I18N Library'
1615 url: :ref:`Internationalization`
1617 - Core::Internationalization
1625 machine_name: core_i18n_library
1627 - name: 'Core: ImageLib'
1630 - media/libjpeg/**/*
1647 machine_name: core_imagelib
1649 - name: 'Core: IndexedDB'
1652 - dom/indexedDB/**/*
1660 url: https://developer.mozilla.org/en/IndexedDB
1662 - 'Core::DOM: IndexedDB'
1669 machine_name: core_indexeddb
1672 description: Native message-passing between threads and processes
1699 machine_name: core_ipc
1701 - name: 'Core: JavaScript'
1702 description: JavaScript engine (SpiderMonkey)
1726 - Nicholas Nethercote
1731 url: https://spidermonkey.dev/
1733 - Core::JavaScript Engine
1734 - 'Core::JavaScript: GC'
1735 - 'Core::JavaScript: Internationalization API'
1736 - 'Core::JavaScript: Standard Library'
1737 - 'Core::JavaScript: WebAssembly'
1759 machine_name: core_javascript
1761 - name: 'Core: JavaScript JIT'
1762 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1770 url: https://spidermonkey.dev/
1772 - 'Core::JavaScript Engine: JIT'
1788 machine_name: core_javascript_jit
1790 - name: 'Core: js-tests'
1791 description: JavaScript test suite
1795 group: dev-tech-js-engine
1796 url: http://www.mozilla.org/js/tests/library.html
1800 machine_name: core_jstests
1802 - name: 'Core: Layout Engine'
1803 description: rendering tree construction, layout (reflow), etc.
1809 - layout/generic/**/*
1810 - layout/printing/**/*
1811 - layout/tables/**/*
1820 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1823 - 'Core::Layout: Block and Inline'
1824 - 'Core::Layout: Columns'
1825 - 'Core::Layout: Flexbox'
1826 - 'Core::Layout: Floats'
1827 - 'Core::Layout: Form Controls'
1828 - 'Core::Layout: Generated Content, Lists, and Counters'
1829 - 'Core::Layout: Grid'
1830 - 'Core::Layout: Images, Video, and HTML Frames'
1831 - 'Core::Layout: Positioned'
1832 - 'Core::Layout: Ruby'
1833 - 'Core::Layout: Scrolling and Overflow'
1834 - 'Core::Layout: Tables'
1835 - 'Core::Layout: Text and Fonts'
1836 - Core::Print Preview
1837 - 'Core::Printing: Output'
1849 machine_name: core_layout_engine
1851 - name: 'Core: Legacy HTML Parser'
1854 - parser/htmlparser/**/*
1858 url: http://www.mozilla.org/newlayout/doc/parser.html
1860 - 'Core::HTML: Parser'
1867 machine_name: core_legacy_html_parser
1869 - name: 'Core: libjar'
1870 description: The JAR handling code (protocol handler, stream implementation, and
1871 zipreader/zipwriter).
1873 - modules/libjar/**/*
1883 - 'Core::Networking: JAR'
1889 machine_name: core_libjar
1891 - name: 'Core: MathML'
1892 description: MathML is a low-level specification for describing mathematics which
1893 provides a foundation for the inclusion of mathematical expressions in Web pages.
1895 - layout/mathml/**/*
1897 group: dev-tech-mathml
1898 url: https://developer.mozilla.org/docs/Web/MathML
1905 machine_name: core_mathml
1907 - name: 'Core: Media Playback'
1908 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
1909 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
1912 - media/gmp-clearkey/**/*
1913 - media/libcubeb/**/*
1914 - media/libnestegg/**/*
1916 - media/libopus/**/*
1917 - media/libtheora/**/*
1918 - media/libtremor/**/*
1919 - media/libvorbis/**/*
1921 - dom/media/platforms/omx/**/*
1922 - dom/media/gmp/rlz/**/*
1937 machine_name: core_media_playback
1939 - name: 'Core: Media Transport'
1940 description: Pluggable transport for real-time media
1942 - dom/media/webrtc/transport/**/*
1946 - Core::WebRTC::Networking
1953 machine_name: core_media_transport
1955 - name: 'Core: Memory Allocator'
1956 description: Most things related to memory allocation in Gecko, including jemalloc,
1957 replace-malloc, DMD (dark matter detector), logalloc, etc.
1963 - Nicholas Nethercote
1971 machine_name: core_memory_allocator
1973 - name: 'Core: mfbt'
1974 description: mfbt is a collection of headers, macros, data structures, methods,
1975 and other functionality available for use and reuse throughout all Mozilla code
1976 (including SpiderMonkey and Gecko more broadly).
1988 machine_name: core_mfbt
1990 - name: 'Core: Moz2D (Graphics submodule)'
1991 description: Platform independent 2D graphics API
1996 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2004 machine_name: core_moz2d_graphics_submodule
2006 - name: 'Core: Mozglue'
2007 description: Glue library containing various low-level functionality, including
2008 a dynamic linker for Android, a DLL block list for Windows, etc.
2016 - Kartikaya Gupta (mozglue/android)
2021 machine_name: core_mozglue
2023 - name: 'Core: MSCOM'
2024 description: Integration with Microsoft Distributed COM
2034 - 'Core::IPC: MSCOM'
2037 machine_name: core_mscom
2039 - name: 'Core: Necko'
2040 description: The Mozilla Networking Library
2044 - netwerk/build/**/*
2045 - netwerk/cache/**/*
2047 - netwerk/locales/**/*
2049 - netwerk/protocol/**/*
2050 - netwerk/socket/**/*
2051 - netwerk/streamconv/**/*
2052 - netwerk/system/**/*
2057 - dom/websocket/**/*
2058 - uriloader/prefetch/**/*
2059 - uriloader/preload/**/*
2062 - Dragana Damjanovic
2064 - Christian Biesinger
2075 group: dev-tech-network
2076 url: :ref:`Networking`
2079 - 'Core::Networking: Cache'
2080 - 'Core::Networking: Cookies'
2081 - 'Core::Networking: FTP'
2082 - 'Core::Networking: File'
2083 - 'Core::Networking: HTTP'
2084 - 'Core::Networking: JAR'
2085 - 'Core::Networking: Websockets'
2086 - 'Core::DOM: Networking'
2092 machine_name: core_necko
2094 - name: 'Core: NodeJS usage, tools, and style'
2095 description: Advises on the use of NodeJS and npm packages at build and runtime.
2096 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2097 teams to maintain automated license and security audits of npm packages. Works
2098 with the security team and relevant developers to respond to vulnerabilities
2099 in NodeJS and vendored npm packages.
2104 # TODO: and others as appropriate
2108 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2117 machine_name: core_nodejs_usage_tools_and_style
2119 - name: 'Core: NSPR'
2120 description: Netscape Portable Runtime
2126 group: dev-tech-nspr
2134 machine_name: core_nspr
2137 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2140 - toolkit/components/pdfjs/**/*
2148 url: https://github.com/mozilla/pdf.js
2155 machine_name: core_pdf
2157 - name: 'Core: Permissions'
2160 - extensions/permissions/**/*
2169 - Christian Biesinger
2174 - 'Core :: Permission Manager'
2181 machine_name: core_permissions
2183 - name: 'Core: Plugins'
2184 description: ' NPAPI Plugin support.'
2196 url: https://wiki.mozilla.org/Plugins
2201 machine_name: core_plugins
2203 - name: 'Core: Preferences'
2204 description: Preference library
2206 - modules/libpref/**/*
2209 - Nicholas Nethercote
2215 - 'Core::Preferences: Backend'
2221 machine_name: core_preferences
2223 - name: 'Core: Private Browsing'
2224 description: Implementation of the Private Browsing mode, and the integration
2225 of other modules with Private Browsing APIs.
2228 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2229 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2237 url: https://wiki.mozilla.org/Private_Browsing
2239 - Firefox::Private Browsing
2244 machine_name: core_private_browsing
2246 - name: 'Core: Privilege Manager'
2247 description: Caps is the capabilities-based security system.
2256 url: http://www.mozilla.org/projects/security/components/index.html
2258 - 'Core::Security: CAPS'
2264 machine_name: core_privilege_manager
2266 - name: 'Core: Push Notifications'
2267 description: Push is a way for application developers to send messages to their
2278 - 'Core::DOM: Push Notifications'
2282 machine_name: core_push_notifications
2284 - name: 'Core: Sandboxing (Linux)'
2285 description: Sandboxing for the Linux platform
2287 - security/sandbox/linux/**/*
2290 url: https://wiki.mozilla.org/Security/Sandbox
2292 - 'Core::Security: Process Sandboxing'
2297 machine_name: core_sandboxing_linux
2299 - name: 'Core: Sandboxing (OSX)'
2300 description: Sandboxing for the OSX platform
2302 - security/sandbox/mac/**/*
2305 url: https://wiki.mozilla.org/Security/Sandbox
2307 - 'Core::Security: Process Sandboxing'
2311 machine_name: core_sandboxing_osx
2313 - name: 'Core: Sandboxing (Windows)'
2314 description: Sandboxing for the Windows platform
2316 - security/sandbox/win/**/*
2326 url: https://wiki.mozilla.org/Security/Sandbox
2328 - 'Core::Security: Process Sandboxing'
2333 machine_name: core_sandboxing_windows
2335 - name: 'Core: security'
2336 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2349 group: dev-tech-crypto
2350 url: :ref:`Network Security Services (NSS)`
2355 - 'Core::Security: S/MIME'
2368 machine_name: core_security
2370 - name: 'Core: Security - Mozilla PSM Glue'
2371 description: Personal Security Manager
2373 - security/manager/**/*
2376 - Kai Engert (2001-2012)
2377 group: dev-tech-crypto
2379 - 'Core::Security: PSM'
2388 machine_name: core_security_mozilla_psm_glue
2390 - machine_name: core_security_rlbox
2391 name: Security - RLBox
2392 description: Sandboxing using WASM/RLBox libraries.
2396 - third_party/rlbox_wasm2c_sandbox
2406 - 'Core::Security: RLBox'
2407 - name: 'Core: Static analysis & rewriting for C++'
2408 description: Tools for checking C++ code looking for problems at compile time,
2409 plus tools for automated rewriting of C++ code.
2411 - build/clang-plugin/**/*
2412 - tools/rewriting/**/*
2413 # TODO among other out of tree tools
2416 - Birunthan Mohanathas
2420 - Core::Rewriting & Analysis
2427 machine_name: core_static_analysis_rewriting_for_c
2429 - name: 'Core: storage'
2430 description: Storage APIs with a SQLite backend
2432 - third_party/sqlite3/**/*
2436 url: http://developer.mozilla.org/en/docs/Storage
2438 - Toolkit::Storage, Core::SQL
2444 machine_name: core_storage
2446 - name: 'Core: String'
2451 group: dev-tech-xpcom
2452 url: :ref:`String Guide`
2459 machine_name: core_string
2461 - name: 'Core: Style System'
2462 description: CSS style sheet handling; style data computation
2473 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2475 - Core::CSS Parsing and Computation
2481 machine_name: core_style_system
2484 description: Scalable Vector Graphics
2491 url: https://developer.mozilla.org/docs/Web/SVG
2501 machine_name: core_svg
2503 - name: 'Core: UA String'
2504 description: User Agent String
2506 - netwerk/protocol/http/**/*
2509 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2511 - 'Core::Networking: HTTP'
2517 machine_name: core_ua_string
2519 - name: 'Core: View System'
2520 description: The View Manager is responsible for handling "heavyweight" rendering
2521 (some clipping, compositing) and event handling tasks.
2529 - 'Core::Layout: View Rendering'
2535 machine_name: core_view_system
2537 - name: 'Core: Web Audio'
2538 description: Support for the W3C Web Audio API specification.
2540 - dom/media/webaudio/**/*
2545 url: https://wiki.mozilla.org/Web_Audio_API
2553 machine_name: core_web_audio
2555 - name: 'Core: Web Painting'
2556 description: painting, display lists, and layer construction
2558 - layout/painting/**/*
2559 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2562 url: :ref:`Layout & CSS`
2564 - 'Core::Layout: Web Painting'
2575 machine_name: core_web_painting
2577 - name: 'Core: Web Workers'
2590 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2592 - 'Core::DOM: Workers'
2598 machine_name: core_web_workers
2600 - name: 'Core: WebGPU (Graphics submodule)'
2601 description: WebGPU implementation
2606 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2608 - Core::Graphics::WebGPU
2614 machine_name: core_webgpu_graphics_submodule
2616 - name: 'Core: WebRTC'
2617 description: WebRTC is responsible for realtime audio and video communication,
2618 as well as related issues like low-level camera and microphone access
2621 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2626 url: https://wiki.mozilla.org/Media/webrtc
2629 - Core::WebRTC Networking
2636 machine_name: core_webrtc
2638 - name: 'Core: WebVR'
2639 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2640 including API, devices, graphics and integration
2646 - Vladimir Vukicevic
2649 url: https://mozvr.com/
2658 - name: 'Core: WebRTC Media'
2659 description: Submodule of WebRTC responsible for access to media input devices
2660 (microphones, cameras, screen capture), as well as realtime audiovisual
2661 codecs and packetization.
2664 - dom/media/webrtc/**/*
2665 - dom/media/systemservices/**/*
2671 url: https://wiki.mozilla.org/Media/webrtc
2673 - Core::WebRTC (Audio/Video)
2680 machine_name: core_webrtc_media
2682 - name: 'Core: WebRTC Signaling'
2683 description: Submodule of WebRTC responsible for implementation of PeerConnection
2684 API, WebRTC identity, and SDP/JSEP handling
2686 - media/webrtc/signaling/**/*
2691 url: https://wiki.mozilla.org/Media/webrtc
2693 - Core::WebRTC (Signaling)
2701 machine_name: core_webrtc_signaling
2702 machine_name: core_webvr
2704 - name: 'Core: Widget'
2705 description: Top level Widget
2710 - Vladimir Vukicevic
2717 - Core::Drag and Drop
2719 - 'Core::Printing: Setup'
2722 machine_name: core_widget
2724 - name: 'Core: Widget - Android'
2725 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2730 machine_name: core_widget_android
2732 - name: 'Core: Widget - GTK'
2733 description: GTK widget support
2740 url: http://www.mozilla.org/ports/gtk/
2742 - 'Core::Widget: Gtk'
2747 machine_name: core_widget_gtk
2749 - name: 'Core: Widget - Headless'
2750 description: Headless widget support
2752 - widget/headless/**/*
2761 machine_name: core_widget_headless
2763 - name: 'Core: Widget - macOS'
2764 description: ' macOS widget support'
2777 - 'Core::Widget: Cocoa'
2783 machine_name: core_widget_macos
2785 - name: 'Core: Widget - Windows'
2786 description: Windows widget support
2788 - widget/windows/**/*
2794 - Vladimir Vukicevic
2797 - Christian Biesinger
2799 - Josh 'timeless' Soref
2806 - 'Core::Widget: Win32'
2812 machine_name: core_widget_windows
2815 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2816 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2817 that are not covered by more specific projects.
2833 machine_name: core_xml
2835 - name: 'Core: XPApps'
2836 description: Cross-Platform Applications, mostly Navigator front end and application
2841 group: dev-apps-seamonkey
2845 - Josh 'timeless' Soref
2848 machine_name: core_xpapps
2850 - name: 'Core: XPCOM'
2851 description: The cross-platform object model and core data structures.
2857 - xpcom/components/**/*
2861 - xpcom/reflect/**/*
2865 - xpcom/threads/**/*
2866 - xpcom/windbgdlg/**/*
2887 machine_name: core_xpcom
2889 - name: 'Core: XPConnect'
2890 description: Deep Magic
2909 machine_name: core_xpconnect
2911 - name: 'Core: XPIDL'
2912 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
2913 runtime type description files from .idl interface description files.
2915 - xpcom/idl-parser/**/*
2922 - Josh 'timeless' Soref
2923 group: dev-tech-xpcom
2929 machine_name: core_xpidl
2931 - name: 'Core: XSLT Processor'
2932 description: XSLT transformations processor
2940 group: dev-tech-xslt
2941 url: https://developer.mozilla.org/docs/Web/XSLT
2947 machine_name: core_xslt_processor
2949 - name: Desktop Firefox
2950 description: Standalone Web Browser.
2963 - Tim Guan-tin Chien
2993 - name: Add-ons Manager
2994 description: Extension management back-end.
2996 - toolkit/mozapps/extensions/**/*
3010 machine_name: addons_manager
3012 - name: Add-ons Manager UI
3013 description: about:addons.
3015 - toolkit/mozapps/extensions/content/**/*
3028 machine_name: addons_manager_ui
3030 - name: Application Update
3031 description: The application update services.
3033 - toolkit/mozapps/update/**/*
3040 machine_name: application_update
3042 - name: Bookmarks & History
3043 description: The bookmarks and history services (Places).
3045 - browser/components/places/**/*
3046 - toolkit/components/places/**/*
3053 machine_name: bookmarks_history
3055 - name: Desktop Theme
3056 description: The style rules used in the desktop UI.
3058 - browser/themes/**/*
3059 - toolkit/themes/**/*
3072 machine_name: desktop_theme
3075 description: The main browser UI except where covered by more specific submodules.
3077 - browser/base/content/**/*
3084 machine_name: desktop_ui
3086 - name: Download Manager
3087 description: The downloads UI and service.
3089 - browser/components/downloads/**/*
3090 - toolkit/mozapps/downloads/**/*
3091 - uriloader/exthandler/**/*
3099 machine_name: download_manager
3101 - name: Enterprise Policies
3102 description: System policies for controlling Firefox.
3104 - browser/components/enterprisepolicies/**/*
3109 machine_name: enterprise_policies
3111 - name: Experiments/Rollouts
3112 description: Desktop clients for our experiments and off-train deployments
3115 - toolkit/components/normandy/**/*
3116 - toolkit/components/nimbus/**/*
3122 - Firefox::Nimbus Desktop Client
3123 url: https://experimenter.info/
3129 machine_name: normandy
3131 - name: Form Autofill
3132 description: Form detection and autocomplete.
3134 - browser/extensions/formautofill/**/*
3135 - toolkit/components/satchel/**/*
3138 - Matthew Noorenberghe
3144 machine_name: form_autofill
3146 - name: In-product Messaging
3147 description: The system for delivering in-product messaging.
3149 - toolkit/components/messaging-system/**/*
3152 - Firefox::Messaging System
3159 machine_name: inproduct_messaging
3161 - name: Launcher Process
3162 description: Windows process for bootstrapping the browser process.
3164 - browser/app/winlauncher/**/*
3170 - Firefox::Launcher Process
3175 machine_name: launcher_process
3177 - machine_name: localization
3179 description: Tooling to enable translation and facilitate localization.
3187 - name: New Tab Page
3188 description: The new tab/home page.
3190 - browser/components/newtab/**/*
3193 - Firefox::New Tab Page
3200 machine_name: new_tab_page
3203 description: The onboarding experience including UI tours.
3205 - browser/components/uitour/**/*
3213 machine_name: onboarding
3215 - name: Password Manager
3216 description: Managing, saving and filling logins.
3218 - toolkit/components/passwordmgr/**/*
3219 - browser/components/aboutlogins/**/*
3222 - Matthew Noorenberghe
3226 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3228 - Toolkit::Password Manager
3229 - 'Toolkit::Password Manager: Site'
3231 - Firefox::about:logins
3239 machine_name: password_manager
3241 - machine_name: firefox_pip
3242 name: Picture-in-Picture
3243 description: A component that allows video elements to be pulled out into
3244 an always-on-top window.
3246 - toolkit/components/pictureinpicture
3247 - browser/extensions/pictureinpicture
3259 - name: Profile Migration
3260 description: Migrating data from other browsers.
3262 - browser/components/migration/**/*
3269 machine_name: profile_migration
3272 description: Code relating to Screenshots functionality
3274 - browser/extensions/screenshots/**/*
3275 - browser/components/screenshots/**/*
3283 - Firefox::Screenshots
3289 machine_name: screenshots
3291 - name: Search and Address Bar
3292 description: The search service, address bar and address bar autocomplete.
3294 - browser/components/search/**/*
3295 - browser/components/urlbar/**/*
3296 - toolkit/components/search/**/*
3299 - Firefox::Address Bar
3311 machine_name: search_and_address_bar
3313 - name: Security and Privacy UI
3314 description: The front-end to our security and privacy features, including
3315 Protections UI, Site Identity, Site Permissions and Certificate Errors
3317 - browser/components/protections/**/*
3318 - browser/components/controlcenter/**/*
3322 - Nihanth Subramanya
3327 - Firefox::Protections UI
3328 - Firefox::Site Identity
3329 - Firefox::Site Permissions
3334 machine_name: security_and_privacy_ui
3336 - name: Session Restore
3337 description: Restoring a user's session after starting Firefox.
3339 - browser/components/sessionstore/**/*
3340 - toolkit/components/sessionstore/**/*
3348 - Firefox::Session Restore
3354 machine_name: session_restore
3357 description: The front-end settings user interface.
3359 - browser/components/preferences/**/*
3360 - browser/themes/*/preferences
3361 - toolkit/mozapps/preferences
3372 machine_name: settings_ui
3374 - name: Tabbed Browser
3375 description: The UI component controlling browser tabs.
3377 # TODO double check that this works as expected
3378 - browser/base/content/tabbrowser*
3379 - browser/modules/AsyncTabSwitcher.jsm
3382 - Firefox::Tabbed Browser
3386 machine_name: tabbed_browser
3388 - name: Windows Installer
3389 description: The installer for Windows.
3391 - browser/installer/**/*
3392 - toolkit/mozapps/installer/**/*
3395 - Firefox::Installer
3401 machine_name: windows_installer
3402 machine_name: desktop_firefox
3404 - machine_name: marionette
3406 description: Marionette is a remote protocol that lets out-of-process programs
3407 communicate with, instrument, and control Gecko-based browsers. Combined with
3408 geckodriver, this forms our WebDriver implementation.
3410 - testing/marionette/**/*
3419 - 'Testing :: Marionette'
3427 - machine_name: mozharness
3429 description: Configuration-driven script harness.
3431 - testing/mozharness/**/*
3444 - 'Release Engineering :: Applications: MozharnessCore'
3445 - machine_name: python_usage
3446 name: Python usage, tools, and style
3447 description: Aspects of Python use such as tooling, formatting and naming style
3449 - tools/lint/python/**/*
3459 - 'Developer Infrastructure :: Lint and Formatting'
3460 - machine_name: testing_firefox_ui
3462 description: Firefox UI test framework.
3464 - testing/firefox-ui/**/*
3472 - 'Testing :: Firefox UI'
3473 - machine_name: testing_geckodriver
3475 description: Proxy for using W3C WebDriver-compatible clients to interact with
3476 Gecko-based browsers.
3478 - testing/geckodriver/**/*
3486 - 'Testing :: geckodriver'
3487 - machine_name: testing_gtest
3489 description: GTest test harness.
3491 - testing/gtest/**/*
3498 - 'Testing :: GTest'
3499 - machine_name: testing_mochitest
3501 description: Mochitest test framework
3503 - testing/mochitest/**/*
3512 - 'Testing :: Mochitest'
3513 - machine_name: testing_mozbase
3515 description: Base modules used for implementing test components.
3529 - 'Testing :: Mozbase'
3530 - 'Testing :: Mozbase Rust'
3531 - machine_name: testing_performance_testing
3532 name: Performance Testing
3534 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3535 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3536 the owners/peers of the various components (linked below).
3538 - testing/raptor/**/*
3539 - testing/talos/**/*
3540 - python/mozperftest/**/*
3542 - tools/lint/perfdocs/**/*
3543 - testing/perfdocs/**/*
3544 - testing/performance/**/*
3545 - testing/condprofile/**/*
3546 - tools/browsertime/**/*
3547 - tools/tryselect/selectors/perf.py
3558 - 'Testing :: Raptor'
3559 - 'Testing :: Talos'
3561 - 'Testing :: Performance'
3562 - 'Testing :: mozperftest'
3563 - 'Testing :: Condprofile'
3564 url: :ref:`Performance Testing`
3565 - machine_name: testing_reftest
3566 name: Reftest (+ jsreftest + crashtest)
3567 description: Reftest test framework
3569 - layout/tools/reftest/**/*
3578 - 'Testing :: Reftest'
3579 - machine_name: testing_tryselect
3581 description: Frontend for selecting jobs on the try server.
3583 - tools/tryselect/**/*
3591 - 'Developer Infrastructure :: Try'
3592 - machine_name: testing_web_platform_tests_infrastructure
3593 name: web-platform-tests infrastructure
3594 description: Infrastructure for running the cross-browser web-platform-tests
3596 - testing/web-platform/**/*
3597 - testing/web-platform/tests/tools/**/*
3599 - testing/web-platform/tests/**/*
3600 - testing/web-platform/meta/**/*
3601 - testing/web-platform/mozilla/**/*
3607 - 'Testing :: web-platform-tests'
3608 - machine_name: testing_xpcshell
3610 description: XPCShell test harness.
3612 - testing/xpcshell/**/*
3620 - Testing::XPCShell Harness
3622 description: Components shared between desktop and mobile browsers.
3639 - name: Application Startup
3640 description: The profile system and startup process before the front-end launches.
3642 - toolkit/profile/**/*
3643 - toolkit/components/remote/**/*
3650 machine_name: application_startup
3654 The core infrastructure in the Firefox client to send back telemetry
3655 data. Includes the common mechanisms to record, view and submit data: Legacy
3656 Telemetry and Glean (via Firefox on Glean (FOG)). This module
3657 does ''not'' include responsibility for every piece of submitted Telemetry
3658 data. Each team/module is responsible for their own measurements (histograms,
3659 scalars, other ping submissions, etc.).
3661 - toolkit/components/glean/**/*
3662 - toolkit/components/telemetry/**/*
3663 - toolkit/content/aboutTelemetry.*
3668 url: :ref:`Telemetry`
3676 machine_name: telemetry
3679 description: The base widgets used throughout the UI.
3681 - toolkit/content/widgets/**/*
3688 machine_name: ui_widgets
3690 - name: Webextensions
3691 description: Webextension APIs and integration.
3693 - browser/components/extensions/**/*
3694 - toolkit/components/extensions/**/*
3706 machine_name: webextensions
3707 machine_name: toolkit
3709 config: 2e6a207c15f7ebd3e3f264737394d799da175f89
3710 export: bf7d0718b73a89e66c3b54a155eac7f41c31cf19