Platform/Layout: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Add roadmap section)
(modifications to merge the pages bug, backlog and triage and reduce redundant info)
 
(37 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== About  ==
= About  =
The Platform Layout Team is primarily responsible for [http://en.wikipedia.org/wiki/Gecko_%28layout_engine%29 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 Platform Layout Team is primarily responsible for [http://en.wikipedia.org/wiki/Gecko_%28layout_engine%29 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.  


Line 9: Line 9:
* Printing
* Printing
* SVG
* SVG
* Fonts and Typography


== Contact Information ==
= Contact Information =


* '''IRC''': [https://irccloud.mozilla.com/#!/ircs://irc1.dmz.scl3.mozilla.com:6697/%23layout #layout on irc.mozilla.org]
* '''Matrix/Riot.IM''': [https://chat.mozilla.org/#/room/#layout:mozilla.org #layout on chat.mozilla.org]
* '''E-mail''': [https://lists.mozilla.org/listinfo/dev-tech-layout dev-tech-layout@lists.mozilla.org]
* '''E-mail''': [https://lists.mozilla.org/listinfo/dev-platform Subscribe to dev-platform@lists.mozilla.org]


== Roadmap and Status ==
== Communications Channel Guidelines ==


The [https://wiki.mozilla.org/CSS CSS wiki page] has an accurate high-level overview of team priorities for the year as they relate to specific CSS features.
* Synchronous discussions about engineering-specific topics (bugs, patches, code reviews, architectural issues, etc.) should happen in [https://chat.mozilla.org/#/room/#layout:mozilla.org #layout on chat.mozilla.org].
 
= Roadmap and Status =
 
== Kanban Board ==
[https://gecko.layout.team/?title=Firefox+Platform+Layout+Backlog&name=Backlog&query=status%3ANEW+priority%3AP2%2CP3+%5Blayout%3Abacklog&name=Upcoming&query=status%3ANEW+priority%3AP1+%5Blayout%3Abacklog&name=In+Progress&query=status%3AASSIGNED+%5Blayout%3Abacklog&name=Recently+Fixed&query=resolution%3AFIXED+milestone%3A77%2C78%2C79+%5Blayout%3Abacklog Our Bugzilla kanban board] is a quick way to find out what bug fixes and enhancements are upcoming or in progress.
 
== Standup Notes ==
For very detailed information, [https://docs.google.com/document/d/1BbKGHgmDjD87f6Dt4mMXrZysch5END7AoCIY1cwGSdY/edit?usp=sharing notes from the team's weekly standup meetings] are available.
<br/>
For standup notes prior to 2024, please see the [https://wiki.mozilla.org/Platform_Layout_Archive Layout Archive]
 
= Release Notes =
 
We publish [https://wiki.mozilla.org/Platform/Layout/ReleaseNotes notes and lists of all fixed layout bugs] for a given release. These release notes call out items of particular importance (new features, webcompat fixes) that may be helpful for web content authors.
 
= Bugs and Triage =


== Filing a Bug ==
== Filing a Bug ==
Line 23: Line 40:
[https://bugzilla.mozilla.org/enter_bug.cgi?product=Core Open a bug under "Product: Core"], using one of the following components:
[https://bugzilla.mozilla.org/enter_bug.cgi?product=Core Open a bug under "Product: Core"], using one of the following components:


* CSS Animations and Transitions
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=CSS+Parsing+and+Computation CSS Parsing and Computation]
* CSS Parsing and Computation
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=CSS+Transitions+and+Animations CSS Transitions and Animations]
* DOM: CSS Object Model
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=DOM:+CSS+Object+Model DOM: CSS Object Model]
* Layout
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout Layout]
* Layout: Block and Inline
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Block+and+Inline Layout: Block and Inline]
* Layout: Columns
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Columns Layout: Columns]
* Layout: Flexbox
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Flexbox Layout: Flexbox]
* Layout: Floats
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Floats Layout: Floats]
* Layout: Form Controls
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Form Layout: Form]
* Layout: Generated Content, Lists, and Counters
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Generated+Content,+Lists,+and+Counters Layout: Generated Content, Lists, and Counters]
* Layout: Grid
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Grid Layout: Grid]
* Layout: Images, Video, and HTML Frames
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Images,+Video,+and+HTML+Frames Layout: Images, Video, and HTML Frames]
* Layout: Positioned
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Positioned Layout: Positioned]
* Layout: Ruby
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Ruby Layout: Ruby]
* Layout: Scrolling and Overflow
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Scrolling+and+Overflow Layout: Scrolling and Overflow]
* Layout: Tables
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Tables Layout: Tables]
* Layout: Text and Fonts
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Text+and+Fonts Layout: Text and Fonts]
* Print Preview
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Print+Preview Print Preview]
* Printing: Output
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Printing:+Output Printing: Output]
* Printing: Setup
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Printing:+Setup Printing: Setup]
* SVG
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=SVG SVG]
 
