From MozillaWiki
Jump to: navigation, search

Firefox 66 Platform Layout Release Notes

Noteworthy Changes


  • 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)


  • 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/

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/ 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/

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 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.


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

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

Layout: Tables

bug 1521066 shows solid border

Layout: Text and Fonts

bug 1064172 ligatures/shaping should break for inline margin/border/padding and vertical-align

bug 1499124 Perma [tier 2 ccov] http://localhost:49890/1539262358382/160/font-face/font-display-1.html == http://localhost:49890/1539262358382/160/font-face/font-display-1-ref.html | image comparison, max difference: 255, number of differing pixels: 5633

bug 1515240 gfxFontGroup::WhichSystemFontSupportsChar reads too many cmaps on Android when loading

bug 1517937 JhengHei improperly assigned as zh-tw default font, ignoring user settings and default behavior

bug 1518401 caret should not move into even more ligated Emoji sequences


bug 695385 Create mochitest for attempting to load external resources cross-origin

bug 1513387 Add braces & newlines to cases where clang-format unwrapped a return statement to same line as its logic, in layout/svg.

bug 1514570 Only graphics elements should support tabindex

bug 1515187 Rename nsSVGElement to SVGElement and put it in the mozilla:dom namespace

bug 1515341 Move nsSVGFELightingElement into the mozilla::dom namespace

bug 1515607 Move nsSVGFE into the mozilla::dom namespace

bug 1515705 rename NS_IMPL_NS_NEW_NAMESPACED_SVG_ELEMENT as all SVG elements are now namespaced

bug 1515800 rename some more GetCurrentTime() methods to avoid winbase.h bustage

bug 1515935 Add newlines to the end of nsSVGSymbolFrame files

bug 1515936 Move nsSVGStringInfo into the mozilla:dom namespace

bug 1515962 Move nsSVGPathDataParser and its base class into the mozilla namespace

bug 1516025 Preemptively fix all non-unified-build bustage in dom/svg

bug 1516076 Having classes called SVGAnimatedTransformList and nsSVGAnimatedTransformList is confusing

bug 1516175 Move nsSMILFloatType into the mozilla namespace

bug 1516194 Move nsSMILNullType into the mozilla namespace

bug 1516411 Move nsSMILAnimationController into the mozilla namespace

bug 1516521 Move nsSMILCSSValueType into the mozilla namespace

bug 1516551 Having classes called SVGTransform and nsSVGTransform is confusing

bug 1516576 Make each .cpp file in dom/svg include its own .h file first

bug 1516592 Move nsISMILType to the mozilla namespace and rename it as SMILType

bug 1516727 Having classes called SVGAngle and nsSVGAngle is confusing

bug 1516788 Move SMILAnimationFunctions to the mozilla namespace

bug 1516921 Export things in the mozilla namespace properly

bug 1516947 Get rid of nsSVGFeatures class

bug 1516980 Move nsSMILCompositor and nsSMILTimedElement to the mozilla namespace

bug 1517108 Move SMILTimeContainer and some helper classes to the mozilla namespace

bug 1517127 Move nsSVGClass to the mozilla::dom namespace

bug 1517185 Move nsSVGEnum to the mozilla namespace

bug 1517458 SVG rendering issue with transform and clip-paths

bug 1517715 Move nsSMILCSSProperty, nsSMILKeySpline and nsSMILParserUtils to the mozilla namespace

bug 1517938 Move nsSVGIntegerPair and nsSVGNumberPair to the mozilla namespace

bug 1518000 Move nsSVGString and nsSVGViewBox to the mozilla namespace

bug 1518033 Move nsSVGBoolean and nsSVGInteger to the mozilla namespace

bug 1518646 Export things in the mozilla namespace properly

bug 1519144 viewBox attribute on <svg> element can cause clickable area of <text> elements to be way bigger than it should be

bug 1519253 Move nsSMILInterval and nsSMILRepeatCount to the mozilla namespace

bug 1519427 SVG Path element duplication on mouse move when it has a ClipPath

bug 1520294 Optimize nsFilterInstance allocation

bug 1521575 Move nsSMILTimeValue classes and nsSMILInstanceTime to the mozilla namespace

bug 1521946 Move nsSMILTypes and nsSMILValue to the mozilla namespace

bug 1522159 Move nsSVGAttrTearOffTable to the mozilla namespace

bug 1522208 Some files in dom/svg have a nsCOMPtr include but no usages, or vice versa

bug 1522650 Complete migration of SMIL to the mozilla namespace

bug 1522711 Minor include ordering cleanup in some dom/SVG files

bug 1522744 Use DebugOnly where appropriate

bug 1522749 Fix SMIL include guards

bug 1523069 Move nsSVGMark to the mozilla namespace