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-01-17T15:01:58.068250'
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: Benjamin Beurdouche
151 name: Bryce Seager van Dyk
174 name: Calixte Denizet
181 name: Nazım Can Altınova
185 name: Caroline Cullen
269 name: Dragana Damjanovic
301 name: Emilio Cobos Álvarez
305 name: Masatoshi Kimura
324 name: Nick Fitzgerald
328 name: Francesco Lodolo
344 name: Gian-Carlo Pascutto
362 name: Gabriele Svelto
366 name: Haik Aftandilian
374 name: Hiroyuki Ikezoe
402 name: Jan-Erik Rediger
422 name: Julian Descottes
450 name: Jan-Ivar Bruaroey
505 name: Jean-Yves Avenard
529 name: Kimberly Sereduck
530 nick: kimberlythegeek
557 name: Dzmitry Malyshau
577 name: Marco Castelluccio
589 name: Masayuki Nakano
598 nick: MatsPalmgren_bugz
609 name: Andrew McCreight
640 name: Morgan Reschenberg
688 name: Niklas Baumgardner
716 name: Andreas Pehrson
724 name: Peter Van der Beken
784 name: Shravan Narayan
796 name: Greg Mierzwinski
812 name: Martin Stránský
819 name: Sylvestre Ledru
858 name: Toshihito Kikuchi
921 name: Tomislav Jovanovic
924 - name: mozilla-toplevel
925 description: The top level directory for the mozilla tree.
928 # TODO: verify, as this was toolkit/README
933 # - Technical Leadership Module
936 machine_name: _mozillatoplevel
938 - machine_name: code_coverage
940 description: Tools for code coverage instrumentation, and coverage data parsing
943 - tools/code-coverage/**/*
944 - python/mozbuild/mozbuild/codecoverage/**/*
945 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
954 - 'Testing :: Code Coverage'
955 - name: 'Core: Accessibility'
956 description: Support for platform accessibility APIs. Accessibility APIs are used
957 by 3rd party software like screen readers, screen magnifiers, and voice dictation
958 software, which need information about document content and UI controls, as
959 well as important events like changes of focus.
972 group: dev-accessibility
973 url: https://developer.mozilla.org/docs/Web/Accessibility
975 - Core::Disability Access APIs
982 machine_name: core_accessibility
984 - name: 'Core: Animation'
985 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
986 API, and off-main thread animations.'
989 # TODO "and animation-related and interpolation-related code
990 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
994 - Core::DOM::Animation
995 - Core::CSS Transitions and Animations
1003 machine_name: core_animation
1005 - name: 'Core: Anti-Tracking'
1006 description: Tracking detection and content-blocking.
1008 - toolkit/components/antitracking/**/*
1009 # several files under browser/ and netwerk/url-classifier/ **TODO**
1017 - 'Core::Privacy: Anti-Tracking'
1025 machine_name: core_antitracking
1027 - name: 'Core: APZ (Graphics submodule)'
1028 description: Asynchronous panning and zooming
1030 - gfx/layers/apz/**/*
1037 url: https://wiki.mozilla.org/Platform/GFX/APZ
1039 - Core::Panning and Zooming
1047 machine_name: core_apz_graphics_submodule
1049 - name: 'Core: Browser WebAPI'
1050 description: Web API for rendering apps, browser windows and widgets.
1052 - dom/browser-element/**/*
1063 machine_name: core_browser_webapi
1065 - name: 'Core: Build and Release Tools'
1066 description: Tools related to build and release automation and configuration of
1069 - tools/update-packaging/**/*
1070 - tools/update-verify/**/*
1074 group: release-engineering
1075 url: https://wiki.mozilla.org/ReleaseEngineering
1077 - Release Engineering::*
1083 machine_name: core_build_and_release_tools
1085 - name: 'Core: Build Config'
1086 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1091 - python/mozbuild/**/*
1092 - browser/config/mozconfigs/**/*
1110 url: :ref:`Build System`
1112 - Core::Build Config
1119 - name: 'Core: Build Config - Fennec'
1120 description: Submodule of the build config covering Fennec's build system
1125 - Core::Build Config
1129 machine_name: core_build_config_fennec
1131 - name: 'Core: Build Config - Taskgraph'
1132 description: Support for task-graph generation in decision, action, and cron
1133 tasks, including configuration of all tasks including those for CI, nightlies,
1134 and releases; as well as Docker and VM images used to execute those tasks.
1139 - Firefox Build System::Task Configuration
1155 machine_name: core_build_config_taskgraph
1156 machine_name: core_build_config
1158 - name: 'Core: Code Analysis and Debugging Tools'
1159 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1160 and other characteristics of it.
1163 - tools/leak-gauge/**/*
1164 - tools/performance/**/*
1167 group: dev-performance
1171 machine_name: core_code_analysis_and_debugging_tools
1173 - name: 'Core: Content Security'
1174 description: 'Native content-based security features enforced in the ContentSecurityManager,
1175 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1176 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1177 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1178 and top-level data: URI blocking.'
1190 - 'Core::DOM: Security'
1198 machine_name: core_content_security
1200 - name: 'Core: Cookies'
1203 - netwerk/cookie/**/*
1211 - Christian Biesinger
1216 - 'Core::Networking: Cookies'
1221 machine_name: core_cookies
1223 - name: 'Core: Crash reporting'
1224 description: Infrastructure and tools used to generate, submit and process crash
1225 reports. This includes the in-tree google-breakpad fork, the crash report generation
1226 machinery as well as the host tools used to dump symbols, analyse minidumps
1227 and generate stack traces.
1229 - toolkit/crashreporter/**/*
1230 - toolkit/components/crashes/**/*
1231 - tools/crashreporter/**/*
1232 - ipc/glue/CrashReporter*
1233 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1238 url: :ref:`Crash Reporter`
1240 - Toolkit::Crash Reporting
1246 machine_name: core_crash_reporting
1248 - name: 'Core: C++/Rust usage, tools, and style'
1249 description: Aspects of C++ use such as language feature usage, standard library
1250 versions/usage, compiler/toolchain versions, formatting and naming style, and
1251 aspects of Rust use as needs arise
1253 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1254 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1255 # - docs/code-quality/**/*
1256 # - docs/testing-rust-code/**/*
1257 # - docs/writing-rust-code/**/*
1272 machine_name: core_crust_usage_tools_and_style
1274 - name: 'Core: Cycle Collector'
1275 description: Code to break and collect objects within reference cycles
1277 - xpcom/base/nsCycleCollector.*
1278 # TODO "and some support headers"
1279 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1291 machine_name: core_cycle_collector
1293 - name: 'Core: DLL Services'
1294 description: Windows dynamic linker instrumentation and blocking
1296 - toolkit/xre/dllservices/**/*
1302 - Core::DLL Services
1307 machine_name: core_dll_services
1309 - name: 'Core: docshell'
1313 - uriloader/base/**/*
1319 - Christian Biesinger
1325 - Core::Document Navigation
1332 machine_name: core_docshell
1334 - name: 'Core: Document Object Model'
1338 exclude_module_paths: true
1355 url: http://developer.mozilla.org/en/docs/DOM
1358 - 'Core::DOM: CSS Object Model'
1359 - 'Core::DOM: Core & HTML'
1374 machine_name: core_document_object_model
1376 - name: 'Core: DOM File'
1377 description: DOM Blob, File and FileSystem APIs
1380 - dom/filesystem/**/*
1383 url: http://developer.mozilla.org/en/docs/DOM
1390 machine_name: core_dom_file
1392 - machine_name: core_dom_streams
1393 name: 'Core: DOM Streams'
1394 description: Streams Specification implementation
1405 url: http://developer.mozilla.org/en/docs/DOM
1408 - 'Core::DOM: Streams'
1409 - name: 'Core: Editor'
1424 machine_name: core_editor
1426 - name: 'Core: Event Handling'
1427 description: DOM Events and Event Handling
1430 # TODO "and event handling related code elsewhere"
1435 url: http://developer.mozilla.org/en/docs/DOM
1437 - 'Core::DOM: Events'
1438 - 'Core::DOM: UI Events & Focus Handling'
1444 machine_name: core_event_handling
1446 - machine_name: core_firefox_source_documentation
1447 name: 'Core: Firefox Source Documentation'
1448 description: The infrastructure platform used to generate Firefox's source documentation,
1449 excluding editorial control over the content.
1452 - tools/moztreedocs/
1459 - Developer Infrastructure::Source Documentation
1460 url: https://firefox-source-docs.mozilla.org/
1461 - name: 'Core: Gecko Profiler'
1462 description: Gecko's built-in profiler
1464 - tools/profiler/**/*
1465 - mozglue/baseprofiler/**/*
1470 - Shu-yu Guo (JS integration)
1471 - Thinker Lee (TaskTracer)
1472 - Cervantes Yu (TaskTracer)
1473 - Nicholas Nethercote
1479 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1481 - Core::Gecko Profiler
1488 machine_name: core_gecko_profiler
1490 - name: 'Core: GeckoView'
1491 description: Framework for embedding Gecko into Android applications
1493 - mobile/android/**/*
1494 - widget/android/**/*
1505 url: https://wiki.mozilla.org/Mobile/GeckoView
1507 - GeckoView::General
1513 machine_name: core_geckoview
1515 - name: 'Core: Global Key Bindings'
1516 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1517 and the like, as those are part of i18n.
1520 # TODO "and platform specific directories under it"
1522 group: dev-accessibility
1523 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1525 - 'Core::Keyboard: Navigation'
1530 machine_name: core_global_key_bindings
1532 - name: 'Core: Graphics'
1533 description: Mozilla graphics API
1541 - Benoit Girard(Compositor, Performance)
1543 - George Wright(Canvas2D)
1547 - John Daggett(text/fonts)
1548 - Benoit Jacob(gfx/gl)
1550 - Vladimir Vukicevic
1551 - James Willcox(Android)
1554 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1555 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1558 - 'Core::Graphics: Layers'
1559 - 'Core::Graphics: Text'
1560 - 'Core::Graphics: WebRender'
1561 - 'Core::GFX: Color Management'
1562 - 'Core::Canvas: 2D'
1563 - 'Core::Canvas: WebGL'
1575 machine_name: core_graphics
1578 description: Hardware Abstraction Layer
1584 - Core::Hardware Abstraction Layer (HAL)
1588 machine_name: core_hal
1590 - name: 'Core: HTML Parser'
1591 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1592 to the HTML specification, and is mostly translated automatically from Java
1598 url: http://about.validator.nu/
1600 - 'Core::HTML: Parser'
1605 machine_name: core_html_parser
1607 - name: 'Core: I18N Library'
1616 url: :ref:`Internationalization`
1618 - Core::Internationalization
1626 machine_name: core_i18n_library
1628 - name: 'Core: ImageLib'
1631 - media/libjpeg/**/*
1648 machine_name: core_imagelib
1650 - name: 'Core: IndexedDB'
1653 - dom/indexedDB/**/*
1661 url: https://developer.mozilla.org/en/IndexedDB
1663 - 'Core::DOM: IndexedDB'
1670 machine_name: core_indexeddb
1673 description: Native message-passing between threads and processes
1700 machine_name: core_ipc
1702 - name: 'Core: JavaScript'
1703 description: JavaScript engine (SpiderMonkey)
1727 - Nicholas Nethercote
1732 url: https://spidermonkey.dev/
1734 - Core::JavaScript Engine
1735 - 'Core::JavaScript: GC'
1736 - 'Core::JavaScript: Internationalization API'
1737 - 'Core::JavaScript: Standard Library'
1738 - 'Core::JavaScript: WebAssembly'
1760 machine_name: core_javascript
1762 - name: 'Core: JavaScript JIT'
1763 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1771 url: https://spidermonkey.dev/
1773 - 'Core::JavaScript Engine: JIT'
1789 machine_name: core_javascript_jit
1791 - name: 'Core: js-tests'
1792 description: JavaScript test suite
1796 group: dev-tech-js-engine
1797 url: http://www.mozilla.org/js/tests/library.html
1801 machine_name: core_jstests
1803 - name: 'Core: Layout Engine'
1804 description: rendering tree construction, layout (reflow), etc.
1810 - layout/generic/**/*
1811 - layout/printing/**/*
1812 - layout/tables/**/*
1821 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1824 - 'Core::Layout: Block and Inline'
1825 - 'Core::Layout: Columns'
1826 - 'Core::Layout: Flexbox'
1827 - 'Core::Layout: Floats'
1828 - 'Core::Layout: Form Controls'
1829 - 'Core::Layout: Generated Content, Lists, and Counters'
1830 - 'Core::Layout: Grid'
1831 - 'Core::Layout: Images, Video, and HTML Frames'
1832 - 'Core::Layout: Positioned'
1833 - 'Core::Layout: Ruby'
1834 - 'Core::Layout: Scrolling and Overflow'
1835 - 'Core::Layout: Tables'
1836 - 'Core::Layout: Text and Fonts'
1837 - Core::Print Preview
1838 - 'Core::Printing: Output'
1850 machine_name: core_layout_engine
1852 - name: 'Core: Legacy HTML Parser'
1855 - parser/htmlparser/**/*
1859 url: http://www.mozilla.org/newlayout/doc/parser.html
1861 - 'Core::HTML: Parser'
1868 machine_name: core_legacy_html_parser
1870 - name: 'Core: libjar'
1871 description: The JAR handling code (protocol handler, stream implementation, and
1872 zipreader/zipwriter).
1874 - modules/libjar/**/*
1884 - 'Core::Networking: JAR'
1890 machine_name: core_libjar
1892 - name: 'Core: MathML'
1893 description: MathML is a low-level specification for describing mathematics which
1894 provides a foundation for the inclusion of mathematical expressions in Web pages.
1896 - layout/mathml/**/*
1898 group: dev-tech-mathml
1899 url: https://developer.mozilla.org/docs/Web/MathML
1906 machine_name: core_mathml
1908 - name: 'Core: Media Playback'
1909 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
1910 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
1913 - media/gmp-clearkey/**/*
1914 - media/libcubeb/**/*
1915 - media/libnestegg/**/*
1917 - media/libopus/**/*
1918 - media/libtheora/**/*
1919 - media/libtremor/**/*
1920 - media/libvorbis/**/*
1922 - dom/media/platforms/omx/**/*
1923 - dom/media/gmp/rlz/**/*
1938 machine_name: core_media_playback
1940 - name: 'Core: Media Transport'
1941 description: Pluggable transport for real-time media
1943 - dom/media/webrtc/transport/**/*
1947 - Core::WebRTC::Networking
1954 machine_name: core_media_transport
1956 - name: 'Core: Memory Allocator'
1957 description: Most things related to memory allocation in Gecko, including jemalloc,
1958 replace-malloc, DMD (dark matter detector), logalloc, etc.
1964 - Nicholas Nethercote
1972 machine_name: core_memory_allocator
1974 - name: 'Core: mfbt'
1975 description: mfbt is a collection of headers, macros, data structures, methods,
1976 and other functionality available for use and reuse throughout all Mozilla code
1977 (including SpiderMonkey and Gecko more broadly).
1989 machine_name: core_mfbt
1991 - name: 'Core: Moz2D (Graphics submodule)'
1992 description: Platform independent 2D graphics API
1997 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2005 machine_name: core_moz2d_graphics_submodule
2007 - name: 'Core: Mozglue'
2008 description: Glue library containing various low-level functionality, including
2009 a dynamic linker for Android, a DLL block list for Windows, etc.
2017 - Kartikaya Gupta (mozglue/android)
2022 machine_name: core_mozglue
2024 - name: 'Core: MSCOM'
2025 description: Integration with Microsoft Distributed COM
2035 - 'Core::IPC: MSCOM'
2038 machine_name: core_mscom
2040 - name: 'Core: Necko'
2041 description: The Mozilla Networking Library
2045 - netwerk/build/**/*
2046 - netwerk/cache/**/*
2048 - netwerk/locales/**/*
2050 - netwerk/protocol/**/*
2051 - netwerk/socket/**/*
2052 - netwerk/streamconv/**/*
2053 - netwerk/system/**/*
2058 - dom/websocket/**/*
2059 - uriloader/prefetch/**/*
2060 - uriloader/preload/**/*
2063 - Dragana Damjanovic
2065 - Christian Biesinger
2076 group: dev-tech-network
2077 url: :ref:`Networking`
2080 - 'Core::Networking: Cache'
2081 - 'Core::Networking: Cookies'
2082 - 'Core::Networking: FTP'
2083 - 'Core::Networking: File'
2084 - 'Core::Networking: HTTP'
2085 - 'Core::Networking: JAR'
2086 - 'Core::Networking: Websockets'
2087 - 'Core::DOM: Networking'
2093 machine_name: core_necko
2095 - name: 'Core: NodeJS usage, tools, and style'
2096 description: Advises on the use of NodeJS and npm packages at build and runtime.
2097 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2098 teams to maintain automated license and security audits of npm packages. Works
2099 with the security team and relevant developers to respond to vulnerabilities
2100 in NodeJS and vendored npm packages.
2105 # TODO: and others as appropriate
2109 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2118 machine_name: core_nodejs_usage_tools_and_style
2120 - name: 'Core: NSPR'
2121 description: Netscape Portable Runtime
2127 group: dev-tech-nspr
2135 machine_name: core_nspr
2138 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2141 - toolkit/components/pdfjs/**/*
2149 url: https://github.com/mozilla/pdf.js
2156 machine_name: core_pdf
2158 - name: 'Core: Permissions'
2161 - extensions/permissions/**/*
2170 - Christian Biesinger
2175 - 'Core :: Permission Manager'
2182 machine_name: core_permissions
2184 - name: 'Core: Plugins'
2185 description: ' NPAPI Plugin support.'
2197 url: https://wiki.mozilla.org/Plugins
2202 machine_name: core_plugins
2204 - name: 'Core: Preferences'
2205 description: Preference library
2207 - modules/libpref/**/*
2210 - Nicholas Nethercote
2216 - 'Core::Preferences: Backend'
2222 machine_name: core_preferences
2224 - name: 'Core: Private Browsing'
2225 description: Implementation of the Private Browsing mode, and the integration
2226 of other modules with Private Browsing APIs.
2229 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2230 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2238 url: https://wiki.mozilla.org/Private_Browsing
2240 - Firefox::Private Browsing
2245 machine_name: core_private_browsing
2247 - name: 'Core: Privilege Manager'
2248 description: Caps is the capabilities-based security system.
2257 url: http://www.mozilla.org/projects/security/components/index.html
2259 - 'Core::Security: CAPS'
2265 machine_name: core_privilege_manager
2267 - name: 'Core: Push Notifications'
2268 description: Push is a way for application developers to send messages to their
2279 - 'Core::DOM: Push Notifications'
2283 machine_name: core_push_notifications
2285 - name: 'Core: Sandboxing (Linux)'
2286 description: Sandboxing for the Linux platform
2288 - security/sandbox/linux/**/*
2291 url: https://wiki.mozilla.org/Security/Sandbox
2293 - 'Core::Security: Process Sandboxing'
2298 machine_name: core_sandboxing_linux
2300 - name: 'Core: Sandboxing (OSX)'
2301 description: Sandboxing for the OSX platform
2303 - security/sandbox/mac/**/*
2306 url: https://wiki.mozilla.org/Security/Sandbox
2308 - 'Core::Security: Process Sandboxing'
2312 machine_name: core_sandboxing_osx
2314 - name: 'Core: Sandboxing (Windows)'
2315 description: Sandboxing for the Windows platform
2317 - security/sandbox/win/**/*
2327 url: https://wiki.mozilla.org/Security/Sandbox
2329 - 'Core::Security: Process Sandboxing'
2334 machine_name: core_sandboxing_windows
2336 - name: 'Core: security'
2337 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2350 group: dev-tech-crypto
2351 url: :ref:`Network Security Services (NSS)`
2356 - 'Core::Security: S/MIME'
2369 machine_name: core_security
2371 - name: 'Core: Security - Mozilla PSM Glue'
2372 description: Personal Security Manager
2374 - security/manager/**/*
2377 - Kai Engert (2001-2012)
2378 group: dev-tech-crypto
2380 - 'Core::Security: PSM'
2389 machine_name: core_security_mozilla_psm_glue
2391 - machine_name: core_security_rlbox
2392 name: Security - RLBox
2393 description: Sandboxing using WASM/RLBox libraries.
2397 - third_party/rlbox_wasm2c_sandbox
2407 - 'Core::Security: RLBox'
2408 - name: 'Core: Static analysis & rewriting for C++'
2409 description: Tools for checking C++ code looking for problems at compile time,
2410 plus tools for automated rewriting of C++ code.
2412 - build/clang-plugin/**/*
2413 - tools/rewriting/**/*
2414 # TODO among other out of tree tools
2417 - Birunthan Mohanathas
2421 - Core::Rewriting & Analysis
2428 machine_name: core_static_analysis_rewriting_for_c
2430 - name: 'Core: storage'
2431 description: Storage APIs with a SQLite backend
2433 - third_party/sqlite3/**/*
2437 url: http://developer.mozilla.org/en/docs/Storage
2439 - Toolkit::Storage, Core::SQL
2445 machine_name: core_storage
2447 - name: 'Core: String'
2452 group: dev-tech-xpcom
2453 url: :ref:`String Guide`
2460 machine_name: core_string
2462 - name: 'Core: Style System'
2463 description: CSS style sheet handling; style data computation
2474 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2476 - Core::CSS Parsing and Computation
2482 machine_name: core_style_system
2485 description: Scalable Vector Graphics
2492 url: https://developer.mozilla.org/docs/Web/SVG
2502 machine_name: core_svg
2504 - name: 'Core: UA String'
2505 description: User Agent String
2507 - netwerk/protocol/http/**/*
2510 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2512 - 'Core::Networking: HTTP'
2518 machine_name: core_ua_string
2520 - name: 'Core: View System'
2521 description: The View Manager is responsible for handling "heavyweight" rendering
2522 (some clipping, compositing) and event handling tasks.
2530 - 'Core::Layout: View Rendering'
2536 machine_name: core_view_system
2538 - name: 'Core: Web Audio'
2539 description: Support for the W3C Web Audio API specification.
2541 - dom/media/webaudio/**/*
2546 url: https://wiki.mozilla.org/Web_Audio_API
2554 machine_name: core_web_audio
2556 - name: 'Core: Web Painting'
2557 description: painting, display lists, and layer construction
2559 - layout/painting/**/*
2560 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2563 url: :ref:`Layout & CSS`
2565 - 'Core::Layout: Web Painting'
2576 machine_name: core_web_painting
2578 - name: 'Core: Web Workers'
2591 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2593 - 'Core::DOM: Workers'
2599 machine_name: core_web_workers
2601 - name: 'Core: WebGPU (Graphics submodule)'
2602 description: WebGPU implementation
2607 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2609 - Core::Graphics::WebGPU
2615 machine_name: core_webgpu_graphics_submodule
2617 - name: 'Core: WebRTC'
2618 description: WebRTC is responsible for realtime audio and video communication,
2619 as well as related issues like low-level camera and microphone access
2622 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2627 url: https://wiki.mozilla.org/Media/webrtc
2630 - Core::WebRTC Networking
2637 machine_name: core_webrtc
2639 - name: 'Core: WebVR'
2640 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2641 including API, devices, graphics and integration
2647 - Vladimir Vukicevic
2650 url: https://mozvr.com/
2659 - name: 'Core: WebRTC Media'
2660 description: Submodule of WebRTC responsible for access to media input devices
2661 (microphones, cameras, screen capture), as well as realtime audiovisual
2662 codecs and packetization.
2665 - dom/media/webrtc/**/*
2666 - dom/media/systemservices/**/*
2672 url: https://wiki.mozilla.org/Media/webrtc
2674 - Core::WebRTC (Audio/Video)
2681 machine_name: core_webrtc_media
2683 - name: 'Core: WebRTC Signaling'
2684 description: Submodule of WebRTC responsible for implementation of PeerConnection
2685 API, WebRTC identity, and SDP/JSEP handling
2687 - media/webrtc/signaling/**/*
2692 url: https://wiki.mozilla.org/Media/webrtc
2694 - Core::WebRTC (Signaling)
2702 machine_name: core_webrtc_signaling
2703 machine_name: core_webvr
2705 - name: 'Core: Widget'
2706 description: Top level Widget
2711 - Vladimir Vukicevic
2718 - Core::Drag and Drop
2720 - 'Core::Printing: Setup'
2723 machine_name: core_widget
2725 - name: 'Core: Widget - Android'
2726 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2731 machine_name: core_widget_android
2733 - name: 'Core: Widget - GTK'
2734 description: GTK widget support
2741 url: http://www.mozilla.org/ports/gtk/
2743 - 'Core::Widget: Gtk'
2748 machine_name: core_widget_gtk
2750 - name: 'Core: Widget - Headless'
2751 description: Headless widget support
2753 - widget/headless/**/*
2762 machine_name: core_widget_headless
2764 - name: 'Core: Widget - macOS'
2765 description: ' macOS widget support'
2778 - 'Core::Widget: Cocoa'
2784 machine_name: core_widget_macos
2786 - name: 'Core: Widget - Windows'
2787 description: Windows widget support
2789 - widget/windows/**/*
2795 - Vladimir Vukicevic
2798 - Christian Biesinger
2800 - Josh 'timeless' Soref
2807 - 'Core::Widget: Win32'
2813 machine_name: core_widget_windows
2816 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2817 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2818 that are not covered by more specific projects.
2834 machine_name: core_xml
2836 - name: 'Core: XPApps'
2837 description: Cross-Platform Applications, mostly Navigator front end and application
2842 group: dev-apps-seamonkey
2846 - Josh 'timeless' Soref
2849 machine_name: core_xpapps
2851 - name: 'Core: XPCOM'
2852 description: The cross-platform object model and core data structures.
2858 - xpcom/components/**/*
2862 - xpcom/reflect/**/*
2866 - xpcom/threads/**/*
2867 - xpcom/windbgdlg/**/*
2888 machine_name: core_xpcom
2890 - name: 'Core: XPConnect'
2891 description: Deep Magic
2910 machine_name: core_xpconnect
2912 - name: 'Core: XPIDL'
2913 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
2914 runtime type description files from .idl interface description files.
2916 - xpcom/idl-parser/**/*
2923 - Josh 'timeless' Soref
2924 group: dev-tech-xpcom
2930 machine_name: core_xpidl
2932 - name: 'Core: XSLT Processor'
2933 description: XSLT transformations processor
2941 group: dev-tech-xslt
2942 url: https://developer.mozilla.org/docs/Web/XSLT
2948 machine_name: core_xslt_processor
2950 - name: Desktop Firefox
2951 description: Standalone Web Browser.
2964 - Tim Guan-tin Chien
2994 - name: Add-ons Manager
2995 description: Extension management back-end.
2997 - toolkit/mozapps/extensions/**/*
3011 machine_name: addons_manager
3013 - name: Add-ons Manager UI
3014 description: about:addons.
3016 - toolkit/mozapps/extensions/content/**/*
3029 machine_name: addons_manager_ui
3031 - name: Application Update
3032 description: The application update services.
3034 - toolkit/mozapps/update/**/*
3041 machine_name: application_update
3043 - name: Bookmarks & History
3044 description: The bookmarks and history services (Places).
3046 - browser/components/places/**/*
3047 - toolkit/components/places/**/*
3054 machine_name: bookmarks_history
3056 - name: Desktop Theme
3057 description: The style rules used in the desktop UI.
3059 - browser/themes/**/*
3060 - toolkit/themes/**/*
3073 machine_name: desktop_theme
3076 description: The main browser UI except where covered by more specific submodules.
3078 - browser/base/content/**/*
3085 machine_name: desktop_ui
3087 - name: Download Manager
3088 description: The downloads UI and service.
3090 - browser/components/downloads/**/*
3091 - toolkit/mozapps/downloads/**/*
3092 - uriloader/exthandler/**/*
3100 machine_name: download_manager
3102 - name: Enterprise Policies
3103 description: System policies for controlling Firefox.
3105 - browser/components/enterprisepolicies/**/*
3110 machine_name: enterprise_policies
3112 - name: Experiments/Rollouts
3113 description: Desktop clients for our experiments and off-train deployments
3116 - toolkit/components/normandy/**/*
3117 - toolkit/components/nimbus/**/*
3123 - Firefox::Nimbus Desktop Client
3124 url: https://experimenter.info/
3130 machine_name: normandy
3132 - machine_name: firefox_view
3134 description: The Firefox View page and its modules.
3136 - browser/components/firefoxview/**/*
3143 - name: Form Autofill
3144 description: Form detection and autocomplete.
3146 - browser/extensions/formautofill/**/*
3147 - toolkit/components/satchel/**/*
3150 - Matthew Noorenberghe
3156 machine_name: form_autofill
3158 - name: In-product Messaging
3159 description: The system for delivering in-product messaging.
3161 - toolkit/components/messaging-system/**/*
3164 - Firefox::Messaging System
3171 machine_name: inproduct_messaging
3173 - name: Launcher Process
3174 description: Windows process for bootstrapping the browser process.
3176 - browser/app/winlauncher/**/*
3182 - Firefox::Launcher Process
3187 machine_name: launcher_process
3189 - machine_name: localization
3191 description: Tooling to enable translation and facilitate localization.
3199 - name: New Tab Page
3200 description: The new tab/home page.
3202 - browser/components/newtab/**/*
3205 - Firefox::New Tab Page
3212 machine_name: new_tab_page
3215 description: The onboarding experience including UI tours.
3217 - browser/components/uitour/**/*
3225 machine_name: onboarding
3227 - name: Password Manager
3228 description: Managing, saving and filling logins.
3230 - toolkit/components/passwordmgr/**/*
3231 - browser/components/aboutlogins/**/*
3234 - Matthew Noorenberghe
3238 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3240 - Toolkit::Password Manager
3241 - 'Toolkit::Password Manager: Site'
3243 - Firefox::about:logins
3251 machine_name: password_manager
3253 - machine_name: firefox_pip
3254 name: Picture-in-Picture
3255 description: A component that allows video elements to be pulled out into
3256 an always-on-top window.
3258 - toolkit/components/pictureinpicture
3259 - browser/extensions/pictureinpicture
3271 - name: Profile Migration
3272 description: Migrating data from other browsers.
3274 - browser/components/migration/**/*
3282 machine_name: profile_migration
3285 description: Code relating to Screenshots functionality
3287 - browser/extensions/screenshots/**/*
3288 - browser/components/screenshots/**/*
3296 - Firefox::Screenshots
3302 machine_name: screenshots
3304 - name: Search and Address Bar
3305 description: The search service, address bar and address bar autocomplete.
3307 - browser/components/search/**/*
3308 - browser/components/urlbar/**/*
3309 - toolkit/components/search/**/*
3312 - Firefox::Address Bar
3324 machine_name: search_and_address_bar
3326 - name: Security and Privacy UI
3327 description: The front-end to our security and privacy features, including
3328 Protections UI, Site Identity, Site Permissions and Certificate Errors
3330 - browser/components/protections/**/*
3331 - browser/components/controlcenter/**/*
3335 - Nihanth Subramanya
3340 - Firefox::Protections UI
3341 - Firefox::Site Identity
3342 - Firefox::Site Permissions
3347 machine_name: security_and_privacy_ui
3349 - name: Session Restore
3350 description: Restoring a user's session after starting Firefox.
3352 - browser/components/sessionstore/**/*
3353 - toolkit/components/sessionstore/**/*
3361 - Firefox::Session Restore
3367 machine_name: session_restore
3370 description: The front-end settings user interface.
3372 - browser/components/preferences/**/*
3373 - browser/themes/*/preferences
3374 - toolkit/mozapps/preferences
3385 machine_name: settings_ui
3387 - name: Tabbed Browser
3388 description: The UI component controlling browser tabs.
3390 # TODO double check that this works as expected
3391 - browser/base/content/tabbrowser*
3392 - browser/modules/AsyncTabSwitcher.jsm
3395 - Firefox::Tabbed Browser
3399 machine_name: tabbed_browser
3401 - name: Windows Installer
3402 description: The installer for Windows.
3404 - browser/installer/**/*
3405 - toolkit/mozapps/installer/**/*
3408 - Firefox::Installer
3414 machine_name: windows_installer
3415 machine_name: desktop_firefox
3417 - machine_name: marionette
3419 description: Marionette is a remote protocol that lets out-of-process programs
3420 communicate with, instrument, and control Gecko-based browsers. Combined with
3421 geckodriver, this forms our WebDriver implementation.
3423 - testing/marionette/**/*
3432 - 'Testing :: Marionette'
3440 - machine_name: mozharness
3442 description: Configuration-driven script harness.
3444 - testing/mozharness/**/*
3457 - 'Release Engineering :: Applications: MozharnessCore'
3458 - machine_name: python_usage
3459 name: Python usage, tools, and style
3460 description: Aspects of Python use such as tooling, formatting and naming style
3462 - tools/lint/python/**/*
3472 - 'Developer Infrastructure :: Lint and Formatting'
3473 - machine_name: testing_firefox_ui
3475 description: Firefox UI test framework.
3477 - testing/firefox-ui/**/*
3485 - 'Testing :: Firefox UI'
3486 - machine_name: testing_geckodriver
3488 description: Proxy for using W3C WebDriver-compatible clients to interact with
3489 Gecko-based browsers.
3491 - testing/geckodriver/**/*
3499 - 'Testing :: geckodriver'
3500 - machine_name: testing_gtest
3502 description: GTest test harness.
3504 - testing/gtest/**/*
3511 - 'Testing :: GTest'
3512 - machine_name: testing_mochitest
3514 description: Mochitest test framework
3516 - testing/mochitest/**/*
3525 - 'Testing :: Mochitest'
3526 - machine_name: testing_mozbase
3528 description: Base modules used for implementing test components.
3542 - 'Testing :: Mozbase'
3543 - 'Testing :: Mozbase Rust'
3544 - machine_name: testing_performance_testing
3545 name: Performance Testing
3547 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3548 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3549 the owners/peers of the various components (linked below).
3551 - testing/raptor/**/*
3552 - testing/talos/**/*
3553 - python/mozperftest/**/*
3555 - tools/lint/perfdocs/**/*
3556 - testing/perfdocs/**/*
3557 - testing/performance/**/*
3558 - testing/condprofile/**/*
3559 - tools/browsertime/**/*
3560 - tools/tryselect/selectors/perf.py
3571 - 'Testing :: Raptor'
3572 - 'Testing :: Talos'
3574 - 'Testing :: Performance'
3575 - 'Testing :: mozperftest'
3576 - 'Testing :: Condprofile'
3577 url: :ref:`Performance Testing`
3578 - machine_name: testing_reftest
3579 name: Reftest (+ jsreftest + crashtest)
3580 description: Reftest test framework
3582 - layout/tools/reftest/**/*
3591 - 'Testing :: Reftest'
3592 - machine_name: testing_tryselect
3594 description: Frontend for selecting jobs on the try server.
3596 - tools/tryselect/**/*
3604 - 'Developer Infrastructure :: Try'
3605 - machine_name: testing_web_platform_tests_infrastructure
3606 name: web-platform-tests infrastructure
3607 description: Infrastructure for running the cross-browser web-platform-tests
3609 - testing/web-platform/**/*
3610 - testing/web-platform/tests/tools/**/*
3612 - testing/web-platform/tests/**/*
3613 - testing/web-platform/meta/**/*
3614 - testing/web-platform/mozilla/**/*
3620 - 'Testing :: web-platform-tests'
3621 - machine_name: testing_xpcshell
3623 description: XPCShell test harness.
3625 - testing/xpcshell/**/*
3633 - Testing::XPCShell Harness
3635 description: Components shared between desktop and mobile browsers.
3652 - name: Application Startup
3653 description: The profile system and startup process before the front-end launches.
3655 - toolkit/profile/**/*
3656 - toolkit/components/remote/**/*
3663 machine_name: application_startup
3667 The core infrastructure in the Firefox client to send back telemetry
3668 data. Includes the common mechanisms to record, view and submit data: Legacy
3669 Telemetry and Glean (via Firefox on Glean (FOG)). This module
3670 does ''not'' include responsibility for every piece of submitted Telemetry
3671 data. Each team/module is responsible for their own measurements (histograms,
3672 scalars, other ping submissions, etc.).
3674 - toolkit/components/glean/**/*
3675 - toolkit/components/telemetry/**/*
3676 - toolkit/content/aboutTelemetry.*
3681 url: :ref:`Telemetry`
3689 machine_name: telemetry
3692 description: The base widgets used throughout the UI.
3694 - toolkit/content/widgets/**/*
3701 machine_name: ui_widgets
3703 - name: Webextensions
3704 description: Webextension APIs and integration.
3706 - browser/components/extensions/**/*
3707 - toolkit/components/extensions/**/*
3719 machine_name: webextensions
3720 machine_name: toolkit
3722 config: 15f783a421d59e86d1ef47ee601582a8b8e4ba2f
3723 export: d4fdff8491abb261146c90aab4ae653544790be2