Platform/Layout/ReleaseNotes/62

From MozillaWiki
Jump to: navigation, search

Firefox 62 Platform Layout Release Notes

Noteworthy Changes

All Bugs Fixed

Note: Does not include some minor automated fixes, such as web platform test syncs.

CSS Parsing and Computation

bug 509958 Remove the -moz prefix from ::selection

bug 1032034 u+foo is not parsed as a valid selector due to the "u+f" being treated as a unicode-range-token

bug 1288572 Hide -moz-prefixed display values from web content

bug 1296209 Support calc() in CSS properties that take <integer> values

bug 1323735 CSS calc() accumulates rounding error that makes lengths to small, and thus makes (100% - Npx) / 8 too big

bug 1396450 Identifier in feature value definition of @font-feature-values should be case-sensitive

bug 1408301 unship CSSStyleDeclaration::getPropertyCSSValue

bug 1410578 ensure <link rel=stylesheet> works in shadow trees

bug 1418874 Drop nsCSSScanner and CSSLexer

bug 1419695 Make internal -moz-window-opacity and -moz-window-transform transitionable even when the properties are hidden from content pages.

bug 1423895 Crash in core::option::expect_failed | style::stylist::Stylist::insert_stylesheet_before

bug 1442195 Crash in mozalloc_abort | abort | style::gecko_bindings::structs::root::mozilla::GeckoFont::clone_font_family

bug 1447009 Stylesheets in shadow DOM with title attribute shouldn't affect the preferred stylesheet of the document.

bug 1449243 thread '<unnamed>' panicked at 'assertion failed: !author_styles.stylesheets.dirty()', servo/components/style/gecko/wrapper.rs:174:9

bug 1451289 Rename / merge all CSS rule classes into their corresponding dom::CSS*Rule

bug 1454835 Intermittent /css/css-shapes/spec-examples/shape-outside-012.html | CSS Test: Shape from image - shape-image-threshold - 0.9 - uncaught exception: Error: assert_unreached: Giving up waiting for shape layout to happen! Reached unreachable code

bug 1457353 nsStyleSVGReset: Replace nsColor with StyleComplexColor

bug 1457373 Remove pref "layout.css.text-combine-upright-digits.enabled"

bug 1457810 Move CalcComplexColor to ComputedStyle

bug 1459111 Rename ServoCSSParsingEnvironment and related functions to ParsingEnvironment.

bug 1459363 Remove unused NS_COLOR_* macros

bug 1459367 Convert NS_STYLE_IMAGELAYER_ATTACHMENT_* to enum class

bug 1459498 Another round of CSS Loader cleanup.

bug 1459529 Audit callers to StyleSheet::GetAssociatedDocument

bug 1459844 Share more code and fix inconsistencies between HTMLStyleElement / SVGStyleElement.

bug 1459871 Remove other getPropertyCssValue-related interfaces.

bug 1460110 Remove some header dependencies to ServoStyleRuleMap.h

bug 1460192 Rename pointing struct to inherited_ui

bug 1460382 NODE_IS_NATIVE_ANONYMOUS looks redundant to me

bug 1460456 Add some scrollbar color properties

bug 1460655 Support 'x' as a resolution unit.

bug 1460682 nsSelectionStyle::mUnderlineStyle should be compared against NS_STYLE_TEXT_DECORATION_STYLE_NONE

bug 1461070 Specified transition duration and delay are ignored if both are 0s and a targeted property is specified multiple times in transition-property

bug 1461288 Distinguish between specified and computed URLs.

bug 1461296 Add some missing clone_* implementations, and remove some dubious code.

bug 1461858 Simplify code around building ComputedImageUrl

bug 1461933 Avoid massive dependency to ServoBindings.h

bug 1461940 Remove Get-prefix from some methods around nsStyleImageRequest which cannot return null

bug 1462618 The restyle root machinery could work a bit better.

bug 1462829 Cleanup vector types

bug 1463386 Simplify a bit of the image request related code.

bug 1463396 Remove dead nsStyleUtil::AppendSerializedFontSrc.

bug 1463511 Remove some cruft from forms.css

bug 1463589 Update valid property values for CSS "contain"

bug 1463687 Have viewport uses scrollbar color properties on root element

bug 1463917 Use widget code to render scrollcorner

bug 1463978 "unreachable pattern" warning for background-attachment

