Core

Shared components used by Firefox and other Mozilla software, including handling of Web content; Gecko, HTML, CSS, layout, DOM, scripts, images, networking, etc. Issues with web page layout probably go here, while Firefox user interface issues belong in the Firefox product. (More info)

Select a component to see open bugs in that component:

Audio/Video

For problems related to media (video/audio) -- especially when the reporter is not sure which area of the media stack the problem is in. This category will mostly be for untriaged video/audio issues. Bugs in this category will typically be moved to another media category during the triage process.

Audio/Video: cubeb

Any bug in libcubeb. Typically audio output and input bugs would go here

Audio/Video: GMP

Any bug in the Gecko Media Plugin framework. This is the code that glues the openh264 plugin and EME plugins to the browser.

Audio/Video: MediaStreamGraph

Any bug related to MediaStreams, MediaStreamTracks, TrackUnions and the MediaStream GraphDriver.

Audio/Video: Playback

For problems related to the HTML 5 media elements (<video> and <audio>) -- including WebM, MP4, MSE and EME issues. This would also typically include decoding problems in the codecs themselves (e.g. VP8, VP9, H.264, AAC) experienced during playback.

Audio/Video: Recording

Issues relating to recording/encoding of audio and video using the HTML5 MediaRecorder API.

Audio/Video: Web Codecs

Bugs and enhancement requests relating to the Web Codecs API

AutoConfig (Mission Control Desktop)

For bugs using an AutoConfig (mozilla.cfg) file to configure Firefox or other Mozilla applications. NOT for Thunderbird Autoconfiguration.

CSS Parsing and Computation

Issues with loading CSS style sheets from the network, parsing style sheets and style attributes in HTML markup, performing the CSS cascade, selector matching, and producing correct computed values for CSS properties.

Example bugs:

  • toggling class name on an element does not restyle the element
  • background-color property does not support hsl() values

Specifications covered:

  • CSS Cascading
  • CSS Conditional
  • CSS Logical Properties
  • CSS Namespaces
  • CSS Scoping
  • CSS Style Attributes
  • CSS Syntax
  • CSS Values
  • CSS Variables
  • Media Queries
  • Selectors

CSS Transitions and Animations

Issues with animating and transitioning CSS properties. For issues with the Web Animations API, see the DOM: Animations component.

Example bugs:

  • transitions are not triggered when the display property is changed simultaneously
  • the font-weight property animates discretely but should be interpolated smoothly

Specifications covered:

  • CSS Animations
  • CSS Timing
  • CSS Transitions
  • Motion Path

Cycle Collector

The cycle collector automates the breaking of cycles involving reference counted C++ objects and GC-managed JS objects.

Disability Access APIs

Description: This component relates to bugs in our support for accessibility APIs on the various platforms. Accessibility APIs allow 3rd party products, such as screen readers used by visually impaired users, to communicate with our content and UI. The APIs we support specifically are MSAA on Windows and ATK on UNIX/Linux (Apple has not yet published specs for an accessibility API on OS X). This component is not for keyboard, focus or any accessibility bugs other than those relating to the APIs we export.

DLL Services

Bugs relating to Windows dynamic linker instrumentation, the DLL interceptor, or DLL blocking

DMD

Issues relating to DMD (dark matter detector), the tool for verifying memory reporters.

DOM: Animation

This component covers the Web Animations implementation in Gecko.

DOM: Bindings (WebIDL)

Issues with code implementing WebIDL, not WebIDL itself

DOM: Content Processes

