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-25T19:39:31.053521'
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
644 name: Morgan Reschenberg
692 name: Niklas Baumgardner
720 name: Andreas Pehrson
728 name: Peter Van der Beken
788 name: Shravan Narayan
800 name: Greg Mierzwinski
816 name: Martin Stránský
823 name: Sylvestre Ledru
862 name: Toshihito Kikuchi
925 name: Tomislav Jovanovic
928 - name: mozilla-toplevel
929 description: The top level directory for the mozilla tree.
932 # TODO: verify, as this was toolkit/README
937 # - Technical Leadership Module
940 machine_name: _mozillatoplevel
942 - machine_name: code_coverage
944 description: Tools for code coverage instrumentation, and coverage data parsing
947 - tools/code-coverage/**/*
948 - python/mozbuild/mozbuild/codecoverage/**/*
949 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
958 - 'Testing :: Code Coverage'
959 - name: 'Core: Accessibility'
960 description: Support for platform accessibility APIs. Accessibility APIs are used
961 by 3rd party software like screen readers, screen magnifiers, and voice dictation
962 software, which need information about document content and UI controls, as
963 well as important events like changes of focus.
976 group: dev-accessibility
977 url: https://developer.mozilla.org/docs/Web/Accessibility
979 - Core::Disability Access APIs
986 machine_name: core_accessibility
988 - name: 'Core: Animation'
989 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
990 API, and off-main thread animations.'
993 # TODO "and animation-related and interpolation-related code
994 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
998 - Core::DOM::Animation
999 - Core::CSS Transitions and Animations
1007 machine_name: core_animation
1009 - name: 'Core: Anti-Tracking'
1010 description: Tracking detection and content-blocking.
1012 - toolkit/components/antitracking/**/*
1013 # several files under browser/ and netwerk/url-classifier/ **TODO**
1021 - 'Core::Privacy: Anti-Tracking'
1029 machine_name: core_antitracking
1031 - name: 'Core: APZ (Graphics submodule)'
1032 description: Asynchronous panning and zooming
1034 - gfx/layers/apz/**/*
1041 url: https://wiki.mozilla.org/Platform/GFX/APZ
1043 - Core::Panning and Zooming
1051 machine_name: core_apz_graphics_submodule
1053 - name: 'Core: Browser WebAPI'
1054 description: Web API for rendering apps, browser windows and widgets.
1056 - dom/browser-element/**/*
1067 machine_name: core_browser_webapi
1069 - name: 'Core: Build and Release Tools'
1070 description: Tools related to build and release automation and configuration of
1073 - tools/update-packaging/**/*
1074 - tools/update-verify/**/*
1078 group: release-engineering
1079 url: https://wiki.mozilla.org/ReleaseEngineering
1081 - Release Engineering::*
1087 machine_name: core_build_and_release_tools
1089 - name: 'Core: Build Config'
1090 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1095 - python/mozbuild/**/*
1096 - browser/config/mozconfigs/**/*
1114 url: :ref:`Build System`
1116 - Core::Build Config
1123 - name: 'Core: Build Config - Fennec'
1124 description: Submodule of the build config covering Fennec's build system
1129 - Core::Build Config
1133 machine_name: core_build_config_fennec
1135 - name: 'Core: Build Config - Taskgraph'
1136 description: Support for task-graph generation in decision, action, and cron
1137 tasks, including configuration of all tasks including those for CI, nightlies,
1138 and releases; as well as Docker and VM images used to execute those tasks.
1143 - Firefox Build System::Task Configuration
1159 machine_name: core_build_config_taskgraph
1160 machine_name: core_build_config
1162 - name: 'Core: Code Analysis and Debugging Tools'
1163 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1164 and other characteristics of it.
1167 - tools/leak-gauge/**/*
1168 - tools/performance/**/*
1171 group: dev-performance
1175 machine_name: core_code_analysis_and_debugging_tools
1177 - name: 'Core: Content Security'
1178 description: 'Native content-based security features enforced in the ContentSecurityManager,
1179 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1180 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1181 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1182 and top-level data: URI blocking.'
1194 - 'Core::DOM: Security'
1202 machine_name: core_content_security
1204 - name: 'Core: Cookies'
1207 - netwerk/cookie/**/*
1215 - Christian Biesinger
1220 - 'Core::Networking: Cookies'
1225 machine_name: core_cookies
1227 - name: 'Core: Crash reporting'
1228 description: Infrastructure and tools used to generate, submit and process crash
1229 reports. This includes the in-tree google-breakpad fork, the crash report generation
1230 machinery as well as the host tools used to dump symbols, analyse minidumps
1231 and generate stack traces.
1233 - toolkit/crashreporter/**/*
1234 - toolkit/components/crashes/**/*
1235 - tools/crashreporter/**/*
1236 - ipc/glue/CrashReporter*
1237 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1242 url: :ref:`Crash Reporter`
1244 - Toolkit::Crash Reporting
1250 machine_name: core_crash_reporting
1252 - name: 'Core: C++/Rust usage, tools, and style'
1253 description: Aspects of C++ use such as language feature usage, standard library
1254 versions/usage, compiler/toolchain versions, formatting and naming style, and
1255 aspects of Rust use as needs arise
1257 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1258 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1259 # - docs/code-quality/**/*
1260 # - docs/testing-rust-code/**/*
1261 # - docs/writing-rust-code/**/*
1276 machine_name: core_crust_usage_tools_and_style
1278 - name: 'Core: Cycle Collector'
1279 description: Code to break and collect objects within reference cycles
1281 - xpcom/base/nsCycleCollector.*
1282 # TODO "and some support headers"
1283 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1295 machine_name: core_cycle_collector
1297 - name: 'Core: DLL Services'
1298 description: Windows dynamic linker instrumentation and blocking
1300 - toolkit/xre/dllservices/**/*
1306 - Core::DLL Services
1311 machine_name: core_dll_services
1313 - name: 'Core: docshell'
1317 - uriloader/base/**/*
1323 - Christian Biesinger
1329 - Core::Document Navigation
1336 machine_name: core_docshell
1338 - name: 'Core: Document Object Model'
1342 exclude_module_paths: true
1359 url: http://developer.mozilla.org/en/docs/DOM
1362 - 'Core::DOM: CSS Object Model'
1363 - 'Core::DOM: Core & HTML'
1378 machine_name: core_document_object_model
1380 - name: 'Core: DOM File'
1381 description: DOM Blob, File and FileSystem APIs
1384 - dom/filesystem/**/*
1387 url: http://developer.mozilla.org/en/docs/DOM
1394 machine_name: core_dom_file
1396 - machine_name: core_dom_streams
1397 name: 'Core: DOM Streams'
1398 description: Streams Specification implementation
1409 url: http://developer.mozilla.org/en/docs/DOM
1412 - 'Core::DOM: Streams'
1413 - name: 'Core: Editor'
1428 machine_name: core_editor
1430 - name: 'Core: Event Handling'
1431 description: DOM Events and Event Handling
1434 # TODO "and event handling related code elsewhere"
1439 url: http://developer.mozilla.org/en/docs/DOM
1441 - 'Core::DOM: Events'
1442 - 'Core::DOM: UI Events & Focus Handling'
1448 machine_name: core_event_handling
1450 - machine_name: core_firefox_source_documentation
1451 name: 'Core: Firefox Source Documentation'
1452 description: The infrastructure platform used to generate Firefox's source documentation,
1453 excluding editorial control over the content.
1456 - tools/moztreedocs/
1463 - Developer Infrastructure::Source Documentation
1464 url: https://firefox-source-docs.mozilla.org/
1465 - name: 'Core: Gecko Profiler'
1466 description: Gecko's built-in profiler
1468 - tools/profiler/**/*
1469 - mozglue/baseprofiler/**/*
1474 - Shu-yu Guo (JS integration)
1475 - Thinker Lee (TaskTracer)
1476 - Cervantes Yu (TaskTracer)
1477 - Nicholas Nethercote
1483 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1485 - Core::Gecko Profiler
1492 machine_name: core_gecko_profiler
1494 - name: 'Core: GeckoView'
1495 description: Framework for embedding Gecko into Android applications
1497 - mobile/android/**/*
1498 - widget/android/**/*
1509 url: https://wiki.mozilla.org/Mobile/GeckoView
1511 - GeckoView::General
1517 machine_name: core_geckoview
1519 - name: 'Core: Global Key Bindings'
1520 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1521 and the like, as those are part of i18n.
1524 # TODO "and platform specific directories under it"
1526 group: dev-accessibility
1527 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1529 - 'Core::Keyboard: Navigation'
1534 machine_name: core_global_key_bindings
1536 - name: 'Core: Graphics'
1537 description: Mozilla graphics API
1545 - Benoit Girard(Compositor, Performance)
1547 - George Wright(Canvas2D)
1551 - John Daggett(text/fonts)
1552 - Benoit Jacob(gfx/gl)
1554 - Vladimir Vukicevic
1555 - James Willcox(Android)
1558 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1559 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1562 - 'Core::Graphics: Layers'
1563 - 'Core::Graphics: Text'
1564 - 'Core::Graphics: WebRender'
1565 - 'Core::GFX: Color Management'
1566 - 'Core::Canvas: 2D'
1567 - 'Core::Canvas: WebGL'
1579 machine_name: core_graphics
1582 description: Hardware Abstraction Layer
1588 - Core::Hardware Abstraction Layer (HAL)
1592 machine_name: core_hal
1594 - name: 'Core: HTML Parser'
1595 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1596 to the HTML specification, and is mostly translated automatically from Java
1602 url: http://about.validator.nu/
1604 - 'Core::HTML: Parser'
1609 machine_name: core_html_parser
1611 - name: 'Core: I18N Library'
1620 url: :ref:`Internationalization`
1622 - Core::Internationalization
1630 machine_name: core_i18n_library
1632 - name: 'Core: ImageLib'
1635 - media/libjpeg/**/*
1652 machine_name: core_imagelib
1654 - name: 'Core: IndexedDB'
1657 - dom/indexedDB/**/*
1665 url: https://developer.mozilla.org/en/IndexedDB
1667 - 'Core::DOM: IndexedDB'
1674 machine_name: core_indexeddb
1677 description: Native message-passing between threads and processes
1704 machine_name: core_ipc
1706 - name: 'Core: JavaScript'
1707 description: JavaScript engine (SpiderMonkey)
1731 - Nicholas Nethercote
1736 url: https://spidermonkey.dev/
1738 - Core::JavaScript Engine
1739 - 'Core::JavaScript: GC'
1740 - 'Core::JavaScript: Internationalization API'
1741 - 'Core::JavaScript: Standard Library'
1742 - 'Core::JavaScript: WebAssembly'
1764 machine_name: core_javascript
1766 - name: 'Core: JavaScript JIT'
1767 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1775 url: https://spidermonkey.dev/
1777 - 'Core::JavaScript Engine: JIT'
1793 machine_name: core_javascript_jit
1795 - name: 'Core: js-tests'
1796 description: JavaScript test suite
1800 group: dev-tech-js-engine
1801 url: http://www.mozilla.org/js/tests/library.html
1805 machine_name: core_jstests
1807 - name: 'Core: Layout Engine'
1808 description: rendering tree construction, layout (reflow), etc.
1814 - layout/generic/**/*
1815 - layout/printing/**/*
1816 - layout/tables/**/*
1825 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1828 - 'Core::Layout: Block and Inline'
1829 - 'Core::Layout: Columns'
1830 - 'Core::Layout: Flexbox'
1831 - 'Core::Layout: Floats'
1832 - 'Core::Layout: Form Controls'
1833 - 'Core::Layout: Generated Content, Lists, and Counters'
1834 - 'Core::Layout: Grid'
1835 - 'Core::Layout: Images, Video, and HTML Frames'
1836 - 'Core::Layout: Positioned'
1837 - 'Core::Layout: Ruby'
1838 - 'Core::Layout: Scrolling and Overflow'
1839 - 'Core::Layout: Tables'
1840 - 'Core::Layout: Text and Fonts'
1841 - Core::Print Preview
1842 - 'Core::Printing: Output'
1854 machine_name: core_layout_engine
1856 - name: 'Core: Legacy HTML Parser'
1859 - parser/htmlparser/**/*
1863 url: http://www.mozilla.org/newlayout/doc/parser.html
1865 - 'Core::HTML: Parser'
1872 machine_name: core_legacy_html_parser
1874 - name: 'Core: libjar'
1875 description: The JAR handling code (protocol handler, stream implementation, and
1876 zipreader/zipwriter).
1878 - modules/libjar/**/*
1888 - 'Core::Networking: JAR'
1894 machine_name: core_libjar
1896 - name: 'Core: MathML'
1897 description: MathML is a low-level specification for describing mathematics which
1898 provides a foundation for the inclusion of mathematical expressions in Web pages.
1900 - layout/mathml/**/*
1902 group: dev-tech-mathml
1903 url: https://developer.mozilla.org/docs/Web/MathML
1910 machine_name: core_mathml
1912 - name: 'Core: Media Playback'
1913 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
1914 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
1917 - media/gmp-clearkey/**/*
1918 - media/libcubeb/**/*
1919 - media/libnestegg/**/*
1921 - media/libopus/**/*
1922 - media/libtheora/**/*
1923 - media/libtremor/**/*
1924 - media/libvorbis/**/*
1926 - dom/media/platforms/omx/**/*
1927 - dom/media/gmp/rlz/**/*
1942 machine_name: core_media_playback
1944 - name: 'Core: Media Transport'
1945 description: Pluggable transport for real-time media
1947 - dom/media/webrtc/transport/**/*
1951 - Core::WebRTC::Networking
1958 machine_name: core_media_transport
1960 - name: 'Core: Memory Allocator'
1961 description: Most things related to memory allocation in Gecko, including jemalloc,
1962 replace-malloc, DMD (dark matter detector), logalloc, etc.
1968 - Nicholas Nethercote
1976 machine_name: core_memory_allocator
1978 - name: 'Core: mfbt'
1979 description: mfbt is a collection of headers, macros, data structures, methods,
1980 and other functionality available for use and reuse throughout all Mozilla code
1981 (including SpiderMonkey and Gecko more broadly).
1993 machine_name: core_mfbt
1995 - name: 'Core: Moz2D (Graphics submodule)'
1996 description: Platform independent 2D graphics API
2001 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2009 machine_name: core_moz2d_graphics_submodule
2011 - name: 'Core: Mozglue'
2012 description: Glue library containing various low-level functionality, including
2013 a dynamic linker for Android, a DLL block list for Windows, etc.
2021 - Kartikaya Gupta (mozglue/android)
2026 machine_name: core_mozglue
2028 - name: 'Core: MSCOM'
2029 description: Integration with Microsoft Distributed COM
2039 - 'Core::IPC: MSCOM'
2042 machine_name: core_mscom
2044 - name: 'Core: Necko'
2045 description: The Mozilla Networking Library
2049 - netwerk/build/**/*
2050 - netwerk/cache/**/*
2052 - netwerk/locales/**/*
2054 - netwerk/protocol/**/*
2055 - netwerk/socket/**/*
2056 - netwerk/streamconv/**/*
2057 - netwerk/system/**/*
2062 - dom/websocket/**/*
2063 - uriloader/prefetch/**/*
2064 - uriloader/preload/**/*
2067 - Dragana Damjanovic
2069 - Christian Biesinger
2080 group: dev-tech-network
2081 url: :ref:`Networking`
2084 - 'Core::Networking: Cache'
2085 - 'Core::Networking: Cookies'
2086 - 'Core::Networking: FTP'
2087 - 'Core::Networking: File'
2088 - 'Core::Networking: HTTP'
2089 - 'Core::Networking: JAR'
2090 - 'Core::Networking: Websockets'
2091 - 'Core::DOM: Networking'
2097 machine_name: core_necko
2099 - name: 'Core: NodeJS usage, tools, and style'
2100 description: Advises on the use of NodeJS and npm packages at build and runtime.
2101 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2102 teams to maintain automated license and security audits of npm packages. Works
2103 with the security team and relevant developers to respond to vulnerabilities
2104 in NodeJS and vendored npm packages.
2109 # TODO: and others as appropriate
2113 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2122 machine_name: core_nodejs_usage_tools_and_style
2124 - name: 'Core: NSPR'
2125 description: Netscape Portable Runtime
2131 group: dev-tech-nspr
2139 machine_name: core_nspr
2142 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2145 - toolkit/components/pdfjs/**/*
2153 url: https://github.com/mozilla/pdf.js
2160 machine_name: core_pdf
2162 - name: 'Core: Permissions'
2165 - extensions/permissions/**/*
2174 - Christian Biesinger
2179 - 'Core :: Permission Manager'
2186 machine_name: core_permissions
2188 - name: 'Core: Plugins'
2189 description: ' NPAPI Plugin support.'
2201 url: https://wiki.mozilla.org/Plugins
2206 machine_name: core_plugins
2208 - name: 'Core: Preferences'
2209 description: Preference library
2211 - modules/libpref/**/*
2214 - Nicholas Nethercote
2220 - 'Core::Preferences: Backend'
2226 machine_name: core_preferences
2228 - name: 'Core: Private Browsing'
2229 description: Implementation of the Private Browsing mode, and the integration
2230 of other modules with Private Browsing APIs.
2233 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2234 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2242 url: https://wiki.mozilla.org/Private_Browsing
2244 - Firefox::Private Browsing
2249 machine_name: core_private_browsing
2251 - name: 'Core: Privilege Manager'
2252 description: Caps is the capabilities-based security system.
2261 url: http://www.mozilla.org/projects/security/components/index.html
2263 - 'Core::Security: CAPS'
2269 machine_name: core_privilege_manager
2271 - name: 'Core: Push Notifications'
2272 description: Push is a way for application developers to send messages to their
2283 - 'Core::DOM: Push Notifications'
2287 machine_name: core_push_notifications
2289 - name: 'Core: Sandboxing (Linux)'
2290 description: Sandboxing for the Linux platform
2292 - security/sandbox/linux/**/*
2295 url: https://wiki.mozilla.org/Security/Sandbox
2297 - 'Core::Security: Process Sandboxing'
2302 machine_name: core_sandboxing_linux
2304 - name: 'Core: Sandboxing (OSX)'
2305 description: Sandboxing for the OSX platform
2307 - security/sandbox/mac/**/*
2310 url: https://wiki.mozilla.org/Security/Sandbox
2312 - 'Core::Security: Process Sandboxing'
2316 machine_name: core_sandboxing_osx
2318 - name: 'Core: Sandboxing (Windows)'
2319 description: Sandboxing for the Windows platform
2321 - security/sandbox/win/**/*
2331 url: https://wiki.mozilla.org/Security/Sandbox
2333 - 'Core::Security: Process Sandboxing'
2338 machine_name: core_sandboxing_windows
2340 - name: 'Core: security'
2341 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2354 group: dev-tech-crypto
2355 url: :ref:`Network Security Services (NSS)`
2360 - 'Core::Security: S/MIME'
2373 machine_name: core_security
2375 - name: 'Core: Security - Mozilla PSM Glue'
2376 description: Personal Security Manager
2378 - security/manager/**/*
2381 - Kai Engert (2001-2012)
2382 group: dev-tech-crypto
2384 - 'Core::Security: PSM'
2393 machine_name: core_security_mozilla_psm_glue
2395 - machine_name: core_security_rlbox
2396 name: Security - RLBox
2397 description: Sandboxing using WASM/RLBox libraries.
2401 - third_party/rlbox_wasm2c_sandbox
2411 - 'Core::Security: RLBox'
2412 - name: 'Core: Static analysis & rewriting for C++'
2413 description: Tools for checking C++ code looking for problems at compile time,
2414 plus tools for automated rewriting of C++ code.
2416 - build/clang-plugin/**/*
2417 - tools/rewriting/**/*
2418 # TODO among other out of tree tools
2421 - Birunthan Mohanathas
2425 - Core::Rewriting & Analysis
2432 machine_name: core_static_analysis_rewriting_for_c
2434 - name: 'Core: storage'
2435 description: Storage APIs with a SQLite backend
2437 - third_party/sqlite3/**/*
2441 url: http://developer.mozilla.org/en/docs/Storage
2443 - Toolkit::Storage, Core::SQL
2449 machine_name: core_storage
2451 - name: 'Core: String'
2456 group: dev-tech-xpcom
2457 url: :ref:`String Guide`
2464 machine_name: core_string
2466 - name: 'Core: Style System'
2467 description: CSS style sheet handling; style data computation
2478 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2480 - Core::CSS Parsing and Computation
2486 machine_name: core_style_system
2489 description: Scalable Vector Graphics
2496 url: https://developer.mozilla.org/docs/Web/SVG
2506 machine_name: core_svg
2508 - name: 'Core: UA String'
2509 description: User Agent String
2511 - netwerk/protocol/http/**/*
2514 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2516 - 'Core::Networking: HTTP'
2522 machine_name: core_ua_string
2524 - name: 'Core: View System'
2525 description: The View Manager is responsible for handling "heavyweight" rendering
2526 (some clipping, compositing) and event handling tasks.
2534 - 'Core::Layout: View Rendering'
2540 machine_name: core_view_system
2542 - name: 'Core: Web Audio'
2543 description: Support for the W3C Web Audio API specification.
2545 - dom/media/webaudio/**/*
2550 url: https://wiki.mozilla.org/Web_Audio_API
2558 machine_name: core_web_audio
2560 - name: 'Core: Web Painting'
2561 description: painting, display lists, and layer construction
2563 - layout/painting/**/*
2564 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2567 url: :ref:`Layout & CSS`
2569 - 'Core::Layout: Web Painting'
2580 machine_name: core_web_painting
2582 - name: 'Core: Web Workers'
2595 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2597 - 'Core::DOM: Workers'
2603 machine_name: core_web_workers
2605 - name: 'Core: WebGPU (Graphics submodule)'
2606 description: WebGPU implementation
2611 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2613 - Core::Graphics::WebGPU
2619 machine_name: core_webgpu_graphics_submodule
2621 - name: 'Core: WebRTC'
2622 description: WebRTC is responsible for realtime audio and video communication,
2623 as well as related issues like low-level camera and microphone access
2626 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2631 url: https://wiki.mozilla.org/Media/webrtc
2634 - Core::WebRTC Networking
2641 machine_name: core_webrtc
2643 - name: 'Core: WebVR'
2644 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2645 including API, devices, graphics and integration
2651 - Vladimir Vukicevic
2654 url: https://mozvr.com/
2663 - name: 'Core: WebRTC Media'
2664 description: Submodule of WebRTC responsible for access to media input devices
2665 (microphones, cameras, screen capture), as well as realtime audiovisual
2666 codecs and packetization.
2669 - dom/media/webrtc/**/*
2670 - dom/media/systemservices/**/*
2676 url: https://wiki.mozilla.org/Media/webrtc
2678 - Core::WebRTC (Audio/Video)
2685 machine_name: core_webrtc_media
2687 - name: 'Core: WebRTC Signaling'
2688 description: Submodule of WebRTC responsible for implementation of PeerConnection
2689 API, WebRTC identity, and SDP/JSEP handling
2691 - media/webrtc/signaling/**/*
2696 url: https://wiki.mozilla.org/Media/webrtc
2698 - Core::WebRTC (Signaling)
2706 machine_name: core_webrtc_signaling
2707 machine_name: core_webvr
2709 - name: 'Core: Widget'
2710 description: Top level Widget
2715 - Vladimir Vukicevic
2722 - Core::Drag and Drop
2724 - 'Core::Printing: Setup'
2727 machine_name: core_widget
2729 - name: 'Core: Widget - Android'
2730 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2735 machine_name: core_widget_android
2737 - name: 'Core: Widget - GTK'
2738 description: GTK widget support
2745 url: http://www.mozilla.org/ports/gtk/
2747 - 'Core::Widget: Gtk'
2752 machine_name: core_widget_gtk
2754 - name: 'Core: Widget - Headless'
2755 description: Headless widget support
2757 - widget/headless/**/*
2766 machine_name: core_widget_headless
2768 - name: 'Core: Widget - macOS'
2769 description: ' macOS widget support'
2782 - 'Core::Widget: Cocoa'
2788 machine_name: core_widget_macos
2790 - name: 'Core: Widget - Windows'
2791 description: Windows widget support
2793 - widget/windows/**/*
2799 - Vladimir Vukicevic
2802 - Christian Biesinger
2804 - Josh 'timeless' Soref
2811 - 'Core::Widget: Win32'
2817 machine_name: core_widget_windows
2820 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2821 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2822 that are not covered by more specific projects.
2838 machine_name: core_xml
2840 - name: 'Core: XPApps'
2841 description: Cross-Platform Applications, mostly Navigator front end and application
2846 group: dev-apps-seamonkey
2850 - Josh 'timeless' Soref
2853 machine_name: core_xpapps
2855 - name: 'Core: XPCOM'
2856 description: The cross-platform object model and core data structures.
2862 - xpcom/components/**/*
2866 - xpcom/reflect/**/*
2870 - xpcom/threads/**/*
2871 - xpcom/windbgdlg/**/*
2892 machine_name: core_xpcom
2894 - name: 'Core: XPConnect'
2895 description: Deep Magic
2914 machine_name: core_xpconnect
2916 - name: 'Core: XPIDL'
2917 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
2918 runtime type description files from .idl interface description files.
2920 - xpcom/idl-parser/**/*
2927 - Josh 'timeless' Soref
2928 group: dev-tech-xpcom
2934 machine_name: core_xpidl
2936 - name: 'Core: XSLT Processor'
2937 description: XSLT transformations processor
2945 group: dev-tech-xslt
2946 url: https://developer.mozilla.org/docs/Web/XSLT
2952 machine_name: core_xslt_processor
2954 - name: Desktop Firefox
2955 description: Standalone Web Browser.
2968 - Tim Guan-tin Chien
2998 - name: Add-ons Manager
2999 description: Extension management back-end.
3001 - toolkit/mozapps/extensions/**/*
3015 machine_name: addons_manager
3017 - name: Add-ons Manager UI
3018 description: about:addons.
3020 - toolkit/mozapps/extensions/content/**/*
3033 machine_name: addons_manager_ui
3035 - name: Application Update
3036 description: The application update services.
3038 - toolkit/mozapps/update/**/*
3045 machine_name: application_update
3047 - name: Bookmarks & History
3048 description: The bookmarks and history services (Places).
3050 - browser/components/places/**/*
3051 - toolkit/components/places/**/*
3058 machine_name: bookmarks_history
3060 - name: Desktop Theme
3061 description: The style rules used in the desktop UI.
3063 - browser/themes/**/*
3064 - toolkit/themes/**/*
3077 machine_name: desktop_theme
3080 description: The main browser UI except where covered by more specific submodules.
3082 - browser/base/content/**/*
3089 machine_name: desktop_ui
3091 - name: Download Manager
3092 description: The downloads UI and service.
3094 - browser/components/downloads/**/*
3095 - toolkit/mozapps/downloads/**/*
3096 - uriloader/exthandler/**/*
3103 machine_name: download_manager
3105 - name: Enterprise Policies
3106 description: System policies for controlling Firefox.
3108 - browser/components/enterprisepolicies/**/*
3113 machine_name: enterprise_policies
3115 - name: Experiments/Rollouts
3116 description: Desktop clients for our experiments and off-train deployments
3119 - toolkit/components/normandy/**/*
3120 - toolkit/components/nimbus/**/*
3126 - Firefox::Nimbus Desktop Client
3127 url: https://experimenter.info/
3133 machine_name: normandy
3135 - machine_name: firefox_view
3137 description: The Firefox View page and its modules.
3139 - browser/components/firefoxview/**/*
3146 - name: Form Autofill
3147 description: Form detection and autocomplete.
3149 - browser/extensions/formautofill/**/*
3150 - toolkit/components/satchel/**/*
3153 - Matthew Noorenberghe
3159 machine_name: form_autofill
3161 - name: In-product Messaging
3162 description: The system for delivering in-product messaging.
3164 - toolkit/components/messaging-system/**/*
3167 - Firefox::Messaging System
3174 machine_name: inproduct_messaging
3176 - name: Launcher Process
3177 description: Windows process for bootstrapping the browser process.
3179 - browser/app/winlauncher/**/*
3185 - Firefox::Launcher Process
3190 machine_name: launcher_process
3192 - machine_name: localization
3194 description: Tooling to enable translation and facilitate localization.
3202 - name: New Tab Page
3203 description: The new tab/home page.
3205 - browser/components/newtab/**/*
3208 - Firefox::New Tab Page
3215 machine_name: new_tab_page
3218 description: The onboarding experience including UI tours.
3220 - browser/components/uitour/**/*
3228 machine_name: onboarding
3230 - name: Password Manager
3231 description: Managing, saving and filling logins.
3233 - toolkit/components/passwordmgr/**/*
3234 - browser/components/aboutlogins/**/*
3237 - Matthew Noorenberghe
3241 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3243 - Toolkit::Password Manager
3244 - 'Toolkit::Password Manager: Site'
3246 - Firefox::about:logins
3254 machine_name: password_manager
3256 - machine_name: firefox_pip
3257 name: Picture-in-Picture
3258 description: A component that allows video elements to be pulled out into
3259 an always-on-top window.
3261 - toolkit/components/pictureinpicture
3262 - browser/extensions/pictureinpicture
3272 - name: Profile Migration
3273 description: Migrating data from other browsers.
3275 - browser/components/migration/**/*
3283 machine_name: profile_migration
3286 description: Code relating to Screenshots functionality
3288 - browser/extensions/screenshots/**/*
3289 - browser/components/screenshots/**/*
3297 - Firefox::Screenshots
3303 machine_name: screenshots
3305 - name: Search and Address Bar
3306 description: The search service, address bar and address bar autocomplete.
3308 - browser/components/search/**/*
3309 - browser/components/urlbar/**/*
3310 - toolkit/components/search/**/*
3313 - Firefox::Address Bar
3325 machine_name: search_and_address_bar
3327 - name: Security and Privacy UI
3328 description: The front-end to our security and privacy features, including
3329 Protections UI, Site Identity, Site Permissions and Certificate Errors
3331 - browser/components/protections/**/*
3332 - browser/components/controlcenter/**/*
3336 - Nihanth Subramanya
3341 - Firefox::Protections UI
3342 - Firefox::Site Identity
3343 - Firefox::Site Permissions
3348 machine_name: security_and_privacy_ui
3350 - name: Session Restore
3351 description: Restoring a user's session after starting Firefox.
3353 - browser/components/sessionstore/**/*
3354 - toolkit/components/sessionstore/**/*
3362 - Firefox::Session Restore
3368 machine_name: session_restore
3371 description: The front-end settings user interface.
3373 - browser/components/preferences/**/*
3374 - browser/themes/*/preferences
3375 - toolkit/mozapps/preferences
3386 machine_name: settings_ui
3388 - name: Tabbed Browser
3389 description: The UI component controlling browser tabs.
3391 # TODO double check that this works as expected
3392 - browser/base/content/tabbrowser*
3393 - browser/modules/AsyncTabSwitcher.jsm
3396 - Firefox::Tabbed Browser
3400 machine_name: tabbed_browser
3402 - name: Windows Installer
3403 description: The installer for Windows.
3405 - browser/installer/**/*
3406 - toolkit/mozapps/installer/**/*
3409 - Firefox::Installer
3415 machine_name: windows_installer
3416 machine_name: desktop_firefox
3418 - machine_name: marionette
3420 description: Marionette is a remote protocol that lets out-of-process programs
3421 communicate with, instrument, and control Gecko-based browsers. Combined with
3422 geckodriver, this forms our WebDriver implementation.
3424 - testing/marionette/**/*
3433 - 'Testing :: Marionette'
3441 - machine_name: mozharness
3443 description: Configuration-driven script harness.
3445 - testing/mozharness/**/*
3458 - 'Release Engineering :: Applications: MozharnessCore'
3459 - machine_name: python_usage
3460 name: Python usage, tools, and style
3461 description: Aspects of Python use such as tooling, formatting and naming style
3463 - tools/lint/python/**/*
3473 - 'Developer Infrastructure :: Lint and Formatting'
3474 - machine_name: testing_firefox_ui
3476 description: Firefox UI test framework.
3478 - testing/firefox-ui/**/*
3486 - 'Testing :: Firefox UI'
3487 - machine_name: testing_geckodriver
3489 description: Proxy for using W3C WebDriver-compatible clients to interact with
3490 Gecko-based browsers.
3492 - testing/geckodriver/**/*
3500 - 'Testing :: geckodriver'
3501 - machine_name: testing_gtest
3503 description: GTest test harness.
3505 - testing/gtest/**/*
3512 - 'Testing :: GTest'
3513 - machine_name: testing_mochitest
3515 description: Mochitest test framework
3517 - testing/mochitest/**/*
3526 - 'Testing :: Mochitest'
3527 - machine_name: testing_mozbase
3529 description: Base modules used for implementing test components.
3543 - 'Testing :: Mozbase'
3544 - 'Testing :: Mozbase Rust'
3545 - machine_name: testing_performance_testing
3546 name: Performance Testing
3548 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3549 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3550 the owners/peers of the various components (linked below).
3552 - testing/raptor/**/*
3553 - testing/talos/**/*
3554 - python/mozperftest/**/*
3556 - tools/lint/perfdocs/**/*
3557 - testing/perfdocs/**/*
3558 - testing/performance/**/*
3559 - testing/condprofile/**/*
3560 - tools/browsertime/**/*
3561 - tools/tryselect/selectors/perf.py
3572 - 'Testing :: Raptor'
3573 - 'Testing :: Talos'
3575 - 'Testing :: Performance'
3576 - 'Testing :: mozperftest'
3577 - 'Testing :: Condprofile'
3578 url: :ref:`Performance Testing`
3579 - machine_name: testing_reftest
3580 name: Reftest (+ jsreftest + crashtest)
3581 description: Reftest test framework
3583 - layout/tools/reftest/**/*
3592 - 'Testing :: Reftest'
3593 - machine_name: testing_tryselect
3595 description: Frontend for selecting jobs on the try server.
3597 - tools/tryselect/**/*
3605 - 'Developer Infrastructure :: Try'
3606 - machine_name: testing_web_platform_tests_infrastructure
3607 name: web-platform-tests infrastructure
3608 description: Infrastructure for running the cross-browser web-platform-tests
3610 - testing/web-platform/**/*
3611 - testing/web-platform/tests/tools/**/*
3613 - testing/web-platform/tests/**/*
3614 - testing/web-platform/meta/**/*
3615 - testing/web-platform/mozilla/**/*
3621 - 'Testing :: web-platform-tests'
3622 - machine_name: testing_xpcshell
3624 description: XPCShell test harness.
3626 - testing/xpcshell/**/*
3634 - Testing::XPCShell Harness
3636 description: Components shared between desktop and mobile browsers.
3653 - name: Application Startup
3654 description: The profile system and startup process before the front-end launches.
3656 - toolkit/profile/**/*
3657 - toolkit/components/remote/**/*
3664 machine_name: application_startup
3668 The core infrastructure in the Firefox client to send back telemetry
3669 data. Includes the common mechanisms to record, view and submit data: Legacy
3670 Telemetry and Glean (via Firefox on Glean (FOG)). This module
3671 does ''not'' include responsibility for every piece of submitted Telemetry
3672 data. Each team/module is responsible for their own measurements (histograms,
3673 scalars, other ping submissions, etc.).
3675 - toolkit/components/glean/**/*
3676 - toolkit/components/telemetry/**/*
3677 - toolkit/content/aboutTelemetry.*
3682 url: :ref:`Telemetry`
3690 machine_name: telemetry
3693 description: The base widgets used throughout the UI.
3695 - toolkit/content/widgets/**/*
3702 machine_name: ui_widgets
3704 - name: Webextensions
3705 description: Webextension APIs and integration.
3707 - browser/components/extensions/**/*
3708 - toolkit/components/extensions/**/*
3720 machine_name: webextensions
3721 machine_name: toolkit
3723 config: bad4121af04346b365d7833bd2c687028b12b931
3724 export: 6fc9f5be22e9e75f801de6b7ecb3d64b278ec1ff