bug 1463993 Add rendering test for scrollbar color properties

bug 1464060 Misc. ComputedStyle cleanup.

bug 1464091 CSS Media Features not case-insensitive

bug 1464428 Optimize QuerySelector in shadow trees.

bug 1464496 Merge ServoDeclarationBlock and DeclarationBlock

bug 1464595 Cleanup some single transform functions that can't really error.

bug 1464615 Consider mismatched rotations matching transform operations.

bug 1464627 Fix the spec link to 3D rotation matrix

bug 1464647 Implement the smarter interpolation for transform list

bug 1464744 Add wpt test for bug 1463687

bug 1464834 Remove dead Servo code.

bug 1464959 Intermittent PROCESS-CRASH | automation.py | application crashed [@ PLDHashTable::Search(void const *)]

bug 1465066 Cleanup transform animation.

bug 1465107 Remove most of the remaining stylo mentions from tests and such.

bug 1465291 :host::after and :host::before don't work inside a shadow tree

bug 1465307 Extend StyleComplexColor to support other blends besides linear interpolation.

bug 1465572 Crash in geckoservo::glue::Servo_Element_GetPrimaryComputedValues

bug 1465628 Looks like we need to update devtools css db

bug 1466008 pref'ing off properties doesn't pref off their will-change support

bug 1466095 Make PropertyId::parse less of a footgun.

bug 1466136 Do not look at the rule type when parsing property ids from values.

bug 1466406 Crash in _$LT$style..invalidation..element..invalidator..TreeStyleInvalidator$LT$$u27$a$C$$u20$$u27$b$C$$u20$E$C$$u20$P$GT$$GT$::invalidate_descendants::h8da25118e80fb8ee

bug 1466609 Followups to various recent bugs.

bug 1466645 PropertyId::name & users could be nicer.

bug 1466647 Inline more stuff in SmallBitVec.

bug 1466656 Gecko_CreateCSSErrorReporter should not allocate.

bug 1466789 Bump cssparser.

bug 1466963 DeclarationBlock should provide some sort of before-mutation callback to C++

bug 1467379 nsStyleGradientStop: Replace nsColor with StyleComplexColor

bug 1467536 Add infrastructure to serialize properties with Servo.

bug 1467722 Don't return null from getComputedStyle when there's no presentation.

bug 1468127 <slot> UA rule should probably live in html.css

bug 1468133 EnsureNonSVGUserAgentStyleSheetsLoaded looks pretty bogus and slow for the IsBeingUsedAsImage() case.

bug 1468203 remove old references in manifests to windows 8 since we don't run tests on there anymore

bug 1468266 Sync some servo changes.

bug 1468269 Derive Animate for ComplexColorRatios.

bug 1468640 thread '<unnamed>' panicked at 'assertion failed: author_styles.quirks_mode == self.as_node().owner_doc().quirks_mode() || author_styles.stylesheets.is_empty()', servo/components/style/gecko/wrapper.rs:183:9

bug 1468651 Generate different files for different style structs.

bug 1468665 Need to be able to read the old style attribute value when DeclarationBlock callback is called

bug 1468846 Cleanup a bit the media queries code.

bug 1468854 Don't expose -moz-is-resource-document to content sheets.

bug 1469076 thread '<unnamed>' panicked at 'Resolving style on unstyled element', /checkout/src/libcore/option.rs:891:5

bug 1469244 Remove stale servo/components/servo directory.

bug 1469957 Move the error reporter into ParserContext.

bug 1470087 Add some WPT tests for getComputedStyle in display: none subtrees.

bug 1470105 Fix a typo in stylesheet cloning.

bug 1470145 Better debugging for a couple things.

bug 1470150 noscript.css should only apply to HTML elements.

bug 1470358 Deduplicate sheet insertion logic between document and ShadowRoot

bug 1470420 More Loader cleanup.

DOM: CSS Object Model

bug 1186265 Remove DOMPoint{,ReadOnly}(DOMPointInit) constructor, implement DOMPoint{,ReadOnly}.fromPoint

bug 1460295 unresponsive visiting login page on eqbank.ca

bug 1464865 Namespace rules inserted via CSSOM are visible even if they're never inserted.

bug 1468780 Add profiler labels to querySelector / querySelectorAll.

bug 1470099 Make CSSStyleDeclaration's wrapper use nursery heap and make last Release call ClearComputedStyle();