== Triage Process & Guidelines ==


== Bug Triage Guidelines ==
If you're curious about how we triage and prioritize bugs, please visit [[Platform/Layout/Triage|our triage page]] for more information. This page includes information about our triage process and guidelines, as well as useful triage and backlog related bug queries.


We use [https://bugzilla.mozilla.org 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 <code>[layout:pX]</code> 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.
== Whiteboard Tags ==


Typically, only items with P2 or P3 priority will also have a layout backlog priority in the whiteboard field.
We use the following strings (tags) in the whiteboard field on bugs in Bugzilla to track important metadata:


=== Priority ===
* <code>[layout:backlog]</code>: Indicates the bug is in our backlog, and is either under active development, or planned development for the current year (see bug priority for approximate timeline).
* <code>[layout:icebox]</code>: Indicates a bug we are considering including in our backlog in the future, but are unlikely to work on in the current year.
* <code>[layout:triage-discuss]</code>: Indicates that we plan to discuss this bug in more detail at one of our internal, bi-weekly triage meetings. Usually this is set if the severity level is disputed, or in question, or other triage details of the bug are unclear.


* '''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.
= Contributing =
* '''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.


== Contributing ==
We always welcome new contributors! Here are a few things you can do to get started:


To get started, read the [https://wiki.mozilla.org/Gecko:Overview programmer's primer on Gecko].
* Read through the [https://firefox-source-docs.mozilla.org/ Firefox docs], particularly the [https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html Firefox Contributor's Quick Reference Guide.]
* Follow the [https://firefox-source-docs.mozilla.org/setup/index.html instructions for building Firefox].
* Read the [https://wiki.mozilla.org/Gecko:Overview programmer's primer on Gecko], particularly the [https://wiki.mozilla.org/Gecko:Overview#Layout layout section].
* Get familiar with the [https://firefox-source-docs.mozilla.org/code-quality/coding-style/index.html Mozilla code style guidelines].


=== Starter Bugs ===
== Starter Bugs ==


If you're looking for a good first bug to fix, the following resources may help:
If you're looking for a good first bug to fix, the following resources may help:


* [https://www.joshmatthews.net/bugsahoy/?layout=1&dom=1&simple=1 Simple layout bugs on Bugs Ahoy!]
* [https://www.joshmatthews.net/bugsahoy/?layout=1&dom=1&simple=1 Simple layout bugs on Bugs Ahoy!]
* [https://mzl.la/2MVpCeL Layout bugs marked as "good-first-bug" on Bugzilla]
* [https://mzl.la/42XIEcg Layout bugs marked as "good-first-bug" on Bugzilla]
[[Category:Platform]]
[[Category:Layout]]

Latest revision as of 18:36, 14 March 2024

About

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)
  • Printing
  • SVG
  • Fonts and Typography

Contact Information

Communications Channel Guidelines

  • Synchronous discussions about engineering-specific topics (bugs, patches, code reviews, architectural issues, etc.) should happen in #layout on chat.mozilla.org.

Roadmap and Status

Kanban Board

Our Bugzilla kanban board is a quick way to find out what bug fixes and enhancements are upcoming or in progress.

Standup Notes

For very detailed information, notes from the team's weekly standup meetings are available.
For standup notes prior to 2024, please see the Layout Archive

Release Notes

We publish notes and lists of all fixed layout bugs for a given release. These release notes call out items of particular importance (new features, webcompat fixes) that may be helpful for web content authors.

Bugs and Triage

Filing a Bug

Open a bug under "Product: Core", using one of the following components:

Triage Process & Guidelines

If you're curious about how we triage and prioritize bugs, please visit our triage page for more information. This page includes information about our triage process and guidelines, as well as useful triage and backlog related bug queries.

Whiteboard Tags

We use the following strings (tags) in the whiteboard field on bugs in Bugzilla to track important metadata:

  • [layout:backlog]: Indicates the bug is in our backlog, and is either under active development, or planned development for the current year (see bug priority for approximate timeline).
  • [layout:icebox]: Indicates a bug we are considering including in our backlog in the future, but are unlikely to work on in the current year.
  • [layout:triage-discuss]: Indicates that we plan to discuss this bug in more detail at one of our internal, bi-weekly triage meetings. Usually this is set if the severity level is disputed, or in question, or other triage details of the bug are unclear.


Contributing

We always welcome new contributors! Here are a few things you can do to get started:

Starter Bugs

If you're looking for a good first bug to fix, the following resources may help: