Platform/Layout/ReleaseNotes/69
Contents
- 1 Firefox 69 Platform Layout Release Notes
- 1.1 Noteworthy Changes
- 1.2 All Bugs Fixed
- 1.2.1 CSS Parsing and Computation
- 1.2.2 CSS Transitions and Animations
- 1.2.3 DOM: CSS Object Model
- 1.2.4 Layout
- 1.2.5 Layout: Block and Inline
- 1.2.6 Layout: Columns
- 1.2.7 Layout: Form Controls
- 1.2.8 Layout: Generated Content, Lists, and Counters
- 1.2.9 Layout: Grid
- 1.2.10 Layout: Images, Video, and HTML Frames
- 1.2.11 Layout: Scrolling and Overflow
- 1.2.12 Layout: Tables
- 1.2.13 Layout: Text and Fonts
- 1.2.14 Printing: Setup
- 1.2.15 SVG
Firefox 69 Platform Layout Release Notes
Noteworthy Changes
Features
- Ship support for CSS grid subgrid (bug 1496502)
- Ship support for CSS containment (bug 1487493)
- Ship support for Resize Observer (bug 1272409)
- Style and animate SVG properties with CSS (bug 1383650)
Webcompat
All Bugs Fixed
CSS Parsing and Computation
bug 1383229 Intermittent /css/CSS2/selectors/universal-selector-005.xht | Testing selectors/universal-selector-005.xht == universal-selector-005-ref.xht
bug 1429299 Implement offset-distance for motion path
bug 1429301 Implement offset-rotate for motion path
bug 1470695 Implement overflow-block and overflow-inline properties
bug 1473859 Intermittent css-valuesandunits/unit-vh-vw-overflow-auto.html != css-valuesandunits/unit-vh-vw-overflow-scroll.html | image comparison, max difference: 1, number of differing pixels: 4
bug 1492739 Consider unprefixing -moz-user-select
bug 1493420 10 seconds spent in Stylo on page
bug 1505489 Implement CSS Shadow Parts (and enable it for chrome callers)
bug 1513643 Enable @supports selector() by default.
bug 1532937 Enable ESLint for dom/flex and dom/grid
bug 1541233 Stop loading userContent.css or userChrome.css by default unless a preference is set
bug 1546255 Hit MOZ_CRASH(We should be able to map a raw rule to a rule
bug 1547633 ::selection style not invalidated properly (was: toggle background on pseudo-element ::selection is not resetting to default value)
bug 1548342 Fix nested pseudo-elements matching author rules better.
bug 1550432 Don't report CSS errors when valid aliases have already been parsed in the same declaration block
bug 1552578 Restrict the properties that apply to ::marker for now.
bug 1552636 Remove eStyleImageType_URL.
bug 1552708 Use cbindgen for URIs
bug 1552878 Use cbindgen for filters.
bug 1552919 fix nightly rust warnings in geckolib glue
bug 1553245 Use cbindgen for border-image-width.
bug 1553252 Use cbindgen for text-overflow.
bug 1554150 Remove -webkit-appearance keywords that are removed in Chromium 75
bug 1554347 Sync servo stuff.
bug 1554405 Pass old style to StartImageLoads again.
bug 1554433 Move system colors outside of mako
bug 1554716 Remove nsStyleColor moving the color property to nsStyleText.
bug 1555150 adding support for text-underline-offset to the style system
bug 1555165 Parse backdrop-filter CSS property
bug 1555823 Remove bug 1323652 annotations from crashtest.lists
bug 1555863 adding support for text-decoration-width (longhands) to the style system
bug 1555867 Measure how common single children in the rule tree are, and consider not using a hashmap in that case.
bug 1556041 add test cases for patch that added support for text-underline-offset to the style system
bug 1556202 Permafailing Android Tier 2 No tests run or test summary not found following layout/style/crashtests/439184-1.html
bug 1556388 Sync servo stuff.
bug 1556602 --enable-warnings-as-errors fails due to -D bare-trait-objects with Rust 1.37
bug 1556628 Permafail Tier 2 Android /css/css-ui/appearance-cssom-001.html | -webkit-appearance: listitem (invalid) - assert_equals: style.WebkitAppearance (uppercase W) expected "button" but got "none"
bug 1557110 Remove support for complex -moz- gradient parsing.
bug 1557212 Use cbindgen for gradients.
bug 1557430 Memory for SVG mapped attributes is not reported
bug 1557481 Intermittent /css/css-position/fixed-z-index-blend.html | Testing http://web-platform.test:8000/css/css-position/fixed-z-index-blend.html == http://web-platform.test:8000/css/css-position/fixed-z-index-blend-ref.html
bug 1557563 filter function factors should clamp values over 1.0 during animation
bug 1557819 Crash in [@ geckoservo::glue::set_property]
bug 1558357 Original display changes don't trigger reflow, even though they affect the hypothetical position of an element.
bug 1558442 Use a weaker change hint for auto <-> non-auto offset changes.
bug 1558894 Intermittent bugs/315920-11.html == bugs/315920-11-ref.html | image comparison, max difference: 1, number of differing pixels: 2
bug 1559545 Start using the rust representation for grid-related things.
bug 1559546 Use atoms for grid line names.
bug 1559796 Should not serialize default radius of circle
bug 1559814 Use cbindgen for grid line properties.
bug 1559851 Intermittent TEST-UNEXPECTED-PASS | w3c-css/submitted/variables/variable-external-font-face-01.html == w3c-css/submitted/variables/variable-external-font-face-01-ref.html | image comparison, max difference: 0, number of differing pixels: 0
bug 1560198 "background-size:0px" serializes as "0px auto" in getComputedStyle (causing WPT failure in background-size-001.html )
bug 1560205 Fix WPT background-image-first-line.html to specify a line-height
bug 1560268 Perma [Tier 2] /css/css-contain/contain-size-flexbox-002.html | Testing http://web-platform.test:8000/css/css-contain/contain-size-flexbox-002.html == http://web-platform.test:8000/css/css-contain/reference/contain-size-flexbox-002-ref.html
bug 1560494 list-style-type serializes with symbolic
bug 1560705 DOMMatrix uses float when parsing CSS
bug 1560777 Sync servo stuff.
bug 1560828 paint-order parsing has off-by-one error
bug 1561131 add parsing support for text-decoration-skip-ink
bug 1561283 [css-grid] Grandchild of grid container doesn't immediately become grid item when its parent gets "display:contents"
bug 1561351 import WPT changes for "Load Ahem as a webfont everywhere"
bug 1561355 Update bindgen so as to not build clap.
bug 1561738 Remove nsStyleCoord.
bug 1561773 turn on anonymous content style caching pref
bug 1562269 Serialize grid-auto-rows grid-auto-columns with Servo
bug 1562787 Improve style struct size assertions.
bug 1563315 Use cbindgen for fill / stroke, and remove nsStyleSVGPaint.
CSS Transitions and Animations
bug 1429303 Make offset-rotate animatable
bug 1552352 [CSS Animations] Firefox only web platform test failures
bug 1555548 Incorrect results of individual transforms when some transform-like properties are running animations but others not
DOM: CSS Object Model
bug 1536871 Return the keyword value for line-height: normal in getComputedStyle.
bug 1554022 Intermittent /css/cssom-view/elementScroll.html | Element scrollBy test (one argument) - assert_equals: increment of scrollTop should be 15 expected 90 but got 89
bug 1558863 Perma Tier 2 TEST-UNEXPECTED-PASS | /css/cssom-view/elementScroll.html | Element scrollBy test (one argument) - expected FAIL
bug 1559325 Intermittent Tier 2 /css/cssom-view/scroll-behavior-subframe-root.html | Subframe with auto scroll-behavior ; scroll() with smooth behavior - assert_equals: Final value of scrollLeft expected x but got y
bug 1560465 Intermittent TEST-UNEXPECTED-PASS | /css/cssom-view/scroll-behavior-subframe-root.html | Subframe with auto scroll-behavior ; scroll() with smooth behavior - expected FAIL
bug 1561802 Perma [Tier 2] /css/cssom-view/position-sticky-root-scroller-with-scroll-behavior.html | Sticky elements work with the root (document) scroller - assert_equals: expected 750 but got 749
Layout
bug 1418472 abs-pos placeholder may end up on the wrong side of a line-break [was: Wrong position of github issue name on hover]
bug 1465296 [css-grid-2] Implement subgrid item placement
bug 1466358 [css-grid-2] Implement subgrid support in track sizing
bug 1471758 [css-grid-2][css-contain] contain:paint and contain:layout on a subgrid need to *prevent* it from being a subgrid
bug 1474771 Experiment propagating NS_FRAME_IS_DIRTY once in PresShell::FrameNeedsReflow instead of in ReflowInput::Init
bug 1488871 AsyncScrollPortEvent as an WillPaintObserver causes extra layout flushes during page load
bug 1543839 Let Resize Observer ride the trains (i.e. set pref 'layout.css.resizeobserver.enabled = true' without a NIGHTLY_BUILD guard)
bug 1544242 Assertion failure: !IsLazilyCascadedPseudoElement() (Lazy pseudos can't inherit lazy pseudos) with ::marker { display: list-item }
bug 1549267 Some thoughts on the usage of the constants in LayoutConstants.h
bug 1550105 Negative values in meta viewport result in different initial viewports on Firefox and Chrome
bug 1550535 Mark <svg> elements (nsSVGOuterSVGFrame) as reflow roots
bug 1550813 Revise viewport-resize-event-on-load-overflowing-page.html to avoid bug 1547827
bug 1552287 [css-contain] contain:layout on various frames doesn't fully suppress baseline
bug 1553227 Remove old scroll-snap implementation
bug 1553378 devirtualize calls to GetText() / TextLength() when we know we have a Text node
bug 1553673 IntersectionObserver internal rounding error with certain negative percentage rootMargins
bug 1553731 avoid reading from the "frame class to frame type" map when we can
bug 1554224 Enable some ESLint rules for more of layout/
bug 1554461 use an array instead of an nsTHashtable for nsContinuationStates
bug 1554571 cache ComputedStyles for anonymous content we know is always styled the same
bug 1554755 The optimization introduced by bug 1367906 is not really sound.
bug 1554832 nsPresContext::IsRootContentDocument returns true for OOP iframes
bug 1555543 APZ-related scrollbar UA style sheet rule doesn't apply in shadow trees
bug 1555757 Assertion failure: cbri (no containing block), at /builds/worker/workspace/build/src/layout/generic/ReflowInput.cpp:2251
bug 1556569 Remove display:contents from IsInline[Inside|Outside]Style()
bug 1556855 Remove the layout.css.prefixes.webkit pref
bug 1556857 Return true in AttributeChangeRequiresSubtreeRestyle whenever lwtheme attrs change in any chrome doc, not just those with XUL document elements
bug 1557518 Intermittent TEST-UNEXPECTED-PASS | /css/css-backgrounds/background-attachment-local/attachment-scroll-positioning-1.html | Testing http://web-platform.test:8000/css/css-backgrounds/background-attachment-local/attachment-scroll-positioning-1.html
bug 1557962 re-enable OMT font sanitization
bug 1558352 Ensure canvas anonymous content is always created before constructing the document element frame's children.
bug 1558607 Intermittent TEST-UNEXPECTED-PASS | scrolling/frame-scrolling-attr-2.html == scrolling/frame-scrolling-attr-ref.html | image comparison, max difference: 1, number of differing pixels: 2
bug 1558660 Intermittent bugs/391994-1.html == bugs/391994-1-ref.html | image comparison, max difference: 4, number of differing pixels: 1
bug 1558712 Intermittent TEST-UNEXPECTED-PASS | scrolling/frame-scrolling-attr-2.html == scrolling/frame-scrolling-attr-ref.html | image comparison, max difference: 0, number of differing pixels: 0
bug 1558834 Intermittent bugs/315920-7a.html == bugs/315920-7-ref.html | image comparison, max difference: 1, number of differing pixels: 14
bug 1558899 create web-platform reftests for text-decoration-width
bug 1559001 Intermittent bugs/395107-3.html == bugs/395107-3-ref.html | image comparison, max difference: 4, number of differing pixels: 2
bug 1559032 Intermittent bugs/395107-5.html == bugs/395107-5-ref.html | image comparison, max difference: 4, number of differing pixels: 1
bug 1559493 text-underline-offset has wrong baseline for vertical text when set to 0
bug 1562312 implement contain:size for `<select multiple>` elements
bug 1562757 Use |aFrameAsScrollable|'s pres shell to call ScrollToVisual in ScrollToShowRect in PresShell.cpp
bug 1563061 Add/update bug links for all css-contain layout/size/paint known test failures
bug 1563370 Eliminate GetPrevInFlowVirtual() and GetNextInFlowVirtual()
bug 1563691 Perma [tier2] TEST-UNEXPECTED-PASS | bugs/1562733-rotated-nastaliq-1.html == bugs/1562733-rotated-nastaliq-1-ref.html | image comparison, max difference: 253, number of differing pixels: 1397
Layout: Block and Inline
bug 1552357 Incorrect intrinsic size calculation on wrapper for inline-level elements with padding and `box-decoration-break: clone`
bug 1562122 Refactor and cleanup nsBlockFrame::ComputeFinalSize() when the block size is constrained
Layout: Columns
bug 1348839 Column-fill: auto doesn't fill as expected, content ends up in one column
bug 1523595 The height of columns in a column container split by a column-span are too large
bug 1524411 crash near null [@ nsLayoutUtils::GetFirstLinePosition]
Layout: Form Controls
bug 1476127 Implement contain:size for select objects.
bug 1539469 Make <input> elements display: inline-block by default (was: Fix WPT: testing/web-platform/tests/html/semantics/forms/the-input-element/input-width.html)
bug 1558645 Intermittent forms/input/selector-read-write-type-change-001.html == forms/input/selector-read-write-type-change-001-ref.html | image comparison, max difference: 1, number of differing pixels: 2
bug 1559023 Intermittent css-invalid/form/form-valid-and-barred-remove-barred.html == css-invalid/form/form-valid-ref.html | image comparison, max difference: 4, number of differing pixels: 2
bug 1561717 Add reftests for contain:size on select elements
Layout: Generated Content, Lists, and Counters
bug 1560460 outside list-item ::marker box is painted on top of child content
Layout: Grid
bug 1496502 [css-grid-2] Enable subgrid by default in Nightly (and early beta?)
bug 1547560 [css-grid-2] Unable to override column-gap value from parent when in a subgrid.
bug 1548421 [css-grid-2] Subgrids should never be reflow roots
bug 1553824 Crash in [@ InvalidArrayIndex_CRASH | nsGridContainerFrame::GridReflowInput::PercentageBasisFor]
bug 1558705 [css-grid] subgrid margin/border/padding isn't accounted for when doing content measurements to determine row size
Layout: Images, Video, and HTML Frames
bug 1547231 Map the width and height attribute of images to aspect-ratio
Layout: Scrolling and Overflow
bug 1544995 Missing border on quizlet.com (or rather: box-shadow not showing up, with 3D transforms)
bug 1546219 Rename mScrollSnapType{X,Y} to mScrollSnapStrictness{X,Y} to match what it is
bug 1553022 Make nested-scrollIntoView-snaps.html in wpt pass
bug 1559627 Scrolling is jumpy / hesitant on some webpages
bug 1560237 position: sticky does not work with scroll-behavior and overflow
bug 1562105 crash near null in [@ IsSmoothScroll]
Layout: Tables
bug 1409114 Figure out a better way to create display items for column backgrounds
bug 1553548 CSS `contain` needs to inherit from table to table-wrapper-box
Layout: Text and Fonts
bug 1011369 Implement line-break property of CSS3 Text
bug 1351432 Implement the break-spaces value of the white-space property
bug 1440014 [css-text-decor-4] Implement text-decoration-width for controlling underline thickness
bug 1490792 140ms of FontFace::DoLoad when loading Google Doc
bug 1509423 Use harfbuzz for AAT layout instead of CoreText
bug 1524431 Teach nsBidiPresUtils to only manipulate continuations created by bidi resolution
bug 1531715 Implement line-break: anywhere
bug 1544460 osx Mojave (10.14) - many reftests seem to fail
bug 1552062 [css-text-decor-4] Implement text-underline-offset
bug 1552121 Suppress auto-hyphenation of words that contain any internal capital letters
bug 1552781 Font inflation on einthusan.tv
bug 1554753 Emoji do not respect 0% opacity when combined with drop shadow
bug 1554998 CSS word-break: break-all is ignored with numeric string
bug 1555436 Fix `readability-braces-around-statements` static analysis warnings for nsTextFrameUtils.* and nsTextRunTransformations.*
bug 1555903 Add WPT testcase for text-indent not affecting tab-stop positions [was: Collapsing tab spaces in text with negative indentation]
bug 1556991 Remove the runtime pref controlling WOFF2 support
bug 1557044 Don't eagerly call ReadCMAP from gfxMacPlatformFontList::MakePlatformFont
bug 1557291 Control of capitalized-word hyphenation is not reliable, depending on form of lang tag used
bug 1561600 The macOS Japanese monospace font Osaka-Mono is not available when shared font-list is enabled
Printing: Setup
bug 1552711 Use 'DocShell' instead of 'Container' in nsPrintJob
bug 1552880 Start clearing up some of nsPrintJob's non-obvious distinction between original, source and preview documents
bug 1552969 Pass the document to print through to nsPrintJob::Print
bug 1553080 Have nsPrintJob record modality and mozPrintCallback presence during initialization
bug 1553081 Set nsPrintJob::mDisallowSelectionPrint during Initialize()
bug 1553318 Remove nsIPrintSettings.kRangeFocusFrame
bug 1553324 Remove nsIPrintSettings.printFrameTypeUsage
bug 1557033 Stop using nsIDocShellTreeItem in nsPrintJob
bug 1557104 Merge nsIPageSequenceFrame and nsSimplePageSequenceFrame
bug 1557434 Split nsPrintObject::Init into separate root-object and nested-object init methods
bug 1557681 Rename nsPrintJob::Cancelled() to Cancel()
bug 1557687 Remove nsPrintData::mDocWasToBeDestroyed
bug 1557878 Replace nsIWebBrowserPrint::enumerateDocumentNames with a getter for the top document's name
bug 1558057 Remove nsPrintJob::CleanupDocTitleArray
bug 1558067 Prevent mozPrintCallback being invoked with the wrong <canvas> element
bug 1558071 Rename nsIWebBrowserPrint.printPreviewNavigate to printPreviewScrollToPage
bug 1558072 Inline the nsDocumentViewer::ReturnToGalleyPresentation code to its single caller
bug 1558079 Add a comment to the mozPrintCallback invoking code warning about its non-obvious behavior
bug 1558180 Comment the mysterious OnPageHide() call in nsPrintJob and move it somewhere that makes sense
bug 1558210 Make various nsPrintJob methods private
bug 1558349 Stop calling SetIsPrintPreview in nsDocumentViewer::PrepareToStartLoad
SVG
bug 1032124 Cloned object (using nested use element) not updated when manipulated through JavaScript
bug 1295404 remove requiredFeatures from SVGTests
bug 1325319 Implement isPointInFill() and isPointInStroke() methods of SVGGeometryElement
bug 1383650 Implement SVG geometry properties in CSS
bug 1529571 [SVG Styling] Firefox only web platform test failures
bug 1529572 [SVG Types] Firefox only web platform test failures
bug 1544432 Font Rendering for "Josefin Sans" Broken
bug 1551030 Merge all SVGRect classes
bug 1552345 Perma [tier2] Android mochitest dom/smil/test/test_smilConditionalProcessing.html | b is in effect with passing conditional processing test on a - got +0, expected 100
bug 1554457 Obtain style from frame rather than GetComputedStyleNoFlush
bug 1554488 Add WPT test for baseVal behavior inside symbol/display:none
bug 1554568 font-size resolved incorrectly for things inside inner <svg>
bug 1555030 Assertion failure: !aNonSVGFrame->IsFrameOfType(nsIFrame::eSVG) || aNonSVGFrame->IsSVGOuterSVGFrame(), at /builds/worker/workspace/build/src/layout/svg/nsSVGIntegrationUtils.cpp:231
bug 1555758 Assertion failure: GetPrimaryFrame(), at /builds/worker/workspace/build/src/dom/svg/SVGCircleElement.cpp:130
bug 1555795 stack-overflow in SVG
bug 1555949 SVG <script>s don't run in shadow trees, since their BindToTree implementation uses the uncomposed doc.
bug 1556147 SVGImageElement::BuildPath is dead code
bug 1556511 initial render of a Coinbase svg graph is wrong in Firefox Nightly
bug 1557245 overflow text inside <foreignObject> no longer visible when "overflow:visible" is specified
bug 1557637 Correct resolve <image> size when specified size is auto and intrinsic size is missing
bug 1558356 add a WPT test for xml:space="preserve" inheriting
bug 1559096 Fix some SVGObserverUtils related misnaming
bug 1559344 Initial concourse pipeline rendering at top left
bug 1559626 convert getCharNumAtPosition to take a DOMPointInit
bug 1560179 AddressSanitizer: SEGV /builds/worker/workspace/build/src/dom/svg/SVGImageElement.cpp:270:3 in mozilla::dom::SVGImageElement::BuildPath(mozilla::gfx::PathBuilder*)
bug 1561352 viewBox-scaling-text-001.html needs changes to correctly reference Ahem font in other browsers