Layout

bug 1165185 Invalidating transformed elements during scrolling

bug 1369395 Intermittent dom/base/test/test_intersectionobservers.html | does trigger if target does not intersect when observing begins [observe] - got +0, expected 1

bug 1414100 Assertion failure: cmp != 0 (same content, different frames) [@ nsGenConList::NodeAfter]

bug 1414303 crash near null in [@ nsContentUtils::ContentIsDescendantOf]

bug 1419802 Assertion failure: ObserverCount() == mEarlyRunners.Length() (observers, except pending selection scrolls, should have been unregistered), at /builds/worker/workspace/build/src/layout/base/nsRefreshDriver.cpp:1185

bug 1423017 Add telemetry to assess how widespread of a problem bug 1423013 ("overflowing content out of reach") is

bug 1455453 Coalesce calls to mFrame->StyleDisplay() in FloatInfo constructor

bug 1458902 [css-grid] Resolve percentage grid-row-gaps against the sum of row sizes (in auto block-size containers)

bug 1460158 Assertion failure: firstChild && firstChild->IsPrimaryFrame() (this is probably not the frame you were looking for), at src/layout/generic/DetailsFrame.cpp:145

bug 1460368 nsContentUtils::GetClosestNonNativeAnonymousAncestor seems to be dead code

bug 1461749 Crash [@ GetBoolFlag]

bug 1461946 Remove nsRefreshDriver::GetRefreshTimerInterval

bug 1461954 Fix nsBulletFrame's image request code.

bug 1461979 Assertion failure: aCBSize.BSize(cbwm) != nscoord((1 << 30) - 1) (containing block bsize must be constrained), at /builds/worker/workspace/build/src/layout/generic/ReflowInput.cpp:1596

bug 1462177 Build inactive layer tree dumping without MOZ_DUMP_PAINTING

bug 1462272 Minor nsImageFrame cleanup.

bug 1462854 [css-grid] Percentage size grid item with overflow != visible is reporting the wrong min-size contribution

bug 1463138 nsIFrame::GetPseudoElement is dead code.

bug 1463599 Make "contain:paint" trigger a stacking context

bug 1463605 nsIFrame::HasOpacityInternal() should check mMayHaveOpacityAnimation flag before calling EffectSet::GetEffectSet

bug 1464113 ImageShapeInfo with shape-margin can't handle shapes offset left or above their margin rects

bug 1464363 Remove IMAGE_GOTINITIALREFLOW

bug 1464882 [css-grid] Make AlignJustifyContent slightly more friendly to axis-independent code

bug 1464883 [css-grid] Remove a redundant ResolveGapToLength call

bug 1464947 display value logging in ReflowInput::DisplayInitFrameTypeExit is wrong

bug 1464967 fix some noisy reflow bitrot

bug 1465250 Make contain:paint trigger clipping independent of overflow

bug 1465273 Intermittent TEST-UNEXPECTED-PASS | bugs/456219-1a.html == bugs/456219-1-ref.html | image comparison, max difference: 56, number of differing pixels: 449

bug 1465290 [css-grid-2] Add a few frame bits to keep track of subgrid state

bug 1465502 Remove NS_FRAME_MAY_HAVE_GENERATED_CONTENT.

bug 1465936 Ignore contain:paint for cases determined in the spec

bug 1465983 Don't resolve FontFaceSet's ready promise in its constructor

bug 1465997 Don't replace FontFaceSet's ready Promise when it's pending

bug 1466004 Flush layout when script asks for document.fonts.ready

bug 1466251 Make sure we reject FontFace.loaded if font loading times out

bug 1466431 Fix resolving of the document.fonts.ready Promise for documents that never load fonts

bug 1466432 Make sure the document.fonts.ready Promise resolves even when there's no refresh driver

bug 1466448 remove ReflowOutput::mFlags

bug 1466643 Remove nsITreeContentView

bug 1466723 Fix race in dom/base/test/test_data_uri.html

bug 1467239 crash near null in [@ GridItemInfo]

bug 1467483 Assert that PresArena is only used on the main thread

bug 1467526 Add a few MOZ_DIAGNOSTIC_ASSERT in nsLineBox::DeleteLineList to enforce our invariants better

bug 1467964 Assertion failure: !mInStyleRefresh, at src/layout/base/RestyleManager.cpp:3113

