The Platform Layout Team is primarily responsible for Gecko's style system and layout engine. We strive to build and maintain an engine that is both high-performance and standards-compliant, while providing support for features unique to Firefox.
The team's technical domains within Gecko include:
- CSS animations and transitions
- CSS parsing and computation
- Layout (of all types, including block and inline, positioned, columns, floats, flexbox, grid, form controls, images, video, tables, and text)
Roadmap and Status
This Airtable list contains all work-in-progress and backlog items that the team is considering for the near – and distant – future. Note that this list is subject to change at any time.
For more detailed information, notes from the team's weekly standup meetings are available.
View notes and lists of all fixed layout bugs for a given release.
Filing a Bug
Open a bug under "Product: Core", using one of the following components:
- CSS Parsing and Computation
- CSS Transitions and Animations
- DOM: CSS Object Model
- Layout: Block and Inline
- Layout: Columns
- Layout: Flexbox
- Layout: Floats
- Controls Layout: Form Controls
- Layout: Generated Content, Lists, and Counters
- Layout: Grid
- Layout: Images, Video, and HTML Frames
- Layout: Positioned
- Layout: Ruby
- Layout: Scrolling and Overflow
- Layout: Tables
- Layout: Text and Fonts
- Print Preview
- Printing: Output
- Printing: Setup
Bug Triage Guidelines
We use Bugzilla to track a combination of both bugs and new features. As such, we employ a hybrid system of Bugzilla priority and, optionally, a backlog priority (noted as
[layout:pX] in the bug's whiteboard field). This allows us the flexibility of indicating high-priority backlog items that may still be lower in priority than crashes or security bugs, which should be addressed immediately. Typically, only items with P2 or P3 priority will also have a layout backlog priority in the whiteboard field.
Our bugs page contains a list of useful links to Bugzilla queries we use for regular bug triage and prioritization.
- Priority 1 (P1): Blocker, crash or very high-impact performance or web compatibility bug. Must-fix in the current iteration. The severity of the P1 should generally be set accordingly.
- Priority 2 (P2): High-priority bug that should be in-progress or will be worked on next. Includes moderately high-impact performance or web compatibility bugs.
- Priority 3 (P3): Normal-priority bug or a backlog item.
- Priority 4 (P4): Low-priority bug or managed by a bot (such as an intermittent test failure). We are unlikely to devote resources to these bugs any time soon.
- Priority 5 (P5): Icebox. We do not plan to spend time on these bugs but we will accept patches.
Layout Backlog Priority
- Priority 1 [layout:p1]: Highest-priority backlog item. Typically a must-have. We are working on this or plan to work on it soon for the next release.
- Priority 2 [layout:p2]: Normal-priority backlog item. We will address after P1-level items we have targeted for the near-term. Likely to land in the next release or release following.
- Priority 3 [layout:p3]: Low-priority backlog item.
To get started, read the programmer's primer on Gecko.
If you're looking for a good first bug to fix, the following resources may help: