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.

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.

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.

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.

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.

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.

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.

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.

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).

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.

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

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.

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.

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

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.

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.

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.

For bugs with the spelling checker used by Mozilla-based applications. This includes the backend code, the Hunspell spell checker, the en-US Hunspell dictionary, and the osxspell interface to the Mac OS X spell checker.

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.

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.