Platform/Layout/ReleaseNotes/66
Contents
- 1 Firefox 66 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: Flexbox
- 1.2.8 Layout: Form Controls
- 1.2.9 Layout: Grid
- 1.2.10 Layout: Scrolling and Overflow
- 1.2.11 Layout: Tables
- 1.2.12 Layout: Text and Fonts
- 1.2.13 SVG
Firefox 66 Platform Layout Release Notes
Noteworthy Changes
Features
- Unprefix and fix intrinsic sizing keywords (min-content/max-content) (bug 1312587)
- Implement scroll anchoring (bug 1305957)
- Support animations for grid-template-columns/rows (bug 1348519)
- Implement the padding-block/inline shorthands (bug 1519847)
- Implement the margin-block/inline shorthands (bug 1519944)
Webcompat
- Viewport: Content that overflows the ICB on an overflow:hidden page is "out of reach" (bug 1423013)
All Bugs Fixed
CSS Parsing and Computation
bug 957915 Support calc() with percentages for table cell and column widths
bug 1422235 Implement overflow media queries
bug 1430623 Make the lang font prefs stuff work without a pres context.
bug 1433039 Rename ImageLoader::DoRedraw()
bug 1484915 don't clear out ServoStyleConsts.h on cbindgen failure
bug 1500362 represent static atoms in style system code using an index into the static atom table, rather than a pointer
bug 1501492 Pref on CSS Containment for use in frontend (separately from content)
bug 1502346 Slotted rules don't show up in the inspector.
bug 1511915 Perma Fail Tier 2 Android /css/css-shapes/shape-outside/values/shape-margin-001.html | XXXX - computed - assert_equals: expected "XXXpx" but got "XXXpx"
bug 1512386 Case-sensitive attribute selectors (from Selectors level 4)
bug 1512597 SVG fill: currentColor is incorrect if parent is an a:visited element
bug 1513012 Move the overflow property to cbindgen.
bug 1513058 Deduplicate some malloc_size_of code.
bug 1514029 Fix serialization of explicitly case-sensitive attr selectors with a namespace
bug 1514086 Hit MOZ_CRASH(Resolving style on unstyled element) at libcore/option.rs:1000
bug 1514309 "unsafe" css-align keyword should be preserved in specified style
bug 1514439 Sync servo stuff.
bug 1514449 Use NonNegative more in border code.
bug 1515533 bump smallvec and smallbitvec
bug 1515707 Fix formatting of nsDOMCSSAttrDeclaration.
bug 1516211 use macros to declare StyleSheet members on nsLayoutStylesheetCache
bug 1516212 rename macro to avoid conflicts from Chromium IPC code
bug 1516221 convert NS_STYLE_COLOR_ADJUST to an enum class in nsStyleConsts.h
bug 1516365 Make bindgen emit repr(align) annotations.
bug 1516829 Warnings under servo/ break build with Rust Nightly and --enable-warnings-as-errors
bug 1517033 Add crashtest for: AddressSanitizer: SEGV /builds/worker/workspace/build/src/third_party/rust/atomic_refcell/src/lib.rs:198:8 in atomic_refcell::AtomicBorrowRefMut::new::h25e52f0a9daa9686
bug 1517511 Simplify storage of computed::LengthOrPercentage and friends.
bug 1517682 Drop preferences for CSS properties that have been enabled by default since 2016
bug 1518045 Sync servo stuff.
bug 1518098 Rename LengthOrPercentage.
bug 1518954 Hit MOZ_CRASH(assertion failed: self.percentage.is_none() || self.unclamped_length() == Length::zero()) at servo/components/style/gecko/values.rs:154
bug 1518992 unnecessary mem::transmute in MediaListKey
bug 1519001 rename some style sheet accessors on nsLayoutStylesheetCache to indicate they can return null
bug 1519006 stop null checking infallible style sheet accessors in nsDocumentViewer::CreateStyleSet
bug 1519011 make counterstyles.css sharable
bug 1519269 Cherry-pick servo/servo#22656
bug 1519296 clean up style set sheet management a little
bug 1519629 Stylo fails with --enable-warnings-as-errors using Rust 1.33
bug 1519729 Sync servo stuff.
bug 1519737 move pluginProblemBinding.css to the UA style sheet cache
bug 1519847 [css-logical] Implement the padding-block/inline shorthands
bug 1519912 Add back whitelisting for /css/css-fonts/font-display/ WPTs
bug 1519918 Frequent leaks in /css/css-fonts/font-display/ WPTs
bug 1519944 [css-logical] Implement the margin-block/inline shorthands
bug 1520064 Update whitelist for /css/css-fonts/font-display/ and /fetch/api/request/ WPTs
bug 1520138 Table CSS borders have changed
bug 1520154 Move CursorKind to cbindgen.
bug 1520229 [css-logical] Implement the inset/inset-block/inline shorthands
bug 1520236 [css-logical] Implement the border-{block,inline}-{color,style,width} shorthands
bug 1520396 [css-logical] Implement the border-block/border-inline shorthands
bug 1520684 [css-logical] Implement the flow-relative border-radius properties
bug 1520815 Make RunCbindgen.py generate less noise on failure.
bug 1520989 Represent the Option<Percentage> from LengthPercentage as something Gecko can understand.
bug 1521137 nsPresContext::mBaseMinFontSize and co are dead code.
bug 1521392 Sync servo stuff.
bug 1521399 Remove layout.css.overflow.moz-scrollbars.enabled
bug 1521405 Remove code duplication from a few shorthand properties.
bug 1521652 run rustfmt on servo/ports/geckolib/
bug 1521863 Make style structs constructible with a document.
bug 1523142 Simplify some conversion code used for mapped attributes.
CSS Transitions and Animations
bug 1348519 [css-grid] Implement animation for grid-template-columns/rows
bug 1513750 Need BUG_COMPONENTS for css-transtions/ and css-animations/ in testing/web-platform.
bug 1519838 Background-position fails to animate under special circumstances
DOM: CSS Object Model
bug 1513658 Implement DocumentOrShadowRoot.node(s)FromPoint.
bug 1513749 Deduplicate element(s)FromPoint and nodesFromRect.
bug 1514074 Make the offset* APIs retarget the result, and compute offsets relative to that result.
Layout
bug 256180 Deeply nested elements are not rendered (TAGLVL has been exceeded)
bug 1159042 treat frames with fixed width and height as reflow roots
bug 1194856 Startup crash in ErrorLoadingBuiltinSheet
bug 1305957 Page scroll position is not consistent while content is loading (implement "scroll anchoring")
bug 1322780 Unprefix min-content and max-content keywords
bug 1423013 Content that overflows the ICB on an overflow:hidden page is "out of reach"
bug 1445794 Ensure AccessibleEventCaret's scroll and reflow callbacks don't flush
bug 1497414 Make contain:layout+size frames reflow roots
bug 1510369 Add a pref to control dynamic reflow roots
bug 1510848 crash near null in [@ nsCSSFrameConstructor::CreateGeneratedContentItem]
bug 1512754 Non-webrender regression in Nightly (for vuetify library)
bug 1513015 The inherit-scroll-behavior class introduced in bug 1320200 doesn't seem useful
bug 1513082 make the layout debugger window bigger
bug 1513393 Simplify/optimize some frame property usage
bug 1513758 Fix HasOverflowRects in comments in nsIFrame.h
bug 1514338 Remove unneeded special-case inside nsHTMLButtonControlFrame display list building.
bug 1514511 Crash in FlushPendingNotifications from nsTextInputSelectionImpl::ScrollSelectionIntoView
bug 1514962 Use nsIFrame::GetPaddingRectRelativeToSelf instead of `GetPaddingRect() - GetPosition()`
bug 1515192 Replace handcrafted FrameChildListIDs class with EnumSet.
bug 1515556 Clang format breaks comments part 3
bug 1515740 The code added in bug 1492288 probably does not want to clobber the other flags.
bug 1515946 Let scroll anchoring ride the trains for all platforms but Fennec
bug 1516368 Some independent cleanups for bug 1423013
bug 1516410 Fix some display: contents code in ContentRemoved.
bug 1517067 Remove "table-caption" special case from dynamic reflow root
bug 1517069 Make GetMultiColumnContainingBlockFor() return nsContainerFrame*
bug 1517521 border-image-width doesn't handle calc() correclty.
bug 1518339 user-select: none prevents selection in editable stuff in Gecko, but not in WebKit / Blink.
bug 1518953 Remove non-ASCII characters from comments in nsLayoutUtils.cpp
bug 1518965 nsPresContext::mLastResizeEventVisibleArea is unused and should be removed
bug 1519371 Reframe after adding `will-change: transform;` breaks scroll event handler
bug 1519468 Crash in mozilla::layout::ScrollAnchorContainer::ExamineAnchorCandidate
bug 1519745 out of date comment in nsStyleSheetService::Init
bug 1519798 Hitting Enter key on scrollable show_bug page with new comments jumps to bottom and back to top, should stay at bottom
bug 1520081 Use the minimum scale size even if the minimum-scale in viewport meta tag is greater than 1
bug 1520095 Can not scroll sql schema in sql.telemetry.mozilla.org
bug 1520124 Scroll Anchoring issue on Mastodon
bug 1520798 Crash in mozilla::layout::ScrollAnchorContainer::InvalidateAnchor
bug 1521982 Adjust callers of nsIFrame::List() in nsBidiPresUtils to stop passing 0 as a const char* argument
bug 1522857 Firefox breaks right-aligned text after the space when font size is very large
Layout: Block and Inline
bug 886716 Stacking order is too high for text-overflow:ellipsis (it jumps to the foreground, as if it had z-index set)
Layout: Columns
bug 1503420 Column-span is not working if the multi-column container is <body> element
bug 1506306 Assertion failure: !mOwner->IsColumnSpanInMulticolSubtree(), at src/layout/base/RestyleManager.cpp:2012
bug 1506314 Assertion failure: false (MOZ_ASSERT_UNREACHABLE: Unsupported operation!), at src/layout/generic/ColumnSetWrapperFrame.cpp:118
bug 1507196 Assertion failure: columnSet && columnSet->IsColumnSetFrame() (The first child should always be ColumnSet!), at /builds/worker/workspace/build/src/layout/generic/ColumnSetWrapperFrame.cpp:73
bug 1507244 Assertion failure: false (MOZ_ASSERT_UNREACHABLE: How did this produce an nsTableRowGroupFrame?), at /builds/worker/workspace/build/src/layout/tables/nsTableFrame.cpp:3073
bug 1508762 Support column-span for columns on <details> element
bug 1511535 Assertion failure: current (No ColumnSetWrapperFrame in a valid column hierarchy?), at src/layout/base/nsCSSFrameConstructor.cpp:544
bug 1515991 Shrink columns width in tests to fit the reftest window on wpt upstream
bug 1517297 Assertion failure: mOwner == ExpectedOwnerForChild(aFrame) (Missed some frame in the hierarchy?), at /builds/worker/workspace/build/src/layout/base/RestyleManager.cpp:2017
Layout: Flexbox
bug 1520946 Investigate why the WPT copy of flexbox-justify-content-horiz-001b.xhtml is failing on most platforms
Layout: Form Controls
bug 947690 Permaorange: test_bug571352.html fails to select options on 10.10
bug 1511387 UAWidget variant of datetime needs similar click handling as XBL version
bug 1513959 zoom slider stretches further to the right (= wider) than background in Slack's image view
bug 1514040 AngularJS date input not showing initial value inside directives in Firefox
bug 1521212 date and time inputs with value and styled visibility:hidden still show (x) to clear
bug 1521884 <input type="time"> keyboard input broken
Layout: Grid
bug 1514658 Fix a few baseline alignment tests that makes bogus assumptions about line-height metrics
Layout: Scrolling and Overflow
bug 1512267 Remove nsIDOMWindowUtils.setResolution() and nsIPresShell::SetResolution()
bug 1513089 Extend HIDDEN_VIEWPORT_OVERFLOW_TYPE telemetry probe
bug 1514679 Minor cleanups in nsGfxScrollFrame
bug 1518624 Add telemetry for amount of adjustments performed by scroll anchoring
bug 1518626 Add more tests for scroll anchoring
bug 1518631 Dynamic changes to overflow-anchor should invalidate the scroll anchor
bug 1518633 Consider adding a profiler label for anchor node selection
bug 1518640 Perform anchor selection using the visual viewport
bug 1520344 Store last scroll anchor position in writing-mode relative coordinates
bug 1520708 Intermittent TEST-UNEXPECTED-PASS | /css/css-writing-modes/available-size-006.html | Testing http://web-platform.test:8000/css/css-writing-modes/available-size-006.html ==
bug 1521278 Toggling scroll anchoring pref can crash