Issues related to implementation of content processes in Firefox, especially the code in dom/ipc ([more info](https://wiki.mozilla.org/Project_Fission))

DOM: Copy & Paste and Drag & Drop

All issues with copy-and-paste and drag-and-drop can be reported here, be it with the web API or the platform backends. This includes clipboard issues.

DOM: Core & HTML

Issues in DOM tree https://dom.spec.whatwg.org & HTML https://html.spec.whatwg.org that do not fit into any other DOM or HTML component or which span multiple DOM or HTML components.

DOM: Credential Management

The implementation of the Credential Management API and other APIs that define new Credentials but do not have their own component.

DOM: CSS Object Model

Issues with CSSOM support and other CSS-related DOM APIs. This is not the place for most CSS bugs unless they involve scripting; see the CSS and Layout components instead.

Example bugs:

  • document.styleSheets doesn’t include style sheets from file:// URLs
  • crash setting element.style.color to "red"

Specifications covered:

  • CSS Font Loading
  • CSSOM
  • CSSOM View Module
  • Geometry Interfaces

DOM: Device Interfaces

This component covers APIs exposing device interfaces for communication, networking, multimedia, etc.

DOM: Editor

For bugs with editing text on web pages. Related HTML features are <input type=text>, <textarea>, contenteditable, and the designMode API.

DOM: Events

This component includes bugs for DOM events from https://dom.spec.whatwg.org.

DOM: File

For bugs in the DOM Blob, DOM File and FileSystem APIs

DOM: Forms

For bugs with HTML forms. (See also Layout: Form Controls.)

DOM: Geolocation

The geolocation API and framework enables reporting a physical location, in cooperating with a location provider (such as a GPS).

DOM: HTML Parser

This system consumes content from the web, parses, validates and builds a content model (document)

DOM: Networking

Networking-related DOM APIs, such as XmlHttpRequest, Fetch, Web Sockets, EventSource, and Beacon.

DOM: Notifications

The component that covers Web Notifications API and the integration with the corresponding OS native notification APIs.

DOM: Performance

Bugs affecting the implementation of the DOM performance APIs such as ElementTiming.

DOM: postMessage

For bugs with all postMessage() APIs (i.e., with serializing, deserializing, and transferring), including BroadcastChannel, MessageChannel, and window.postMessage().

DOM: Push Subscriptions

Subscribing push using PushManager and waking up the corresponding service worker when a remote server sends a push message.

DOM: Security

Native content-based security features including: Content Security Policy (CSP), Mixed Content Blocker (MCB), and Safe Browsing.

DOM: Selection

This component includes bugs for selection handling from https://w3c.github.io/selection-api/.

DOM: Serializers

Bugs involving conversion to html or plaintext, either during saving or during copy/paste. This component is NOT for general copy/paste bugs, for bugs involving save dialogs or writing to files when saving, or for I18n-related bugs; only for problems with the actual text which is saved.

DOM: Service Workers

This component covers the Service Worker implementation in Gecko.

DOM: Streams

Implementation of WHATWG Streams specification

DOM: UI Events & Focus Handling

This component includes bugs for user input events, for example https://w3c.github.io/uievents, focus handling from https://html.spec.whatwg.org, and access key handling on a page.

DOM: Web Authentication

Bugs and issues related to the W3C Web Authentication (webauthn) implementation in Firefox, or its interaction with operating system and hardware components.

DOM: Web Crypto

Bugs and issues related to the W3C Web Crypto implementation in Firefox.

DOM: Web Payments

This component covers the WebPayments Payment Request API and Payment Handler API in Gecko.

DOM: Window and Location

For issues with the Window global object, Location object, and the WindowProxy object.

DOM: Workers

This component covers the Web Workers implementation in Gecko.

Find Backend

For bugs about the "Find in page" feature.

Fuzzing

For bugs related to fuzzing code or team requests that don't fit anywhere else. Changes to individual fuzzing targets should be filed in the respective components.

Gecko Profiler

The built-in profiler which can be used in order to get profiling information from within Gecko.

General

For bugs in Core which do not fit into other more specific Core components

Graphics

Mapping of cross platform rendering interfaces to various 2D graphics APIs

Graphics: Canvas2D

Bugs with the HTML5 <canvas> element, its XUL sibling, and related rendering contexts.

Graphics: CanvasWebGL

Bugs with the WebGL Canvas Context.

Graphics: Color Management

qcms and other issues relating to Mozilla's color management implementation.

Graphics: Image Blocking

For bugs about (un)blocking images from servers.

Graphics: ImageLib

ImageLib decodes GIF, JPEG and PNG images, and provides the decoded data to the Compositor for display. If Firefox or Seamonkey can display an image when loaded separately from the page, ImageLib is working, and the actual imaging bug exists elsewhere within Firefox or Seamonkey.

Examples of appropriate bugs: PNG gAMA chunk ignored; Crashes on GIF w/corrupted frame(merr-01.gif); or PNGs and JPEGs aren't displayed on FreeBSD.

Graphics: Layers

The graphics subsystem that implements hardware-accelerated (and software) composition of layers of content.

Graphics: Text

Issues with glyph rasterization and painting, font format support, and interfacing with platform font APIs. For issues with font selection, text shaping, and glyph selection, see the Layout: Text and Fonts component.

Graphics: WebGPU

Issues related to implementation of WebGPU API in Gecko. This category includes: validation/tracking/security issues, graphics abstraction issues on various platforms, integration with WebRender for presenting, and WebIDL bindings.

Graphics: WebRender

Bugs related to the integration of WebRender into Gecko.

Hardware Abstraction Layer (HAL)

For bugs in the Hardware Abstraction Layer (HAL) code regardless of the backend. Example of appropriate bugs: implementation of a new feature for a backend, fixing a bug for a specific backend or general bugs regarding HAL.

Internationalization

Internationalization is the process of designing and developing a software product to function in multiple locales. This process involves identifying the locales that must be supported, designing features which support those locales, and writing the code needed.

Internationalization: Localization

Localization is the process of adapting software for a specific international market; this process includes translating the user interface, resizing dialog boxes, replacing icons and other culturally sensitive graphics (if necessary) as well as customizing features.

IPC

Core inter-process communication and IPDL system for communicating with and isolating sub-processes. Please file plugin-specific IPC bugs in Core: Plug-Ins and content-specific IPC bugs in Core: DOM: Content Processes.

IPC: MSCOM

Bugs relating to the integration of Microsoft Distributed COM into Gecko

JavaScript Engine

The interpreter engine for the core JavaScript language, independent of the browser's object model. File ONLY core JavaScript language bugs in this category. For bugs involving browser objects such as "window" and "document", use the "DOM" component. For bugs involving calls between JavaScript and C++, use the "XPConnect" component.

JavaScript Engine: JIT

JavaScript engine's JIT compilers

JavaScript: GC

File bugs here for issues involving the garbage collector (crashes, leaks, etc.), where the issue is not one caused by failure to use the JSAPI correctly.

JavaScript: Internationalization API

File bugs here for issues related to anything exposed through the Intl property on the global object.

JavaScript: Standard Library

File bugs here for issues related to non-conforming behaviors in any of JavaScript's standard class constructors, methods exposed on instances through the prototype chain, and so on. (Examples: String.prototype.charAt doesn't work on non-String objects, the Object constructor doesn't work correctly when passed document.all, etc.)

If the relevant functionality has a more-precise component, bugs within it should be filed there (e.g. Intl.NumberFormat bugs should be filed in the JavaScript: Internationalization API component).

JavaScript: WebAssembly

Implementation of the WebAssembly (wasm) standard, including compilation and runtime support.

js-ctypes

js-ctypes is a ffi (Foreign Function Interface) component for JS/XPCOM. js-ctypes allows developers to call functions in dlls/shared libraries directly from JavaScript without the need to create binary XPCOM wrappers.

Layout

Issues in Layout that do not fit into any other Layout component or which span multiple Layout components.

Bugs related to the top level presentation objects (pres shell, pres context, and document viewer), the frame constructor, and the base frame classes, as well as general issues with alignment and sizing, all belong here.

Layout: Block and Inline

Issues with core layout and geometry for basic block and inline elements. This includes issues with ::first-letter and ::first-line.

Example bugs:

  • margins between two blocks do not collapse properly
  • button does not align its baseline correctly with the rest of the line it’s in

Specifications covered:

  • CSS Box
  • CSS Inline Layout

Layout: Columns

Issues with CSS multi-column layout.

Example bugs:

  • column rules are not properly drawn on overflow columns
  • column gap should be included in minimum width calculation when the number of columns is non-auto

Specifications covered:

  • CSS Multicol

Layout: Flexbox

Issues with CSS flexible box layout.

Example bugs:

  • flex items not wrapping in multi-line flexbox with "overflow:hidden"
  • baseline for empty flexbox container seems wrong

Specifications covered:

  • CSS Flexbox

Layout: Floats

Issues with CSS floats and clearance.

Example bugs:

  • float moves to wrong position when you dynamically set "clear" property on ancestor
  • inline frames without enough inline space should clear floats, regardless of shape-outside

Specifications covered:

  • CSS 2.2 (§ Floats, and others)
  • CSS Shapes

Layout: Form Controls

Issues with the layout and appearance of HTML form controls, such as buttons, date/time pickers, select elements, and textareas.

Example bugs:

  • datepicker remains visible after tabbing out of date input field
  • the filename field of <input type=file> renders incorrectly in vertical writing mode with dir=rtl

Specifications covered:

  • HTML (§ Forms)

Layout: Generated Content, Lists, and Counters

Issues with handling of CSS generated content, list items, and counters.

Example bugs:

  • ::before and ::after are not rendered correctly on <details>
  • list item bullet characters don't display in the specified font face

Specifications covered:

  • CSS Counter Styles
  • CSS Generated Content
  • CSS Lists
  • CSS Pseudo-Elements

Layout: Grid

Issues with CSS grid layout.

Example bugs:

  • stretching the inline size of <button> grid items doesn't work
  • abspos child of a grid should respect "align-self"/"justify-self" when computing its static position

Specifications covered:

  • CSS Grid Layout

Layout: Images, Video, and HTML Frames

Issues with the CSS images and other replaced content. This includes loading, layout, and rendering of CSS images (such as in background-image), and the layout of HTML img, picture, video, iframe, frame, and frameset elements. For issues with image decoding and video playback, see the ImageLib and Audio/Video components respectively.

Example bugs:

  • SVG as image with an intrinsic width and max-height has its width incorrectly scaled down by the same ratio as the height is scaled down
  • <iframe> has incorrect default size in vertical writing mode

Specifications covered:

  • CSS Backgrounds
  • CSS Images

Layout: Positioned

Issues with relative, absolute, fixed, and sticky positioning.

Example bugs:

  • <thead> with position: sticky gets stuck after scrolling down
  • wrong absolute positioning when the containing block has a min-height and overflow:hidden

Specifications covered:

  • CSS Positioned Layout

Layout: Ruby

Issues with CSS Ruby text layout.

Example bugs:

  • ruby annotation is not placed correctly for RTL content
  • ruby base after a line break may disappear

Specifications covered:

  • CSS Ruby

Layout: Scrolling and Overflow

Issues with the layout and rendering of scrollable elements, scrollbars, and with the handling of overflowing content. Also includes issues with rendering of the regular text caret and the accessible caret. For problems with rendering of currently scrolling elements, see the Panning and Zooming component.

Example bugs:

  • <legend> w/ display:flex overflow:scroll sometimes renders without scrollbars
  • overflow: hidden on fieldsets spills over

Specifications covered:

  • CSS Scroll Anchoring
  • CSS Scroll Snap
  • CSS Scrollbars
  • CSS Overflow

Layout: Tables

Issues with table layout and rendering.

Example bugs:

  • border-style: groove not applied for tables with border-collapse: collapse
  • incorrect width for table cells with padding, box-sizing: border-box, and table-layout: fixed

Specifications covered:

  • CSS 2.2 (§ Tables)

Layout: Text and Fonts

Issues with CSS font selection, font loading, text shaping and glyph selection, breaking, text decorations, bidirectional text processing, and white space processing. For issues with glyph rendering and font format support, see the Graphics: Text component.

Example bugs:

  • line-breaking code does not handle supplementary-plane characters properly
  • double or wavy decoration lines are not repainted correctly if specified on floating first letter

Specifications covered:

  • CSS Fonts
  • CSS Size Adjustment
  • CSS Text
  • CSS Text Decoration

Machine Learning

Core component implementing interactions with AI services and local inference

MathML

Mathematical Markup Language

Memory Allocator

Most things related to memory allocation in Gecko, including jemalloc, replace-malloc, logalloc, etc. For reports about memory usage, please use the Firefox::Untriaged or Thunderbird::Untriaged component instead.

MFBT

File bugs here for headers, macros, data structures, methods, and other functionality which should be available to SpiderMonkey and to all Gecko code, implemented in the mfbt/ source directory.

mozglue

For issues in the Android glue, the custom dynamic linker or other parts of the mozglue library.

Networking

For bugs in Mozilla's modular networking library (aka "Netlib" or "Necko".) The networking library supplies the software interface that Mozilla uses to access physical transports (e.g. the Internet and local drives), perform URL resolutions, and handle a variety of networking protocols.

Examples of appropriate bugs: URLs with backslash not fetched; URLs starting with a single slash turn into http:///; Cannot access authenticated FTP site.

Networking: Cache

For bugs in the cache, which stores recently accessed data for more rapid access. Includes the disk cache, memory cache, and all cache preferences.

Examples of appropriate bugs: Implement compression of network cache data; or Implement partial HTTP caching.

Networking: Cookies

A general mechanism which server side connections (such as CGI scripts) can use to both store and retrieve information on the client side of the connection. This refers to HTML cookies; little blobs of data we store and share with sites

Networking: DNS

For bugs in Mozilla's implementation of DNS (Domain Name Service)

Networking: File

For bugs in Mozilla's File IO code. This component deals with File specific issues like writing to disk, reading local files, etc Related problems with file:// protocol may also be addressed here.

Networking: HTTP

For bugs in Mozilla's HTTP networking code. This component deals with HTTP specific issues like pipelining, keep-alive, HTTP proxies, 1.1 issues, redirects, authentication (basic), etc.

Examples of appropriate bugs: Problems with proxy authentication; HTTP redirects looping indefinitely, etc.

Networking: JAR

For bugs relating to the jar protocol handler, .jar file handling, and .jar directory browsing.

Networking: Proxy

For bugs in Gecko's proxy code. This component covers issues relating to proxy configuration, HTTP, HTTPS, SOCKS v4/v5 proxy support.

Networking: WebSockets

Bugs related to the performance/correctness of the on-the-wire WebSocket networking protocol: file other WebSockets bugs under DOM:WebSockets interface may be better classified as Core::DOM.

Panning and Zooming

Covers issues relating to the asynchronous panning and zooming (APZ) module, including scrolling and gesture detection. Issues with reflowing ("full") zoom should be filed in Core :: Layout (for issues with page rendering when zoomed) or Firefox :: Toolbars and Customization (for issues with the zoom level indicator UI) instead.

Performance

User reports of Firefox performance issues, and bugs about Firefox performance issues where the correct component is not yet known. The goal for bugs in this component is to identify the source of the performance issue, and to move the bug into the the right Bugzilla component where the fix needs to happen.

Performance Engineering

A planned task for the Performance Engineering team which has been reviewed, and internally discussed as work to be scheduled and completed. Not to be used for general Performance issues.

Permission Manager

For bugs related to the permission manager but not the permission management. Example of appropriate bugs: permissions in the database are ignored or removing permission doesn't work. Example of inappropriate bugs: feature F should use permission P or any user interface related bugs.

Preferences: Backend

For bugs in libPref, the backend library that reads, parses, and writes preferences to the user's hard disk. Unless you're a Mozilla developer, your bug probably doesn't belong in this component.

Examples of appropriate bugs: prefs.js on the mac has non-mac style line endings; Large libpref string causes dialogs to crash on Linux; or JS Error at startup reading prefs file on migrated profile.

Print Preview

Issues with layout and rendering a document in Print Preview mode. For problems in printed or PDF output that do not appear in Print Preview, see the Printing: Output component.

Printing: Output

Problems printing from this product should be submitted under this component.

Printing: Setup

Integration relating to the OS printing system, including cross-platform components such as the page setup dialog.

Privacy: Anti-Tracking

Tracking detection and content-blocking; part of the Enhanced Tracking Protection functionality

Sanitizers

For issues related to sanitizers - e.g. ASan, LSan, TSan, UBSan, . Feature requests for sanitizers can also be filed here.

Security

For non-crypto security bugs. Or use this general component if you know you have a Browser security bug, but not sure what component to use. Bug will be reviewed for proper component.

Security Block-lists, Allow-lists, and other State

- OneCRL (certificate revocation) - Intermediate certs list for AIA chasing solution (certificate whitelist and preload lists) - List of CRLs for end-entity certs - HSTS preloads - white-list of accepted intermediate certs

Security: CAPS

Caps is the capabilities-based security system for the browser. Manages principals (entities responsible for a piece of code) and the protected capabilities (the ability to perform a restricted action) that may be enabled for given principals.

Security: Process Sandboxing

For process sandboxing bugs. Generally this covers code under the security/sandbox/ source directory, but there is code elsewhere to hook the different platform process sandboxes into Gecko etc.

Security: PSM

The TLS configuration layer between Gecko and NSS. Handles certificate discovery, verification, and revocation checking.

Security: RLBox

RLBox / WASM Sandboxing

Session Restore

Session Restore is the platform independent component for collecting and restoring tab and document state.

Spelling checker

For bugs with the spelling checker used by Mozilla-based applications. This includes the backend code, the Hunspell spell checker, and the osxspell interface to the macOS spell checker.

Spelling Checker: en-US Dictionary

For missing or misspelled words in the en-US dictionary shipping as part of Mozilla desktop applications.

SQLite and Embedded Database Bindings

SQLite-backed generic data storage and query engine.

Storage: Bucket File System

Bucket File System implementation, exposed through self.navigator.storage.getDirectory().

Storage: Cache API

Request/Response storage using the service worker’s Cache API. I.e., CacheStorage exposed through self.caches.

Storage: IndexedDB

IndexedDB implementation, exposed through self.indexedDB.

Storage: localStorage & sessionStorage

For bugs with localStorage and sessionStorage.

Storage: Quota Manager

For bugs in Gecko's centralized management of storage and disk usage quota in user profiles.

Storage: StorageManager

StorageManager from the Storage standard, exposed through navigator.storage.

String

The hierarchy of classes related to managing character sequences.

SVG

Issues with the layout or rendering of SVG content and interacting with the SVG DOM.

Example bugs:

  • SVG marker can not be clipped with clip-path
  • x position adjustments of SVG vertical text on a path moves in the wrong direction

Specifications covered:

  • SVG

Untriaged

For newly filed bugs that need some help finding the right place to go.

Web Audio

Bugs and enhancement requests relating to the Web Audio support.

Web Painting

Construction of display lists, hit-testing, building of Layers and painting.

Web Speech

This component covers the Web Speech API implementation in Gecko.

WebRTC

General bugs associated with WebRTC

WebRTC: Audio/Video

Bugs in WebRTC audio and video capture, handling, echo cancellation, encoding, and playback

WebRTC: Networking

Bugs in the networking portions of WebRTC (PeerConnection dataChannels, SCTP, DTLS, SRTP, ICE, TURN, STUN, etc)

WebRTC: Signaling

Bugs in WebRTC call-setup and re-negotiation code, in particular JSEP and SDP handling

WebVR

Bugs with the WebVR functionality, including devices, graphics and integration

Widget

Cross platform widget interfaces and cross platform base implementations. Bugs that belong in this component are cross-platform problems and API issues. Bugs like this that only occur on one platform belong in the appropriate component listed below.

Widget: Cocoa

Mapping of cross platform widget interfaces to Mac Cocoa APIs.

Widget: Gtk

Mapping of cross platform widget interfaces to GTK platform APIs (both versions). Wayland bugs belong in this component.

Widget: Win32

Mapping of cross platform widget interfaces to Win32 platform APIs.

Window Management

Creation and management of top-level windows

XBL

The Extensible Binding Language, used to bind new behavior and new content to XUL and HTML elements.

XML

For bugs in our XML handling. For example, parser errors, or errors in wellformedness error reporting.

XPCOM

This is the basis of our component technology; this covers the mozilla/xpcom source directory and includes the "repository". Unlikely a tester would be able to tell there was an XPCOM problem specifically.

XPConnect

Facilitates calling between JavaScript and XPCOM components.

XSLT

For bugs on Mozilla's XSLT support. See the project page for tips on testcases and commonly encountered legacy problems.

XUL

For bugs in the XUL language. (XUL is an XML-based language which specifies Mozilla's user interface.)

If you're not actually writing XUL code, this is probably not the right place for your bug.

Examples of appropriate bugs: Duplicate window ID causes infinite loop; or Scrollbars disappear after loading XUL document