Platform/Layout: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(modifications to merge the pages bug, backlog and triage and reduce redundant info)
 
(45 intermediate revisions by 6 users not shown)
Line 1: Line 1:
The Layout Team is primarily responsible for the [http://en.wikipedia.org/wiki/Gecko_%28layout_engine%29 Gecko Layout Engine]. A programmer's primer is posted here:
= About  =
https://wiki.mozilla.org/Gecko:Overview
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.  


== Quarterly Planning ==
The team's technical domains within Gecko include:


See the [[Platform/Planning | Platform Planning page]] for info on our meetings that occur 2-3 times a year to plan features.
* 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


== Feature Planning ==
= Contact Information =


* [[Platform/Layout/CSS|CSS]]
* '''Matrix/Riot.IM''': [https://chat.mozilla.org/#/room/#layout:mozilla.org #layout on chat.mozilla.org]
** CSS flexbox
* '''E-mail''': [https://lists.mozilla.org/listinfo/dev-platform Subscribe to dev-platform@lists.mozilla.org]
** CSS Grid
** CSS Breaks
** Magazine-style Layout (CSS Regions/Exclusions or alternative proposals.)
** CSS Images
*** gradients (syntax changes, animation)
*** CSS @supports
*** CSS Paginated Overflow
* [[Platform/Layout/Text|Text]]
** Mobile Readability
** Writing Modes (vertical text, etc.)
** Graphite
** Ruby
* [[Platform/Layout/Responsiveness|Responsiveness/Performance]]
** View removal
** Display-List based invalidation
** SVG Display-List conversion
** Font cache performance improvements


== Development Planning ==
== Communications Channel Guidelines ==
* [[Platform/Layout/BugKill|BugKill - make our bug lists containable in one person's head]]


== Other Information ==
* 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].


* [https://intranet.mozilla.org/Layout_DOM_Work_Week_-_March_2012 DOM/Layout Work Week 2012]
= Roadmap and Status =
* [https://intranet.mozilla.org/GraphicsLayoutWorkWeek-November2011 GFx/Layout Work Week 2011]
 
== 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 ==
 
[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&component=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]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=DOM:+CSS+Object+Model DOM: CSS Object Model]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout Layout]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Block+and+Inline Layout: Block and Inline]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Columns Layout: Columns]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Flexbox Layout: Flexbox]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Floats Layout: Floats]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Form Layout: Form]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Generated+Content,+Lists,+and+Counters Layout: Generated Content, Lists, and Counters]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Grid Layout: Grid]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Images,+Video,+and+HTML+Frames Layout: Images, Video, and HTML Frames]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Positioned Layout: Positioned]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Ruby Layout: Ruby]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Scrolling+and+Overflow Layout: Scrolling and Overflow]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Tables Layout: Tables]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Layout:+Text+and+Fonts Layout: Text and Fonts]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Print+Preview Print Preview]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Printing:+Output Printing: Output]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Printing:+Setup Printing: Setup]
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=SVG SVG]
 
== Triage Process & 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.
 
== Whiteboard Tags ==
 
We use the following strings (tags) in the whiteboard field on bugs in Bugzilla to track important metadata:
 
* <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.
 
 
 
= Contributing =
 
We always welcome new contributors! Here are a few things you can do to get started:
 
* 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 ==
 
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://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: