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-06-06T17:58:23.145033'
13 path: ./docs/mots/index.rst
15 searchfox_enabled: true
17 Mozilla operates under a `module ownership governance system <https://www.mozilla.org/hacking/module-ownership.html>`_. A module is a discrete unit of code or activity. An owner is the person in charge of a module or sub-module. A peer is a person whom the owner has appointed to help them. A module may have multiple peers and, very occasionally, multiple owners.
19 The system is overseen by the owner and peers of the Module Ownership module. For the modules that make up Firefox, oversight is provided by the Firefox Technical Leadership module. Owners may add and remove peers from their modules as they wish, without reference to anyone else.
40 name: Andrew Halberstadt
44 name: Yoshi Cheng-Hao Huang
76 name: Alessio Placitelli
84 name: Andrew Sutherland
92 name: Andrea Marchesini
104 name: Benjamin Bouvier
112 name: Ben Dean-Kawamura
116 name: Benjamin Beurdouche
148 name: Hubert Boma Manilla
159 name: Bryce Seager van Dyk
170 name: Benjamin VanderSloot
186 name: Calixte Denizet
197 name: Nazım Can Altınova
201 name: Caroline Cullen
213 name: Christoph Kerschbaumer
225 name: Daisuke Akatsuka
289 name: Dragana Damjanovic
325 name: Emilio Cobos Álvarez
329 name: Masatoshi Kimura
348 name: Nick Fitzgerald
352 name: Francesco Lodolo
368 name: Gian-Carlo Pascutto
390 name: Gabriele Svelto
394 name: Haik Aftandilian
402 name: Hiroyuki Ikezoe
410 name: Jan Honza Odvarko
434 name: Jan-Erik Rediger
454 name: Julian Descottes
482 name: Jan-Ivar Bruaroey
510 name: Jonathan Almeida
545 name: Jean-Yves Avenard
573 name: Kimberly Sereduck
574 nick: kimberlythegeek
601 name: Dzmitry Malyshau
613 name: Lougenia Bailey
629 name: Marco Castelluccio
645 name: Masayuki Nakano
654 nick: MatsPalmgren_bugz
661 name: Andrew McCreight
693 name: Morgan Reschenberg
733 name: Nicolas Chevobbe
745 name: Niklas Baumgardner
765 name: Alexandre Poirot
789 name: Andreas Pehrson
797 name: Peter Van der Beken
837 name: Alexandra Borovova
865 name: Shravan Narayan
881 name: Greg Mierzwinski
897 name: Martin Stránský
904 name: Sylvestre Ledru
947 name: Toshihito Kikuchi
1006 name: Zibi Braniecki
1014 name: Tomislav Jovanovic
1017 - name: mozilla-toplevel
1018 description: The top level directory for the mozilla tree.
1021 # TODO: verify, as this was toolkit/README
1026 # - Technical Leadership Module
1029 machine_name: _mozillatoplevel
1031 - machine_name: code_coverage
1033 description: Tools for code coverage instrumentation, and coverage data parsing
1036 - tools/code-coverage/**/*
1037 - python/mozbuild/mozbuild/codecoverage/**/*
1038 - testing/mozharness/mozharness/mozilla/testing/codecoverage.py
1047 - 'Testing :: Code Coverage'
1048 - name: 'Core: Accessibility'
1049 description: Support for platform accessibility APIs. Accessibility APIs are used
1050 by 3rd party software like screen readers, screen magnifiers, and voice dictation
1051 software, which need information about document content and UI controls, as
1052 well as important events like changes of focus.
1066 group: dev-accessibility
1067 url: https://developer.mozilla.org/docs/Web/Accessibility
1069 - Core::Disability Access APIs
1076 machine_name: core_accessibility
1078 - name: 'Core: Animation'
1079 description: 'Declarative animations: CSS animations, CSS transitions, Web Animations
1080 API, and off-main thread animations.'
1082 - dom/animation/**/*
1083 # TODO "and animation-related and interpolation-related code
1084 # in layout/style, gfx/layers, servo/components/style and servo/ports/gecko
1088 - Core::DOM::Animation
1089 - Core::CSS Transitions and Animations
1097 machine_name: core_animation
1099 - name: 'Core: Anti-Tracking'
1100 description: Tracking detection and content-blocking.
1102 - toolkit/components/antitracking/**/*
1103 # several files under browser/ and netwerk/url-classifier/ **TODO**
1111 - 'Core::Privacy: Anti-Tracking'
1119 machine_name: core_antitracking
1121 - name: 'Core: APZ (Graphics submodule)'
1122 description: Asynchronous panning and zooming
1124 - gfx/layers/apz/**/*
1131 url: https://wiki.mozilla.org/Platform/GFX/APZ
1133 - Core::Panning and Zooming
1141 machine_name: core_apz_graphics_submodule
1143 - name: 'Core: Browser WebAPI'
1144 description: Web API for rendering apps, browser windows and widgets.
1146 - dom/browser-element/**/*
1157 machine_name: core_browser_webapi
1159 - name: 'Core: Build and Release Tools'
1160 description: Tools related to build and release automation and configuration of
1163 - tools/update-packaging/**/*
1164 - tools/update-verify/**/*
1168 group: release-engineering
1169 url: https://wiki.mozilla.org/ReleaseEngineering
1171 - Release Engineering::*
1177 machine_name: core_build_and_release_tools
1179 - name: 'Core: Build Config'
1180 description: The build system for Gecko and several mozilla.org hosted Gecko-based
1185 - python/mozbuild/**/*
1186 - browser/config/mozconfigs/**/*
1204 url: :ref:`Build System`
1206 - Core::Build Config
1213 - name: 'Core: Build Config - Fennec'
1214 description: Submodule of the build config covering Fennec's build system
1219 - Core::Build Config
1223 machine_name: core_build_config_fennec
1225 - name: 'Core: Build Config - Taskgraph'
1226 description: Support for task-graph generation in decision, action, and cron
1227 tasks, including configuration of all tasks including those for CI, nightlies,
1228 and releases; as well as Docker and VM images used to execute those tasks.
1233 - Firefox Build System::Task Configuration
1249 machine_name: core_build_config_taskgraph
1250 machine_name: core_build_config
1252 - name: 'Core: Code Analysis and Debugging Tools'
1253 description: Tools for debugging Mozilla code or for analyzing speed, memory use,
1254 and other characteristics of it.
1257 - tools/leak-gauge/**/*
1258 - tools/performance/**/*
1261 group: dev-performance
1265 machine_name: core_code_analysis_and_debugging_tools
1267 - name: 'Core: Content Security'
1268 description: 'Native content-based security features enforced in the ContentSecurityManager,
1269 including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer
1270 Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options,
1271 X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata,
1272 and top-level data: URI blocking.'
1284 - 'Core::DOM: Security'
1292 machine_name: core_content_security
1294 - name: 'Core: Cookies'
1297 - netwerk/cookie/**/*
1306 - Christian Biesinger
1312 - 'Core::Networking: Cookies'
1321 machine_name: core_cookies
1323 - name: 'Core: Crash reporting'
1324 description: Infrastructure and tools used to generate, submit and process crash
1325 reports. This includes the in-tree google-breakpad fork, the crash report generation
1326 machinery as well as the host tools used to dump symbols, analyse minidumps
1327 and generate stack traces.
1329 - toolkit/crashreporter/**/*
1330 - toolkit/components/crashes/**/*
1331 - tools/crashreporter/**/*
1332 - ipc/glue/CrashReporter*
1333 - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
1338 url: :ref:`Crash Reporter`
1340 - Toolkit::Crash Reporting
1346 machine_name: core_crash_reporting
1348 - machine_name: core_credentials
1349 name: 'Core: Credentials'
1350 description: API Surface for FedCM and WebAuthn
1352 - toolkit/components/credentialmanagement/**/*
1353 - browser/components/credentialmanager/**/*
1354 - dom/credentialmanagement/**/*
1366 - 'Core::DOM: Credential Management'
1367 - 'Core::DOM: Web Authentication'
1369 - name: 'Core: C++/Rust usage, tools, and style'
1370 description: Aspects of C++ use such as language feature usage, standard library
1371 versions/usage, compiler/toolchain versions, formatting and naming style, and
1372 aspects of Rust use as needs arise
1374 # NOTE: more of a "meta module" -- who do we ask when we want to do the above?
1375 # Includes/globs include where we define coding style, etc... (i.e. documentation)
1376 # - docs/code-quality/**/*
1377 # - docs/testing-rust-code/**/*
1378 # - docs/writing-rust-code/**/*
1393 machine_name: core_crust_usage_tools_and_style
1395 - name: 'Core: Cycle Collector'
1396 description: Code to break and collect objects within reference cycles
1398 - xpcom/base/nsCycleCollect*
1399 # TODO "and some support headers"
1400 # NOTE: not always clean lines between modules and file boundaries. This module is deeply intertwines with other modules (e.g. XPCOM)
1406 - Core::Cycle Collector
1412 machine_name: core_cycle_collector
1414 - name: 'Core: DLL Services'
1415 description: Windows dynamic linker instrumentation and blocking
1417 - toolkit/xre/dllservices/**/*
1423 - Core::DLL Services
1428 machine_name: core_dll_services
1430 - name: 'Core: docshell'
1434 - uriloader/base/**/*
1440 - Christian Biesinger
1446 - Core::Document Navigation
1453 machine_name: core_docshell
1455 - name: 'Core: Document Object Model'
1459 exclude_module_paths: true
1476 url: http://developer.mozilla.org/en/docs/DOM
1479 - 'Core::DOM: Core & HTML'
1495 machine_name: core_document_object_model
1497 - name: 'Core: DOM File'
1498 description: DOM Blob, File and FileSystem APIs
1501 - dom/filesystem/**/*
1504 url: http://developer.mozilla.org/en/docs/DOM
1511 machine_name: core_dom_file
1513 - machine_name: core_dom_streams
1514 name: 'Core: DOM Streams'
1515 description: Streams Specification implementation
1526 url: http://developer.mozilla.org/en/docs/DOM
1529 - 'Core::DOM: Streams'
1532 - name: 'Core: Editor'
1547 machine_name: core_editor
1549 - name: 'Core: Event Handling'
1550 description: DOM Events and Event Handling
1553 # TODO "and event handling related code elsewhere"
1558 url: http://developer.mozilla.org/en/docs/DOM
1560 - 'Core::DOM: Events'
1561 - 'Core::DOM: UI Events & Focus Handling'
1567 machine_name: core_event_handling
1569 - machine_name: core_firefox_source_documentation
1570 name: 'Core: Firefox Source Documentation'
1571 description: The infrastructure platform used to generate Firefox's source documentation,
1572 excluding editorial control over the content.
1575 - tools/moztreedocs/
1582 - Developer Infrastructure::Source Documentation
1583 url: https://firefox-source-docs.mozilla.org/
1584 - name: 'Core: Gecko Profiler'
1585 description: Gecko's built-in profiler
1587 - tools/profiler/**/*
1588 - mozglue/baseprofiler/**/*
1593 - Shu-yu Guo (JS integration)
1594 - Thinker Lee (TaskTracer)
1595 - Cervantes Yu (TaskTracer)
1596 - Nicholas Nethercote
1602 url: https://firefox-source-docs.mozilla.org/tools/profiler/
1604 - Core::Gecko Profiler
1611 machine_name: core_gecko_profiler
1613 - name: 'Core: GeckoView'
1614 description: Framework for embedding Gecko into Android applications
1616 - mobile/android/**/*
1617 - widget/android/**/*
1629 url: https://wiki.mozilla.org/Mobile/GeckoView
1631 - GeckoView::General
1639 machine_name: core_geckoview
1641 - name: 'Core: Global Key Bindings'
1642 description: Global hot keys for Firefox. Does not include underlined menu accelerators
1643 and the like, as those are part of i18n.
1646 # TODO "and platform specific directories under it"
1648 group: dev-accessibility
1649 url: https://support.mozilla.org/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
1651 - 'Core::Keyboard: Navigation'
1656 machine_name: core_global_key_bindings
1658 - name: 'Core: Graphics'
1659 description: Mozilla graphics API
1667 - Benoit Girard(Compositor, Performance)
1669 - George Wright(Canvas2D)
1673 - John Daggett(text/fonts)
1674 - Benoit Jacob(gfx/gl)
1676 - Vladimir Vukicevic
1677 - James Willcox(Android)
1680 url: https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers
1681 https://wiki.mozilla.org/Gecko:2DGraphicsSketch
1684 - 'Core::Graphics: Layers'
1685 - 'Core::Graphics: Text'
1686 - 'Core::Graphics: WebRender'
1687 - 'Core::GFX: Color Management'
1688 - 'Core::Canvas: 2D'
1689 - 'Core::Canvas: WebGL'
1701 machine_name: core_graphics
1704 description: Hardware Abstraction Layer
1710 - Core::Hardware Abstraction Layer (HAL)
1714 machine_name: core_hal
1716 - name: 'Core: HTML Parser'
1717 description: The HTML Parser transforms HTML source code into a DOM. It conforms
1718 to the HTML specification, and is mostly translated automatically from Java
1724 url: http://about.validator.nu/
1726 - 'Core::HTML: Parser'
1731 machine_name: core_html_parser
1733 - name: 'Core: I18N Library'
1742 url: :ref:`Internationalization`
1744 - Core::Internationalization
1752 machine_name: core_i18n_library
1754 - name: 'Core: ImageLib'
1757 - media/libjpeg/**/*
1774 machine_name: core_imagelib
1776 - name: 'Core: IndexedDB'
1779 - dom/indexedDB/**/*
1787 url: https://developer.mozilla.org/en/IndexedDB
1789 - 'Core::DOM: IndexedDB'
1796 machine_name: core_indexeddb
1799 description: Native message-passing between threads and processes
1826 machine_name: core_ipc
1828 - name: 'Core: JavaScript'
1829 description: JavaScript engine (SpiderMonkey)
1853 - Nicholas Nethercote
1858 url: https://spidermonkey.dev/
1860 - Core::JavaScript Engine
1861 - 'Core::JavaScript: GC'
1862 - 'Core::JavaScript: Internationalization API'
1863 - 'Core::JavaScript: Standard Library'
1864 - 'Core::JavaScript: WebAssembly'
1886 machine_name: core_javascript
1888 - name: 'Core: JavaScript JIT'
1889 description: JavaScript engine's JIT compilers (IonMonkey, Baseline)
1897 url: https://spidermonkey.dev/
1899 - 'Core::JavaScript Engine: JIT'
1915 machine_name: core_javascript_jit
1917 - name: 'Core: js-tests'
1918 description: JavaScript test suite
1922 group: dev-tech-js-engine
1923 url: http://www.mozilla.org/js/tests/library.html
1927 machine_name: core_jstests
1929 - name: 'Core: Layout Engine'
1930 description: rendering tree construction, layout (reflow), etc.
1936 - layout/generic/**/*
1937 - layout/printing/**/*
1938 - layout/tables/**/*
1947 url: https://wiki.mozilla.org/Gecko:Overview#Layout
1950 - 'Core::Layout: Block and Inline'
1951 - 'Core::Layout: Columns'
1952 - 'Core::Layout: Flexbox'
1953 - 'Core::Layout: Floats'
1954 - 'Core::Layout: Form Controls'
1955 - 'Core::Layout: Generated Content, Lists, and Counters'
1956 - 'Core::Layout: Grid'
1957 - 'Core::Layout: Images, Video, and HTML Frames'
1958 - 'Core::Layout: Positioned'
1959 - 'Core::Layout: Ruby'
1960 - 'Core::Layout: Scrolling and Overflow'
1961 - 'Core::Layout: Tables'
1962 - 'Core::Layout: Text and Fonts'
1963 - Core::Print Preview
1964 - 'Core::Printing: Output'
1976 machine_name: core_layout_engine
1978 - name: 'Core: Legacy HTML Parser'
1981 - parser/htmlparser/**/*
1985 url: http://www.mozilla.org/newlayout/doc/parser.html
1987 - 'Core::HTML: Parser'
1994 machine_name: core_legacy_html_parser
1996 - name: 'Core: libjar'
1997 description: The JAR handling code (protocol handler, stream implementation, and
1998 zipreader/zipwriter).
2000 - modules/libjar/**/*
2010 - 'Core::Networking: JAR'
2016 machine_name: core_libjar
2018 - name: 'Core: MathML'
2019 description: MathML is a low-level specification for describing mathematics which
2020 provides a foundation for the inclusion of mathematical expressions in Web pages.
2022 - layout/mathml/**/*
2024 group: dev-tech-mathml
2025 url: https://developer.mozilla.org/docs/Web/MathML
2032 machine_name: core_mathml
2034 - name: 'Core: Media Playback'
2035 description: HTML Media APIs, including Media Source Extensions and non-MSE video/audio
2036 element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).
2039 - media/gmp-clearkey/**/*
2040 - media/libcubeb/**/*
2041 - media/libnestegg/**/*
2043 - media/libopus/**/*
2044 - media/libtheora/**/*
2045 - media/libtremor/**/*
2046 - media/libvorbis/**/*
2048 - dom/media/platforms/omx/**/*
2049 - dom/media/gmp/rlz/**/*
2064 machine_name: core_media_playback
2066 - name: 'Core: Media Transport'
2067 description: Pluggable transport for real-time media
2069 - dom/media/webrtc/transport/**/*
2073 - Core::WebRTC::Networking
2080 machine_name: core_media_transport
2082 - name: 'Core: Memory Allocator'
2083 description: Most things related to memory allocation in Gecko, including jemalloc,
2084 replace-malloc, DMD (dark matter detector), logalloc, etc.
2090 - Nicholas Nethercote
2098 machine_name: core_memory_allocator
2100 - name: 'Core: mfbt'
2101 description: mfbt is a collection of headers, macros, data structures, methods,
2102 and other functionality available for use and reuse throughout all Mozilla code
2103 (including SpiderMonkey and Gecko more broadly).
2115 machine_name: core_mfbt
2117 - name: 'Core: Moz2D (Graphics submodule)'
2118 description: Platform independent 2D graphics API
2123 url: https://wiki.mozilla.org/Platform/GFX/Moz2D
2131 machine_name: core_moz2d_graphics_submodule
2133 - name: 'Core: Mozglue'
2134 description: Glue library containing various low-level functionality, including
2135 a dynamic linker for Android, a DLL block list for Windows, etc.
2143 - Kartikaya Gupta (mozglue/android)
2148 machine_name: core_mozglue
2150 - name: 'Core: MSCOM'
2151 description: Integration with Microsoft Distributed COM
2162 - 'Core::IPC: MSCOM'
2168 machine_name: core_mscom
2170 - name: 'Core: Necko'
2171 description: The Mozilla Networking Library
2175 - netwerk/build/**/*
2176 - netwerk/cache2/**/*
2178 - netwerk/locales/**/*
2180 - netwerk/protocol/**/*
2181 - netwerk/socket/**/*
2182 - netwerk/streamconv/**/*
2183 - netwerk/system/**/*
2188 - dom/websocket/**/*
2189 - uriloader/prefetch/**/*
2190 - uriloader/preload/**/*
2193 - Dragana Damjanovic
2195 - Christian Biesinger
2206 group: dev-tech-network
2207 url: :ref:`Networking`
2210 - 'Core::Networking: Cache'
2211 - 'Core::Networking: Cookies'
2212 - 'Core::Networking: FTP'
2213 - 'Core::Networking: File'
2214 - 'Core::Networking: HTTP'
2215 - 'Core::Networking: JAR'
2216 - 'Core::Networking: Websockets'
2217 - 'Core::DOM: Networking'
2223 machine_name: core_necko
2225 - name: 'Core: NodeJS usage, tools, and style'
2226 description: Advises on the use of NodeJS and npm packages at build and runtime.
2227 Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate
2228 teams to maintain automated license and security audits of npm packages. Works
2229 with the security team and relevant developers to respond to vulnerabilities
2230 in NodeJS and vendored npm packages.
2235 # TODO: and others as appropriate
2239 url: 'https://wiki.mozilla.org/Firefox/firefox-dev, #nodejs on slack'
2248 machine_name: core_nodejs_usage_tools_and_style
2250 - name: 'Core: NSPR'
2251 description: Netscape Portable Runtime
2257 group: dev-tech-nspr
2265 machine_name: core_nspr
2268 description: Rendering code to display documents encoded in the ISO 32000-1 PDF
2271 - toolkit/components/pdfjs/**/*
2279 url: https://github.com/mozilla/pdf.js
2286 machine_name: core_pdf
2288 - name: 'Core: Permissions'
2291 - extensions/permissions/**/*
2300 - Christian Biesinger
2305 - 'Core :: Permission Manager'
2312 machine_name: core_permissions
2314 - name: 'Core: Plugins'
2315 description: ' NPAPI Plugin support.'
2327 url: https://wiki.mozilla.org/Plugins
2332 machine_name: core_plugins
2334 - name: 'Core: Preferences'
2335 description: Preference library
2337 - modules/libpref/**/*
2340 - Nicholas Nethercote
2346 - 'Core::Preferences: Backend'
2352 machine_name: core_preferences
2354 - name: 'Core: Private Browsing'
2355 description: Implementation of the Private Browsing mode, and the integration
2356 of other modules with Private Browsing APIs.
2359 # Implementation and consumers of Private Browsing APIs in nsILoadContext,
2360 # nsIPrivateBrowsingChannel, PrivateBrowsingUtils.sys.mjs and the related glue code.'
2368 url: https://wiki.mozilla.org/Private_Browsing
2370 - Firefox::Private Browsing
2375 machine_name: core_private_browsing
2377 - name: 'Core: Privilege Manager'
2378 description: Caps is the capabilities-based security system.
2387 url: http://www.mozilla.org/projects/security/components/index.html
2389 - 'Core::Security: CAPS'
2395 machine_name: core_privilege_manager
2397 - name: 'Core: Push Notifications'
2398 description: Push is a way for application developers to send messages to their
2409 - 'Core::DOM: Push Notifications'
2413 machine_name: core_push_notifications
2415 - name: 'Core: Sandboxing (Linux)'
2416 description: Sandboxing for the Linux platform
2418 - security/sandbox/linux/**/*
2421 url: https://wiki.mozilla.org/Security/Sandbox
2423 - 'Core::Security: Process Sandboxing'
2428 machine_name: core_sandboxing_linux
2430 - name: 'Core: Sandboxing (OSX)'
2431 description: Sandboxing for the OSX platform
2433 - security/sandbox/mac/**/*
2436 url: https://wiki.mozilla.org/Security/Sandbox
2438 - 'Core::Security: Process Sandboxing'
2442 machine_name: core_sandboxing_osx
2444 - name: 'Core: Sandboxing (Windows)'
2445 description: Sandboxing for the Windows platform
2447 - security/sandbox/win/**/*
2457 url: https://wiki.mozilla.org/Security/Sandbox
2459 - 'Core::Security: Process Sandboxing'
2464 machine_name: core_sandboxing_windows
2466 - name: 'Core: security'
2467 description: Crypto/PKI code, including NSS (Network Security Services) and JSS
2480 group: dev-tech-crypto
2481 url: :ref:`Network Security Services (NSS)`
2486 - 'Core::Security: S/MIME'
2499 machine_name: core_security
2501 - name: 'Core: Security - Mozilla PSM Glue'
2502 description: Personal Security Manager
2504 - security/manager/**/*
2507 - Kai Engert (2001-2012)
2508 group: dev-tech-crypto
2510 - 'Core::Security: PSM'
2519 machine_name: core_security_mozilla_psm_glue
2521 - machine_name: core_security_rlbox
2522 name: Security - RLBox
2523 description: Sandboxing using WASM/RLBox libraries.
2527 - third_party/rlbox_wasm2c_sandbox
2537 - 'Core::Security: RLBox'
2538 - name: 'Core: Static analysis & rewriting for C++'
2539 description: Tools for checking C++ code looking for problems at compile time,
2540 plus tools for automated rewriting of C++ code.
2542 - build/clang-plugin/**/*
2543 - tools/rewriting/**/*
2544 # TODO among other out of tree tools
2547 - Birunthan Mohanathas
2551 - Core::Rewriting & Analysis
2558 machine_name: core_static_analysis_rewriting_for_c
2560 - name: 'Core: storage'
2561 description: Storage APIs with a SQLite backend
2563 - third_party/sqlite3/**/*
2567 url: http://developer.mozilla.org/en/docs/Storage
2569 - Toolkit::Storage, Core::SQL
2577 machine_name: core_storage
2579 - name: 'Core: String'
2584 group: dev-tech-xpcom
2585 url: :ref:`String Guide`
2592 machine_name: core_string
2594 - name: 'Core: Style System'
2595 description: CSS style sheet handling; style data computation
2606 url: https://wiki.mozilla.org/Gecko:Overview#Style_System
2608 - Core::CSS Parsing and Computation
2609 - 'Core::DOM: CSS Object Model'
2615 machine_name: core_style_system
2618 description: Scalable Vector Graphics
2625 url: https://developer.mozilla.org/docs/Web/SVG
2635 machine_name: core_svg
2637 - name: 'Core: UA String'
2638 description: User Agent String
2640 - netwerk/protocol/http/**/*
2643 url: https://developer.mozilla.org/docs/Web/HTTP/Headers/User-Agent/Firefox
2645 - 'Core::Networking: HTTP'
2651 machine_name: core_ua_string
2653 - name: 'Core: View System'
2654 description: The View Manager is responsible for handling "heavyweight" rendering
2655 (some clipping, compositing) and event handling tasks.
2663 - 'Core::Layout: View Rendering'
2669 machine_name: core_view_system
2671 - name: 'Core: Web Audio'
2672 description: Support for the W3C Web Audio API specification.
2674 - dom/media/webaudio/**/*
2679 url: https://wiki.mozilla.org/Web_Audio_API
2687 machine_name: core_web_audio
2689 - name: 'Core: Web Painting'
2690 description: painting, display lists, and layer construction
2692 - layout/painting/**/*
2693 # TODO: "the display list and layer related methods on nsIFrame and its subclasses"
2696 url: :ref:`Layout & CSS`
2698 - 'Core::Layout: Web Painting'
2709 machine_name: core_web_painting
2711 - name: 'Core: Web Workers'
2724 url: https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers
2726 - 'Core::DOM: Workers'
2732 machine_name: core_web_workers
2734 - name: 'Core: WebGPU (Graphics submodule)'
2735 description: WebGPU implementation
2740 url: https://wiki.mozilla.org/Platform/GFX/WebGPU
2742 - Core::Graphics::WebGPU
2748 machine_name: core_webgpu_graphics_submodule
2750 - name: 'Core: WebRTC'
2751 description: WebRTC is responsible for realtime audio and video communication,
2752 as well as related issues like low-level camera and microphone access
2755 # TODO: also see submodules "WebRTC Media" and "WebRTC Signaling"
2760 url: https://wiki.mozilla.org/Media/webrtc
2763 - Core::WebRTC Networking
2770 machine_name: core_webrtc
2772 - name: 'Core: WebVR'
2773 description: Gecko's implementation of WebVR (Virtual Reality) functionality,
2774 including API, devices, graphics and integration
2780 - Vladimir Vukicevic
2783 url: https://mozvr.com/
2792 - name: 'Core: WebRTC Media'
2793 description: Submodule of WebRTC responsible for access to media input devices
2794 (microphones, cameras, screen capture), as well as realtime audiovisual
2795 codecs and packetization.
2798 - dom/media/webrtc/**/*
2799 - dom/media/systemservices/**/*
2805 url: https://wiki.mozilla.org/Media/webrtc
2807 - Core::WebRTC (Audio/Video)
2814 machine_name: core_webrtc_media
2816 - name: 'Core: WebRTC Signaling'
2817 description: Submodule of WebRTC responsible for implementation of PeerConnection
2818 API, WebRTC identity, and SDP/JSEP handling
2820 - media/webrtc/signaling/**/*
2825 url: https://wiki.mozilla.org/Media/webrtc
2827 - Core::WebRTC (Signaling)
2835 machine_name: core_webrtc_signaling
2836 machine_name: core_webvr
2838 - name: 'Core: Widget'
2839 description: Top level Widget
2844 - Vladimir Vukicevic
2851 - Core::Drag and Drop
2853 - 'Core::Printing: Setup'
2856 machine_name: core_widget
2858 - name: 'Core: Widget - Android'
2859 description: This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView
2864 machine_name: core_widget_android
2866 - name: 'Core: Widget - GTK'
2867 description: GTK widget support
2874 url: http://www.mozilla.org/ports/gtk/
2876 - 'Core::Widget: Gtk'
2881 machine_name: core_widget_gtk
2883 - name: 'Core: Widget - Headless'
2884 description: Headless widget support
2886 - widget/headless/**/*
2895 machine_name: core_widget_headless
2897 - name: 'Core: Widget - macOS'
2898 description: ' macOS widget support'
2911 - 'Core::Widget: Cocoa'
2917 machine_name: core_widget_macos
2919 - name: 'Core: Widget - Windows'
2920 description: Windows widget support
2922 - widget/windows/**/*
2928 - Vladimir Vukicevic
2931 - Christian Biesinger
2933 - Josh 'timeless' Soref
2940 - 'Core::Widget: Win32'
2946 machine_name: core_widget_windows
2949 description: XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating
2950 Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things
2951 that are not covered by more specific projects.
2967 machine_name: core_xml
2969 - name: 'Core: XPApps'
2970 description: Cross-Platform Applications, mostly Navigator front end and application
2975 group: dev-apps-seamonkey
2979 - Josh 'timeless' Soref
2982 machine_name: core_xpapps
2984 - name: 'Core: XPCOM'
2985 description: The cross-platform object model and core data structures.
2991 - xpcom/components/**/*
2995 - xpcom/reflect/**/*
2999 - xpcom/threads/**/*
3000 - xpcom/windbgdlg/**/*
3021 machine_name: core_xpcom
3023 - name: 'Core: XPConnect'
3024 description: Deep Magic
3043 machine_name: core_xpconnect
3045 - name: 'Core: XPIDL'
3046 description: Cross-platform IDL compiler; produces .h C++ header files and .xpt
3047 runtime type description files from .idl interface description files.
3049 - xpcom/idl-parser/**/*
3056 - Josh 'timeless' Soref
3057 group: dev-tech-xpcom
3063 machine_name: core_xpidl
3065 - name: 'Core: XSLT Processor'
3066 description: XSLT transformations processor
3074 group: dev-tech-xslt
3075 url: https://developer.mozilla.org/docs/Web/XSLT
3081 machine_name: core_xslt_processor
3083 - name: Desktop Firefox
3084 description: Standalone Web Browser.
3097 - Tim Guan-tin Chien
3127 - name: Add-ons Manager
3128 description: Extension management back-end.
3130 - toolkit/mozapps/extensions/**/*
3144 machine_name: addons_manager
3146 - name: Add-ons Manager UI
3147 description: about:addons.
3149 - toolkit/mozapps/extensions/content/**/*
3162 machine_name: addons_manager_ui
3164 - name: Application Update
3165 description: The application update services.
3167 - toolkit/mozapps/update/**/*
3174 machine_name: application_update
3176 - name: Bookmarks & History
3177 description: The bookmarks and history services (Places).
3179 - browser/components/places/**/*
3180 - toolkit/components/places/**/*
3195 machine_name: bookmarks_history
3197 - name: Desktop Theme
3198 description: The style rules used in the desktop UI.
3200 - browser/themes/**/*
3201 - toolkit/themes/**/*
3214 machine_name: desktop_theme
3217 description: The main browser UI except where covered by more specific submodules.
3219 - browser/base/content/**/*
3226 machine_name: desktop_ui
3228 - name: Download Manager
3229 description: The downloads UI and service.
3231 - browser/components/downloads/**/*
3232 - toolkit/mozapps/downloads/**/*
3233 - uriloader/exthandler/**/*
3243 machine_name: download_manager
3245 - name: Enterprise Policies
3246 description: System policies for controlling Firefox.
3248 - browser/components/enterprisepolicies/**/*
3253 machine_name: enterprise_policies
3255 - name: Experiments/Rollouts
3256 description: Desktop clients for our experiments and off-train deployments
3259 - toolkit/components/normandy/**/*
3260 - toolkit/components/nimbus/**/*
3266 - Firefox::Nimbus Desktop Client
3267 url: https://experimenter.info/
3273 machine_name: normandy
3275 - machine_name: firefox_view
3277 description: The Firefox View page and its modules.
3279 - browser/components/firefoxview/**/*
3287 - name: Form Autofill
3288 description: Form detection and autocomplete.
3290 - browser/extensions/formautofill/**/*
3291 - toolkit/components/satchel/**/*
3294 - Matthew Noorenberghe
3300 machine_name: form_autofill
3302 - name: In-product Messaging
3303 description: The system for delivering in-product messaging.
3305 - toolkit/components/messaging-system/**/*
3308 - Firefox::Messaging System
3315 machine_name: inproduct_messaging
3317 - name: Launcher Process
3318 description: Windows process for bootstrapping the browser process.
3320 - browser/app/winlauncher/**/*
3326 - Firefox::Launcher Process
3331 machine_name: launcher_process
3333 - machine_name: localization
3335 description: Tooling to enable translation and facilitate localization.
3343 - name: New Tab Page
3344 description: The new tab/home page.
3346 - browser/components/newtab/**/*
3349 - Firefox::New Tab Page
3356 machine_name: new_tab_page
3359 description: The onboarding experience including UI tours.
3361 - browser/components/uitour/**/*
3369 machine_name: onboarding
3371 - name: Password Manager
3372 description: Managing, saving and filling logins.
3374 - toolkit/components/passwordmgr/**/*
3375 - browser/components/aboutlogins/**/*
3378 - Matthew Noorenberghe
3382 url: https://wiki.mozilla.org/Toolkit:Password_Manager
3384 - Toolkit::Password Manager
3385 - 'Toolkit::Password Manager: Site'
3387 - Firefox::about:logins
3395 machine_name: password_manager
3397 - machine_name: firefox_pip
3398 name: Picture-in-Picture
3399 description: A component that allows video elements to be pulled out into
3400 an always-on-top window.
3402 - toolkit/components/pictureinpicture
3403 - browser/extensions/pictureinpicture
3413 - name: Profile Migration
3414 description: Migrating data from other browsers.
3416 - browser/components/migration/**/*
3424 machine_name: profile_migration
3427 description: Code relating to Screenshots functionality
3429 - browser/extensions/screenshots/**/*
3430 - browser/components/screenshots/**/*
3438 - Firefox::Screenshots
3444 machine_name: screenshots
3446 - name: Search and Address Bar
3447 description: The search service, address bar and address bar autocomplete.
3449 - browser/components/search/**/*
3450 - browser/components/urlbar/**/*
3451 - toolkit/components/search/**/*
3454 - Firefox::Address Bar
3467 machine_name: search_and_address_bar
3469 - name: Security and Privacy UI
3470 description: The front-end to our security and privacy features, including
3471 Protections UI, Site Identity, Site Permissions and Certificate Errors
3473 - browser/components/protections/**/*
3474 - browser/components/controlcenter/**/*
3478 - Nihanth Subramanya
3483 - Firefox::Protections UI
3484 - Firefox::Site Identity
3485 - Firefox::Site Permissions
3490 machine_name: security_and_privacy_ui
3492 - name: Session Restore
3493 description: Restoring a user's session after starting Firefox.
3495 - browser/components/sessionstore/**/*
3496 - toolkit/components/sessionstore/**/*
3505 - Firefox::Session Restore
3513 machine_name: session_restore
3516 description: The front-end settings user interface.
3518 - browser/components/preferences/**/*
3519 - browser/themes/*/preferences
3520 - toolkit/mozapps/preferences
3531 machine_name: settings_ui
3533 - name: Tabbed Browser
3534 description: The UI component controlling browser tabs.
3536 # TODO double check that this works as expected
3537 - browser/base/content/tabbrowser*
3538 - browser/modules/AsyncTabSwitcher.jsm
3541 - Firefox::Tabbed Browser
3549 machine_name: tabbed_browser
3551 - name: Windows Installer
3552 description: The installer for Windows.
3554 - browser/installer/**/*
3555 - toolkit/mozapps/installer/**/*
3558 - Firefox::Installer
3564 machine_name: windows_installer
3565 machine_name: desktop_firefox
3567 - machine_name: devtools
3569 description: Mozilla Developer Tools
3595 - Steve Fink (heapsnapshot code)
3605 - Panagiotis Astithas
3623 url: http://firefox-dev.tools/
3626 - machine_name: javascript_usage
3627 name: JavaScript usage, tools, and style
3628 description: Aspects of JavaScript use such as language feature usage, tooling
3629 such as lint configurations, formatting and naming style.
3631 - .eslintrc-test-paths.js
3632 - '**/.eslintignore'
3634 - tools/lint/eslint/**/*
3651 - machine_name: mozharness
3653 description: Configuration-driven script harness.
3655 - testing/mozharness/**/*
3668 - 'Release Engineering :: Applications: MozharnessCore'
3669 - machine_name: python_usage
3670 name: Python usage, tools, and style
3671 description: Aspects of Python use such as tooling, formatting and naming style
3673 - tools/lint/python/**/*
3683 - 'Developer Infrastructure :: Lint and Formatting'
3685 - machine_name: remote_protocol
3686 name: Remote Protocol
3687 description: Low-level remote protocol exposing interfaces for inspecting state
3688 and controlling execution of web documents, instrumenting various subsystems
3689 in the browser, simulating user interaction for automation purposes, and for
3690 subscribing to updates from the aforementioned.
3696 url: https://firefox-source-docs.mozilla.org/remote/
3705 - machine_name: remote_protocol_agent
3707 description: Underlying transport layer and server to allow remoting of Firefox
3708 for automation and debugging.
3713 - remote/marionette/*
3714 - remote/webdriver-bidi/*
3719 - Maja Frydrychowicz
3723 - 'Remote Protocol :: Agent'
3731 - machine_name: remote_protocol_cdp
3733 description: The core implementation for CDP support. Please file domain specific
3734 issues and requests under the appropriate CDP-prefixed Remote Protocol component.
3741 - Maja Frydrychowicz
3745 - 'Remote Protocol :: CDP'
3753 - machine_name: remote_protocol_marionette
3755 description: Marionette is a remote protocol that lets out-of-process programs
3756 communicate with, instrument, and control Gecko-based browsers. Combined
3757 with geckodriver, this forms our WebDriver classic implementation.
3759 - remote/marionette/*
3764 - Maja Frydrychowicz
3767 - 'Remote Protocol :: Marionette'
3768 group: dev-webdriver
3776 - machine_name: remote_protocol_webdriver_bidi
3777 name: WebDriver BiDi
3778 description: W3C WebDriver BiDi implementation for Gecko-based browsers.
3780 - remote/webdriver-bidi/*
3783 - 'Remote Protocol :: WebDriver BiDi'
3784 group: dev-webdriver
3792 - machine_name: sync
3794 description: Firefox Sync client
3796 - services/sync/**/*
3809 url: https://wiki.mozilla.org/Services/Process/Code_Review
3813 - machine_name: testing_firefox_ui
3815 description: Firefox UI test framework.
3817 - testing/firefox-ui/**/*
3820 - Maja Frydrychowicz
3822 - 'Testing :: Firefox UI'
3830 - machine_name: testing_geckodriver
3832 description: Proxy for using W3C WebDriver-compatible clients to interact with
3833 Gecko-based browsers.
3835 - testing/geckodriver/**/*
3843 - 'Testing :: geckodriver'
3844 group: dev-webdriver
3846 - machine_name: testing_gtest
3848 description: GTest test harness.
3850 - testing/gtest/**/*
3857 - 'Testing :: GTest'
3859 - machine_name: testing_marionette_client_harness
3860 name: Marionette Client & Harness
3861 description: Python client and harness for the Marionette remote protocol implementation.
3863 - testing/marionette/**/*
3868 - Maja Frydrychowicz
3871 - 'Testing :: Marionette Client & Harness'
3879 - machine_name: testing_mochitest
3881 description: Mochitest test framework
3883 - testing/mochitest/**/*
3892 - 'Testing :: Mochitest'
3893 - machine_name: testing_mozbase
3895 description: Base modules used for implementing test components.
3909 - 'Testing :: Mozbase'
3910 - 'Testing :: Mozbase Rust'
3911 - machine_name: testing_performance_testing
3912 name: Performance Testing
3914 This module encompasses all of our performance testing projects, e.g. Raptor, Talos,
3915 MozPerfTest, AWSY, mach try perf, etc.. See our PerfDocs for more information on
3916 the owners/peers of the various components (linked below).
3918 - testing/raptor/**/*
3919 - testing/talos/**/*
3920 - python/mozperftest/**/*
3922 - tools/lint/perfdocs/**/*
3923 - testing/perfdocs/**/*
3924 - testing/performance/**/*
3925 - testing/condprofile/**/*
3926 - tools/browsertime/**/*
3927 - tools/tryselect/selectors/perf.py
3938 - 'Testing :: Raptor'
3939 - 'Testing :: Talos'
3941 - 'Testing :: Performance'
3942 - 'Testing :: mozperftest'
3943 - 'Testing :: Condprofile'
3944 url: :ref:`Performance Testing`
3945 - machine_name: testing_reftest
3946 name: Reftest (+ jsreftest + crashtest)
3947 description: Reftest test framework
3949 - layout/tools/reftest/**/*
3958 - 'Testing :: Reftest'
3959 - machine_name: testing_tryselect
3961 description: Frontend for selecting jobs on the try server.
3963 - tools/tryselect/**/*
3972 - 'Developer Infrastructure :: Try'
3973 - machine_name: testing_web_platform_tests_infrastructure
3974 name: web-platform-tests infrastructure
3975 description: Infrastructure for running the cross-browser web-platform-tests
3977 - testing/web-platform/**/*
3978 - testing/web-platform/tests/tools/**/*
3980 - testing/web-platform/tests/**/*
3981 - testing/web-platform/meta/**/*
3982 - testing/web-platform/mozilla/**/*
3988 - 'Testing :: web-platform-tests'
3989 - machine_name: testing_xpcshell
3991 description: XPCShell test harness.
3993 - testing/xpcshell/**/*
4001 - Testing::XPCShell Harness
4003 description: Components shared between desktop and mobile browsers.
4020 - name: Application Startup
4021 description: The profile system and startup process before the front-end launches.
4023 - toolkit/profile/**/*
4024 - toolkit/components/remote/**/*
4031 machine_name: application_startup
4035 The core infrastructure in the Firefox client to send back telemetry
4036 data. Includes the common mechanisms to record, view and submit data: Legacy
4037 Telemetry and Glean (via Firefox on Glean (FOG)). This module
4038 does ''not'' include responsibility for every piece of submitted Telemetry
4039 data. Each team/module is responsible for their own measurements (histograms,
4040 scalars, other ping submissions, etc.).
4042 - toolkit/components/glean/**/*
4043 - toolkit/components/telemetry/**/*
4044 - toolkit/content/aboutTelemetry.*
4049 url: :ref:`Telemetry`
4057 machine_name: telemetry
4060 description: The base widgets used throughout the UI.
4062 - toolkit/content/widgets/**/*
4069 machine_name: ui_widgets
4071 - name: Webextensions
4072 description: Webextension APIs and integration.
4074 - browser/components/extensions/**/*
4075 - toolkit/components/extensions/**/*
4087 machine_name: webextensions
4088 machine_name: toolkit
4089 - machine_name: url_classifier
4090 name: URL Classifier
4091 description: Database and list-based classification of URL resources, such as
4092 Tracking Protection and SafeBrowsing.
4094 - toolkit/components/url-classifier/**/*
4095 - netwerk/url-classifier/**/*
4104 url: https://github.com/mozilla-services/shavar https://wiki.mozilla.org/Phishing_Protection
4105 https://wiki.mozilla.org/Security/Tracking_protection https://wiki.mozilla.org/Security/Application_Reputation
4113 config: 7e6b34924e7781374232792ed4ceeeda959a8ea3
4114 export: fe0a49c2f67136cc21eba079e5533f11bb39fe86