bug 1468089 Add a few WritingMode convenience methods to simplify consumers that are parameterized on axis

bug 1468263 Make CSSAlignUtils use the accessors from bug 1468089

bug 1468268 Remove & simplify unnecessary CSS in contain:paint reftests

bug 1468582 Remove `using namespace` from headers in layout.

bug 1468590 Preemptively fix unified bustage in layout/base

bug 1468636 Intermittent AddressSanitizer: use-after-poison /builds/worker/workspace/build/src/layout/painting/nsDisplayList.h:2819:59 in GetDisplayItemData

bug 1468663 Preemptively fix unified bustage in layout/generic

bug 1469176 Have nsDocumentViewer::CreateStyleSet load the SVG UA style sheet up front

bug 1469360 remove unused NS_AllColorNames function

bug 1469738 minor cleanups

Layout: Block and Inline

bug 1463603 Changes to nsStyleSVGReset cause display: inline-block to become display:block

Layout: Floats

bug 1454694 Re-enable layout/style/test/test_shape_outside_CORS.html

bug 1457297 Enable shape-outside for all channels

bug 1457602 shape-margin does not work correctly when used with shape-outside image in vertical writing-mode

bug 1459697 crash in [@ nsFloatManager::EllipseShapeInfo::LineEdge]

bug 1460041 shape-outside: polygon with shape-margin > 0 doesn't generate all needed intervals if the shape is offset from its containing block

bug 1461046 Make shape-outside honor shape edges instead of checking for empty float areas (against the CSS Shapes 1 specification)

bug 1463794 Mozilla-created WPT reftests for shape-outside should be hosted in layout/reftests/w3c-css/submitted/

bug 1466231 Inline frames without enough inline space should clear floats, regardless of shape-outside

Layout: Form Controls

bug 1429713 Make -webkit-appearance as an alias of -moz-appearance with pref off in stylo

bug 1459646 [RTL] Resizer icons mirrored

bug 1460787 Assertion failure: aReflowInput.ComputedISize() != nscoord((1 << 30) - 1) (Should have a precomputed inline-size!), at src/layout/forms/nsFieldSetFrame.cpp:369

bug 1464165 Assertion failure: aReflowInput.ComputedISize() != nscoord((1 << 30) - 1) (Must have a computed inline size), at /builds/worker/workspace/build/src/layout/forms/nsListControlFrame.cpp:372

bug 1467586 Only load the <input type="time/date"> picker code when it's used

Layout: Tables

bug 1464928 border-collapse and cell borders on hover cause rendering artifacts

Layout: Text and Fonts

bug 1427660 Hangul jamo in the range of U+A960–U+A97C do not form a syllable

bug 1458004 Link font-style values italic / oblique to the appropriate variation-font axes or synthetic styling

bug 1458301 Harmonize methods for computing the difference between a given font resource and a requested style

bug 1460527 Using variation selectors to change graphical emoji representation doesn’t work

bug 1461039 Assertion failure: !nsLayoutUtils::GetAsBlock(aFrame) || !aFrame->IsBlockOutside() (unexpected block frame), at src/layout/generic/TextOverflow.cpp:78

bug 1461452 Changes to the font.name-list.emoji preference are not picked up until browser restart

bug 1463020 Incorrect letter-spacing on emoji character when used with text-transform

bug 1463115 Add a new skipWhitespace option to InspectorUtils.getUsedFontFaces

bug 1463230 gfxMacFont.cpp error: using integer absolute value function 'abs' when argument is of floating point type

bug 1464400 Add a CSSGeneric attribute to InspectorFontFace

bug 1464813 eDontReparentFrames is unnecessary.

bug 1465305 Assertion failure: !mTransformChanged, at src/gfx/thebes/gfxContext.cpp:230

bug 1466332 Update font-matching algorithm to more closely match CSS Fonts 4 spec

Printing: Output

bug 221706 Margins on printout are larger than defined.

SVG

bug 1422226 crash near null in [@ mozilla::SVGGeometryFrame::GetCanvasTM]

bug 1458580 Split GetSMILOverrideStyle into a function that returns the existing one, and a function that creates it if needed.

bug 1458968 Make every nsSVGOuterSVGAnonChildFrame a reference frame

bug 1459890 SVG clip-path produces wrong result on filtered element

bug 1461517 clipPath-basic-05.svg misspells the clip-path presentation attribute