Platform/Layout/ReleaseNotes/65

From MozillaWiki
Jump to: navigation, search

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