Platform/Layout/ReleaseNotes/65
Contents
- 1 Firefox 65 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: Floats
- 1.2.9 Layout: Form Controls
- 1.2.10 Layout: Generated Content, Lists, and Counters
- 1.2.11 Layout: Images, Video, and HTML Frames
- 1.2.12 Layout: Positioned
- 1.2.13 Layout: Scrolling and Overflow
- 1.2.14 Layout: Tables
- 1.2.15 Layout: Text and Fonts
- 1.2.16 SVG
Firefox 65 Platform Layout Release Notes
Noteworthy Changes
Features
- Added support for CSS environment variables (env()) (bug 1462233)
- Implement steps(jump-*) timing functions for animations (bug 1496619)
Webcompat
- Fix viewport initial/minimum scale (bug 1423709)
- Attach position:fixed elements to the viewport (bug 656036)
All Bugs Fixed
CSS Parsing and Computation
bug 775618 Alias page-break-* to break-*
bug 1426493 Optimize QuerySelector / GetElementById inside shadow trees.
bug 1430969 Some border-image properties need to be ignored when overriding colors
bug 1433439 Internal pseudo-elements are visible from getComputedStyle.
bug 1460439 Convert NS_STYLE_BORDER_STYLE_* to enum class
bug 1462233 [META] Consider implementing CSS Environment Variables Module Level 1 ( env() )
bug 1464791 individual scale addition animation looks fishy
bug 1473184 Remove serialize_basicshape_position.
bug 1492958 [css-ui] Unship -moz/webkit-user-select values not supported by other UAs / spec
bug 1496617 Unprefix `image-rendering: crisp-edges`
bug 1497389 Slow spacebar/page up/page down scroll on Uniqlo site
bug 1498216 Have custom scrollbars blend with underlying natively for macOS
bug 1499170 Panorama appliance is exceedingly slow in Firefox (selector-matching in quirks-mode document)
bug 1500439 Convert NS_STYLE_ANIMATION_PLAY_STATE defined constants to enum values
bug 1500849 Update bindgen.
bug 1500885 mTextAlignTrue / mTextAlignLastTrue are write-only.
bug 1500892 Use searchfox links instead of dxr links for nsRuleNode.
bug 1501116 Map cbindgen-generated types to their original rust types in rust-bindgen
bug 1501117 Serialize TimingFunction with Servo
bug 1501418 Have scrollbar-color: auto resolve to auto rather than two colors
bug 1501483 Add -webkit-appearance:meter and make that the default for <meter> for compatibility with other UAs
bug 1501503 Send a console warning when masks are blocked due to CORS.
bug 1501506 Add -webkit-appearance:progress-bar and make that the default for <progress> for compatibility with other UAs
bug 1502185 grid line name cannot be auto
bug 1502609 Assert we don't mess up anonymous box restyling.
bug 1502617 CSS ::slotted(*) selector does not recognize psuedo-elements
bug 1502679 warning: unreachable pattern for animation-play_state
bug 1502751 Eliminate duplicate set of longhand properties to ignore when overriding author styles
bug 1502754 Sync servo stuff.
bug 1502893 thread '<unnamed>' panicked at 'assertion failed: `(left == right)` left: `9`, right: `6`', servo/components/style/sharing/checks.rs:125:5
bug 1503401 Update cbindgen again.
bug 1503738 WITH_COMPARATOR macro could be slightly simpler
bug 1504034 reduce string allocations/copying for the quotes property
bug 1504536 Shrink animated_properties.mako.rs
bug 1504618 Remove a bunch of unused style consts.
bug 1505064 Add mozilla::Pair to ServoBindings.toml
bug 1505156 Percentage values of translate are serialized as percent for computed values
bug 1505159 Make some media features code nicer using [infallible]
bug 1505213 Allow ::placeholder on ::slotted.
bug 1505223 Add mozilla::Tuple to ServoBindings.toml
bug 1505565 Split up push_applicable_declarations.
bug 1505618 Sync servo stuff.
bug 1505645 Minor cleanups.
bug 1505816 Cleanup text-align stuff.
bug 1506391 Sync servo stuff.
bug 1506547 Align user-select behavior more with other UAs
bug 1506687 Flex devtools API should return flex item untransformed position and size in addition to other values
bug 1506760 store CSS Variable references as a boxed slice rather than a PrecomputedHashSet
bug 1507050 store MediaFeatureDescription references as an index into the MEDIA_FEATURES array
bug 1507127 Move page-break-before / page-break-after outside of mako.
bug 1507305 Give Servo the ability to serialize computed shorthands
bug 1507309 Simplify background-repeat.
bug 1507311 Simplify specified mask shorthand serialization when possible.
bug 1507498 unused import: `crate::gecko_bindings::structs`
bug 1508013 run rustfmt on servo/ports/geckolib/
bug 1508018 Make the <textarea> rule in layout/style/res/forms.css a little clearer in intent
bug 1508026 Sync servo stuff.
bug 1509664 Change Text Rendering constants to enum classes in nsStyleConsts.h
bug 1509717 Cleanup border-style / outline-style.
bug 1509718 Get rid of mBorderWidthTable.
bug 1509945 Remove the display: -moz-box overrides -webkit-box hack.
bug 1509989 Hit MOZ_CRASH(NAC should not be a shadow host) at servo/components/style/rule_collector.rs:263
bug 1510862 Limit the complexity of custom property substitution.
bug 1511138 crash near null in [@ collect_normal_rules_from_containing_shadow_tree]
bug 1511276 add a macro include file listing the user agent style sheets
bug 1511324 Perma [tier 2] TEST-UNEXPECTED-PASS | /css/css-shapes/shape-outside/values/shape-margin-001.html | 10vw - computed - expected FAIL
bug 1511565 Perma [tier 2 Android 7.0] TEST-UNEXPECTED-PASS | /css/css-shapes/shape-outside/values/shape-outside-ellipse-005.html | test unit: vw - ellipse(25vw farthest-side) - computed - expected FAIL
bug 1511718 SheetParsingMode::eSafeAgentSheetFeatures is no longer needed
bug 1511725 Update string_cache_codegen
bug 1511811 Sync servo stuff.
bug 1512328 Port a few more properties to cbindgen.
CSS Transitions and Animations
bug 1500107 Individual transform tests are failing.
bug 1500820 Interpolation of rotate(0deg) and rotateX(360deg) fails
bug 1501176 rotate[XYZ]?(0deg) should interpolate with rotate[XYZ]?(__deg)
bug 1504327 Support |rotate: {x|y|z} <angle>| for individual transform
bug 1505200 The getComputedStyle() should return none If both from value and to value are 'none' for rotate
bug 1508843 Small cleanup the code sending animations to the compositor for WebRender
DOM: CSS Object Model
bug 1497076 Assertion failure: aMin <= aMax, at FontPropertyTypes.h:426
bug 1501261 serialization of border-image-repeat and background-size doesn't match other browsers
Layout
bug 893331 <input type=range> — "Assertion failure: value == minimum (Unsanitized value)"
bug 916972 NS_FRAME_SPLITTABLE_NON_RECTANGULAR is unused (which means GetSplittableType could be consolidated into IsFrameOfType?)
bug 1298381 Implement Time to First Contentful Paint (TTFCP) for Telemetry/Profiler
bug 1374790 Intermittent layout/generic/test/test_bug784410.html | Test timed out.
bug 1423709 Make the choice of initial / minimum scale same with Chrome?
bug 1424134 Implement ComputeSquaredDistance trait for Rotate/Translate/Scale properties
bug 1458365 layout/style/test/test_dont_use_document_colors.html fails on Windows ASan builds
bug 1470873 Remove support for "components.css"
bug 1481593 With `-moz-appearance: none`, Firefox doesn't get rid of the <input type=range> track like Chrome does
bug 1499961 RestyleManager's RecomputePosition may not move reflow roots
bug 1499996 Intermittent layout/base/tests/test_expanding_selection_per_page.html | Expanding selection to forward in non-scrollable editable div in the body: selection should be expanded into the last line (got: text node in span#s6) - got [object
bug 1501106 Some cleanups for viewport handling
bug 1502510 background-image blue-32x32.png not fetched in 4 calc() on background tests
bug 1503228 Move PaintWorkletGlobalScope from dom/worklet to layout/style
bug 1504033 Assertion failure: frame == ancestor, at src/layout/generic/nsFrame.cpp:2640
bug 1504065 Run background-color animations on the compositor for non-WebRender
bug 1504078 Use references in the shapes code.
bug 1505420 Assertion failure: parent->HasFirstLetterChild(), at /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp:10669
bug 1505786 Implement overflow-wrap: anywhere.
bug 1506580 Remove useless pointer-chase + function call in nsPresContext::AppUnitsPerDevPixel.
bug 1506860 Intermittent transform-3d/animate-preserve3d-parent.html == transform-3d/animate-preserve3d-ref.html | load failed: timed out waiting for reftest-wait to be removed
bug 1507313 Use UniquePtr for some members in PresShell
bug 1507663 contain-size-multicol-003.html needs an update to stop testing baseline (and related cleanup in other "contain" baseline-related tests)
bug 1509044 FrameLoader.clipSubdocument is unused.
bug 1509196 Minor nsCSSFrameConstructor cleanup
bug 1509903 Avoid virtual call to nsTextFrame::IsFrameSelected()
bug 1509955 Preemptively fix unified bustage in layout/base
bug 1509972 Reduce nsAutoPtr usage in layout/base
bug 1510080 Assertion failure: !aPrevFrame || (!aPrevFrame->GetNextContinuation() || (((aPrevFrame->GetNextContinuation()->GetStateBits() ... (aPrevFrame must be the last continuation in its chain!), at src/layout/base/nsFrameManager.cpp:88
bug 1510116 Fix some unified build issues in layout code
bug 1511536 Restore the comment in nsCSSFrameConstructor::ConstructBlock()
bug 1511730 put nsBulletFrame-specific state bits in the correct group
bug 1511842 remove unused nsLayoutStaticRefs
bug 1511854 small formatting fixes in layout/ after clang-format
bug 1511963 contain-layout-suppress-baseline-002.html points to the wrong reference
bug 1512054 Add missing #includes for "***Inlines.h" headers, in several layout subdirectories
bug 1512112 Remove redundant #includes in layout
bug 1512716 re-indent NS_QUERYFRAME macros after clang-format
Layout: Block and Inline
bug 1453298 percentage text-indent should be relative to the containing block of the text, not the containing block of the block
bug 1501109 Simplify flexbox devtools growthState API to just report "growing" or "shrinking" for each line (never "unchanged")
Layout: Columns
bug 1421105 Implement column-span for block and inline frames
bug 1497990 Block end margin of the last child in a column container sometimes gets carry out
bug 1501145 Assign default values to fields in nsColumnSet::ReflowConfig and nsColumnSet::ColumnBalanceData
bug 1506204 crash near null in [@ nsCSSFrameConstructor::MaybeRecreateContainerForFrameRemoval]
bug 1506216 Assertion failure: anonKids.IsEmpty() (We support only column-span on block and inline frame. They should not create any native anonymous children.), at src/layout/generic/ColumnSetWrapperFrame.cpp:154
Layout: Flexbox
bug 1488762 Assertion failure: totalDesiredPortionOfOrigFreeSpace == 0 || ((totalDesiredPortionOfOrigFreeSpace > 0) == (availableFreeSpace > 0)) (When we reduce available free space for flex factors < 1,we shouldn't change the sign of the free space...), at /builds/w
bug 1498273 Extend flexbox devtools API to return an indication of whether flex items were clamped
bug 1504361 Add logging to warn when flex items need to be reflowed multiple times
bug 1505569 Use AutoCleanLinkedList in flexbox code (rather than custom AutoFlexLineListClearer class)
Layout: Floats
bug 1504387 Remove preference "layout.css.shape-outside.enabled"
Layout: Form Controls
bug 1317870 [css-grid][css-flexbox][css-align] <input type="range"> grid items doesn't stretch properly
bug 1450219 Datetimebox may lose focus when the value changes.
bug 1494255 Date input: disabled CSS: Only the slashes show in the correct style
bug 1499184 <select size=1> inline-size is too narrow when it renders a display:none <option>
bug 1507152 fuzz transforms-1.html to support new windows 10 AMI images
bug 1507905 Add -webkit-appearance:textarea and make that the default for <textarea> for compatibility with other UAs
bug 1509057 Disable support for grouping separators in <input type=number> user input
Layout: Generated Content, Lists, and Counters
bug 1491915 Fix the rendering of bullet list after enabling "layout.css.column-span.enabled"
Layout: Images, Video, and HTML Frames
bug 1196668 height of IMG tag without src attribute set is 0 in Chrome, vs. line-height in Firefox (standards mode <img alt="..."> behavior)
bug 1512524 IsImageFrame checks in tree are incorrect
Layout: Positioned
bug 1505254 FrameNeedsReflow() shouldn't invalidate ancestors' ISizes up further than an abspos ancestor
Layout: Scrolling and Overflow
bug 1508789 "pointer-events:none" disables mousewheel / touchpad / touchscreen scrolling (only in Firefox)
Layout: Tables
bug 1485179 Fix -Wbitfield-enum-conversion warnings where BCBorderInfo bit-field 'ownerElem' is not wide enough to store all enumerators of 'BCBorderOwner'
Layout: Text and Fonts
bug 1458364 gfx/tests/mochitest/test_font_whitelist.html fails on Windows ASan builds
bug 1497563 Crash in gfxFontGroup::AddFamilyToFontList
bug 1503928 FontFamilyList::Contains does some slow string comparisons
bug 1506084 Mark font loads with ClassOfService |= TailForbidden
bug 1506895 Assertion failure: !nsLayoutUtils::GetAsBlock(aFrame) || !aFrame->IsBlockOutside() (unexpected block frame), at /builds/worker/workspace/build/src/layout/generic/TextOverflow.cpp:78
bug 1507506 Use a more compact representation for the list of bad-underline font families
bug 1509167 Reduce time spent in nsLayoutUtils::GetFontMetricsForComputedStyle
SVG
bug 1452527 Intermittent svg/outline.html == svg/outline-ref.html | image comparison, max difference: 16, number of differing pixels: 2
bug 1501057 Old w3c clip-path testcase is now broken (we fail to ignore "visibility:hidden" content inside SVG clipPath element)
bug 1502250 PutForwards typo in SVG.idl
bug 1504918 null pointer derefernce in mozilla::TextNodeCorrespondenceRecorder::TraverseAndRecord(class nsIFrame *)
bug 1505498 Rename IDTracker::Reset to something more descriptive
bug 1507961 ASan: null pointer dereference in mozilla::DOMSVGLength::SetValueInSpecifiedUnits
bug 1508358 Avoid clang-format messing up Doxygen comments
bug 1510295 Stop SVGRenderingObserver subclasses observing reflow, except for -moz-element