Platform/Layout/ReleaseNotes/72
Contents
- 1 Firefox 72 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: Flexbox
- 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: Output
- 1.2.15 Printing: Setup
- 1.2.16 SVG
Firefox 72 Platform Layout Release Notes
Noteworthy Changes
Features
- Ship support for CSS shadow parts (bug 1559074)
- Ship support for individual transform properties scale, rotate, translate (bug 1424900)
- Ship support for motion path animations (bug 1582554)
- Support the 'letter-spacing' and 'word-spacing' properties in SVG (bug 371787)
Bugs
- Fix issue where printing content with fieldsets truncates output (bug 471015)
All Bugs Fixed
CSS Parsing and Computation
bug 969322 :-moz-window-inactive triggers on window drag
bug 1484780 Cache the gfx::Path built from StyleSVGPath to avoid rebuilding it too many times
bug 1507674 Hit MOZ_CRASH(... has still dirty bit true or animation-only dirty bit false) at servo/ports/geckolib/glue.rs:4978
bug 1559074 Enable shadow parts for release and beta channels.
bug 1565116 Intermittent TEST-UNEXPECTED-PASS | /css/css-ui/appearance-searchfield-001.html | Testing http://web-platform.test:8000/css/css-ui/appearance-searchfield-001.html == http://web-platform.test:8000/css/css-ui/appearance-auto-ref.html
bug 1572507 Intermittent TEST-UNEXPECTED-PASS | /css/css-position/z-index-blend-will-change-overlapping-layers.html | Testing http://web-platform.test:8000/css/css-position/z-index-blend-will-change-overlapping-layers.html == http://web-platform.test:8000/css/css-pos
bug 1586444 Assertion failure: cachedStyles[i]->EqualForCachedAnonymousContentStyle(*cs) (cached anonymous content styles should be identical to those we would compute normally), at src/layout/base/nsCSSFrameConstructor.cpp:4026
bug 1588431 Incompatible style attribute behavior in ::part() with Chromium
bug 1589766 Experiment with implementing zoom as a transform + transform-origin shorthand.
bug 1590203 Handle more efficiently changes from overflow: visible to -moz-hidden-unscrollable, and from overflow: scroll to hidden.
bug 1590357 Bug 1590203 missed to update overflow areas.
bug 1590722 Intermittent layout/style/test/test_area_url_cursor.html | [SimpleTest.finish()] waitForFocus() was called a different number of times from the number of callbacks run. Maybe the test terminated prematurely -- be sure to use SimpleTest
bug 1591297 Remove miscellaneous XBL code in layout.
bug 1591577 Intermittent layout/style/test/test_area_url_cursor.html | Test timed out.
bug 1591987 ElementWrapper::is_link is broken.
bug 1592189 Remove internal SpecialColorKeyword enum in favor of SystemColor
bug 1592972 Intermittent /css/vendor-imports/mozilla/mozilla-central-reftests/text3/segment-break-transformation-removable-3.html | Testing http://web-platform.test:8000/css/vendor-imports/mozilla/mozilla-central-reftests/text3/segment-break-transformation-removable
bug 1593009 CSS "zoom: 0" behaves differently from other browsers
bug 1593642 Sync servo stuff.
bug 1593951 Use MaybeUninit instead of mem::zeroed() in style struct constructors / copy-constructor.
bug 1594275 Parse the exportparts attribute.
bug 1594946 [css-transforms-2] For the individual transform properties if they spec a value that can be expressed as 2d we treat as 2d and serialize accordingly
bug 1596712 6.61 - 35.21% perf_reftest (linux64-shippable, linux64-shippable-qr, macosx1014-64-shippable, windows10-64-shippable, windows10-64-shippable-qr, windows7-32-shippable) regression on push 06945900e072481a3ecacf3f75a1ea66fc422176 (Thu November 14 2019)
bug 1596768 Remove more GetBindingParent usage.
bug 1597160 Remove nsChangeHint_UpdateWidgetProperties.
bug 1597588 Make rust's Atom non-zero.
bug 1597639 [css-grid] grid-template shouldn't accept `"string" [foo] [bar]` as valid syntax
bug 1597642 [css-transforms] Have scale function and scale property accept percentage value
bug 1597700 Remove unnecessary #define in nsStyleConsts.h
bug 1597741 use Enum class for NS_STYLE_SHAPE_RENDERING instead of #define
bug 1597881 convert NS_STYLE_STROKE_LINECAP_* to an enum class in nsStyleConsts.h
bug 1597884 [css-grid] grid/grid-template serialization can be shorter
bug 1597893 convert NS_STYLE_WINDOW_SHADOW_* to an enum class in nsStyleConsts.h
bug 1597979 convert NS_STYLE_TEXT_ANCHOR_* to an enum class in nsStyleConsts.h
bug 1598234 [css-grid][cssom] 'grid-area'/'grid-column'/'grid-row' shorthands don't serialize to shortest form
bug 1598348 convert NS_STYLE_OBJECT_FIT_* to an enum class in nsStyleConsts.h
bug 1598528 convert NS_STYLE_TEXT_ORIENTATION_* to an enum class in nsStyleConsts.h
bug 1598539 convert NS_STYLE_IME_MODE_* to an enum class in nsStyleConsts.h
bug 1598932 grid-area-valid.html accepts invalid serialized values
bug 1599115 Simplify some code now that lifetimes are non-lexical.
bug 1599161 Rename nsLayoutStylesheetCache
bug 1599286 Assertion failure: cachedStyles[i]->EqualForCachedAnonymousContentStyle(*cs) (cached anonymous content styles should be identical to those we would compute normally), at src/layout/base/nsCSSFrameConstructor.cpp:4026
bug 1599324 Popup doesn't appear in the center, can't scroll to click the buttons
bug 1599876 Make some string handling in the bindings a bit less terrible.
bug 1600155 Make @import rules less weird.
bug 1600376 Remove useless namespace qualifications in layout/style.
bug 1600436 Sync servo stuff.
bug 1600459 Fix an individual transform test
bug 1600476 convert NS_STYLE_TOP_LAYER_* to an enum class in nsStyleConsts.h
bug 1600483 convert NS_STYLE_RUBY_ALIGN_* to an enum class in nsStyleConsts.h
bug 1600484 convert NS_STYLE_TEXT_SIZE_ADJUST_* to an enum class in nsStyleConsts.h
bug 1600486 Remove Redundant #define NS_STYLE_IMAGE_ORIENTATION in nsStyleConsts.h
CSS Transitions and Animations
bug 1429305 [motion-1] Support compositor animations for motion path
bug 1506746 Make sure we serialize the correct value at 0% or 100% during animation on rotate, translate, and scale
bug 1582554 [motion-1] Ship motion-path
bug 1592787 [motion-1] Check the creation of the stacking context if we don't have offset-path animation and its value is none.
bug 1594960 Assertion failure: HasMotionPathAnimations(aAnimations), at src/gfx/layers/AnimationHelper.cpp:494
bug 1596610 will-change for offset-path should set WillChangeBits::TRANSFORM
DOM: CSS Object Model
bug 1596361 Crash in [@ nsComputedDOMStyle::GetGridTemplateColumnsRows]
Layout
bug 1424900 Enable "layout.css.individual-transform.enabled" by default
bug 1559848 Intermittent TEST-UNEXPECTED-NOTRUN | /visual-viewport/viewport-no-resize-event-on-overflow-recalc.html | Resize event not fired at window.visualViewport when content is added - expected PASS
bug 1576946 Implement <stack> using CSS Grid and remove nsStackFrame
bug 1578319 Collect Total Time Spent in Style/Layout Flushes per Tick
bug 1584018 overflow: scroll not working in embedded Code Mirror editor
bug 1584040 Intermittent layout/generic/crashtests/outline-on-frameset.xhtml | assertion count 2 is more than expected 0 assertions
bug 1586144 Use the viewport size including maximum possible dynamic toolbar size to resolve viewport units even if the dynamic toobar is hidden and make ICB size static whatever the dynamic toolbar state is
bug 1586986 Make VisualViewport size behavior match Chrome's
bug 1587127 Ensure HCM backplate doesn't backplate items with visibility:hidden
bug 1588017 Clean up the naming for IntrinsicISizeOffsetData
bug 1590185 Add a paged mode layout to layout debugger
bug 1590273 Remove useless early-outs in nsStyle{Padding,Margin}::CalcDifference
bug 1590278 Cleanup scrollframe virtual / override / final declarations.
bug 1590281 Don't propagate overscroll-behavior from body to viewport.
bug 1590551 Allow nsPresContext::GetNearestWidget to work when the frame doesn't exist
bug 1590639 Fix non-unified build error in several layout subdirectories
bug 1592369 Set [orient], [pack], [dir], and [align] styles with CSS instead of XUL layout JS-properties
bug 1592790 Perma tier 2 svg/smil/anim-clipPath-viewBox.svg == svg/smil/anim-clipPath-viewBox-ref.svg | image comparison, max difference: 7, number of differing pixels: 217
bug 1593442 Intermittent TEST-UNEXPECTED-NOTRUN | /visual-viewport/viewport-no-resize-event-on-overflow-recalc.html | Resize event not fired at window.visualViewport when content is added - expected PASS
bug 1593615 Perma tier2 async-scrolling/perspective-scrolling-1.html | image comparison, max difference: 5, number of differing pixels: 1503 | clipped-mixblendmode-containing-unclipped-stuff.html | image comparison, max difference: 3, number of differing pixels: 849
bug 1594419 Intermittent TEST-UNEXPECTED-NOTRUN | /visual-viewport/viewport-no-resize-event-on-overflow-recalc.html | Resize event not fired at window.visualViewport when content is added - expected PASS
bug 1594937 Remove w3c-css/received/css-multicol reftests
bug 1594949 Assertion failure: gfxPath (Should have a valid cached gfx::Path for offset-path), at src/layout/base/MotionPathUtils.cpp:445
bug 1595103 [css-pseudo] ::first-letter applies to marker text when ::marker has non-normal content
bug 1595682 Intermittent /css/css-contain/contain-size-select-002.html | Testing http://web-platform.test:8000/css/css-contain/contain-size-select-002.html == http://web-platform.test:8000/css/css-contain/reference/contain-size-select-001-ref.html
bug 1596310 ASSERTION: unexpected max block size: 'aBSize >= 0'
bug 1596339 Implement operator<< for logical types in WritingMode.h
bug 1596494 Intermittent GECKO(1719) | Assertion failure: IsRootContentDocumentCrossProcess(), at /builds/worker/workspace/build/src/layout/base/nsPresContext.h:391
bug 1596992 ResizeObserver Memory Leak
bug 1597653 test_bug453650.xhtml uses various unknown properties Ci.<interface>.equals
bug 1598132 Add nsLayoutUtils::GetPrevContinuationOrIBSplitSibling()
bug 1598488 Fix GetWidget() in nsMenuPopupFrame
bug 1598617 Perma [tier2] transform-3d/mask-layer-1.html == transform-3d/mask-layer-ref.html | image comparison, max difference: 8, number of differing pixels: 1
bug 1599294 layout debugger doesn't open from the command line
bug 1599518 Assertion failure: !mResizeObservers.Contains(&aObserver), at src/obj-firefox/dist/include/mozilla/dom/ResizeObserverController.h:77
bug 1600362 Cleanup a bit more IntersectionObserver.
Layout: Block and Inline
bug 1580385 Fix failing writing-mode tests because of propagating WritingMode from <body>
bug 1587645 Remove ScrollFrameHelper::GetFrameForDir()
bug 1588025 ViewportFrame is orthogonal to nsCanvasFrame's mCustomContentContainer when setting vertical writing-mode on <html>
bug 1591546 Add WritingMode::IsPhysicalRTL() and WritingMode::IsBidiRTL()
bug 1595199 container height doesn't recalculate correctly when changing height to 'auto', with 'overflow: hidden'
Layout: Flexbox
bug 1578586 Don't apply percent-height ancestor-resolution quirk to percentages inside of a flex item or grid item
bug 1591925 select element incorrectly allows itself to shrink to a main-size of 0, in a flex container
bug 1596973 Improve FlexContainer's logging facility
bug 1597177 Only mark flex containers as having dirty/interrupted measurements if they're actually interrupted before the measurements are complete
bug 1597348 Purge interrupted flex items' cached measurements during the same frametree-walk that we use to mark their ancestors as dirty
Layout: Form Controls
bug 1590644 OPTION's font-family is ignored when the parent SELECT has the same font-family
bug 1593366 Select popup shows up on keydown even when event is default prevented.
Layout: Generated Content, Lists, and Counters
bug 1588760 Move css-lists reftests into WPT
bug 1590426 Cleanup signatures in nsImageFrame / nsImageControlFrame.
Layout: Grid
bug 1593796 [css-grid] Wrong sizes for implicit tracks when multiple values are provided (grid-auto-columns/rows)
Layout: Images, Video, and HTML Frames
bug 1589955 Javascript image change cause stretching glitch before CSS is honored
Layout: Scrolling and Overflow
bug 1592474 Add some heuristics to disable scroll anchoring in pathological cases.
Layout: Tables
bug 1591219 Chrome and Firefox differ in visual ordering of certain table cells
Layout: Text and Fonts
bug 1534236 Intermittent /css/css-fonts/font-display/font-display-feature-policy-02.tentative.html | Testing http://web-platform.test:8000/css/css-fonts/font-display/font-display-feature-policy-02.tentative.html
bug 1554819 Crash in fontlist::Pointer::ToPtr
bug 1581822 Uneven weights and fonts displayed for Chinese pages on Firefox desktop
bug 1586218 Bad default font selection for Mongolian script on macOS
bug 1587385 downloadable font: download timed out
bug 1588407 The Arial Black font is displayed incorrectly for two minutes when the platform font list is reinitialized
bug 1588788 Variable font kerning: kerning deltas not applied when one uses font-weight, as opposed to font-variation-settings
bug 1588993 Crash in [@ mozilla::ipc::MessageChannel::Send | mozilla::dom::PContentChild::SendInitOtherFamilyNames]
bug 1590167 Replace libhyphen with a new implementation for better performance and smaller memory footprint
bug 1592762 "font-weight: 1000;" is in the CSS Spec, but font weights above 900 fail in Firefox
bug 1593414 Wrong font in Twitter on Nightly 2019-10-31
bug 1594843 Clamp the maximum padding between decoration line segments and glyphs when applying text-decoration-skip-ink
bug 1595645 word-break:break-all does not apply to some characters that should be affected (e.g, U+3D EQUALS SIGN)
bug 1596875 Add a CJK font order preference
Printing: Output
bug 471015 Fieldsets are truncated to one page when printed / print-previewed
Printing: Setup
bug 1593793 Move and rename nsPrintData::mBrandName to nsPrintJob::mFallbackDocTitle
SVG
bug 371787 Support the 'letter-spacing' and 'word-spacing' properties in SVG
bug 1503470 Intermittent svg/smil/transform/paced-1.svg == svg/smil/transform/paced-1-ref.svg | image comparison, max difference: 3, number of differing pixels: 50
bug 1592998 Intermittent svg/smil/transform/paced-1.svg == svg/smil/transform/paced-1-ref.svg | image comparison, max difference: 5, number of differing pixels: 101