gecko-dev/layout/svg
Ting-Yu Lin d660a50553 Bug 1340715 - Change SVG max-content size for webcompat. r=emilio
The goal of this patch is to change the SVG max-content size to match blink and
webkit to fix the webcompat issues in bug 1521882 and bug 1651754.

If a percentage width/height attribute on inline axis is explicitly set, we fall
back to the default replaced element size to avoid regressing bug 1162418.
Otherwise, we use 0 as SVG's max-content size in order to be compatible with
blink and webkit.

When computing replaced elements's max-content inline-size, its preferred
aspect-ratio and block-size can transfer to inline axis. The logic is the same
as if the element has an 'auto' inline-size. Hence the modification in
ComputeSizeWithIntrinsicDimensions().

This patch also removes the SVG's intrinsic size dependency on an arbitrary
container from the previous layout result in `SVGOuterSVGFrame::GetPrefISize()`.
bug 1340715 comment 1 explains why the code is unsound.

Differential Revision: https://phabricator.services.mozilla.com/D155998
2022-08-31 18:05:31 +00:00
..
crashtests Bug 1404086 - Early-out when the length adjust scale factor is zero. r=jfkthame 2022-08-30 09:45:46 +00:00
tests Bug 1746528 - Remove aspect-ratio preference. r=emilio 2022-08-04 17:58:03 +00:00
AutoReferenceChainGuard.h
CSSClipPathInstance.cpp Bug 1785903 - Use inset rect as the border area to compute shape radii. r=TYLin 2022-08-22 22:15:24 +00:00
CSSClipPathInstance.h Bug 1756197. Separate out CreateClipPathForFrame. r=gfx-reviewers,aosmond 2022-02-23 16:19:07 +00:00
CSSFilterInstance.cpp Bug 1676299 Part 4: Modify BaseMatrix::ScaleFactors() to return a ScaleFactors2D. r=botond 2022-04-30 01:35:24 +00:00
CSSFilterInstance.h
FilterInstance.cpp Bug 1778718 - Make filters on the root work when using fallback drawing. r=tnikkel 2022-07-12 09:46:01 +00:00
FilterInstance.h Bug 1778718 - Make filters on the root work when using fallback drawing. r=tnikkel 2022-07-12 09:46:01 +00:00
ISVGDisplayableFrame.h
ISVGSVGFrame.h
moz.build Bug 1754277: Fix non-unified build errors in layout/svg, and mark it as safe to build in non-unified mode. r=emilio 2022-02-08 21:22:18 +00:00
svg.css
SVGAFrame.cpp Bug 1762109 - Make the XLink setup a bit saner. r=smaug 2022-03-31 14:33:57 +00:00
SVGClipPathFrame.cpp Bug 1756220 - Always paint the the extra mask with an identity transform. r=gfx-reviewers,nical,bradwerth 2022-02-22 21:16:29 +00:00
SVGClipPathFrame.h Bug 1756220 - Always paint the the extra mask with an identity transform. r=gfx-reviewers,nical,bradwerth 2022-02-22 21:16:29 +00:00
SVGContainerFrame.cpp
SVGContainerFrame.h
SVGContextPaint.cpp
SVGContextPaint.h
SVGFEContainerFrame.cpp Bug 1754277: Fix non-unified build errors in layout/svg, and mark it as safe to build in non-unified mode. r=emilio 2022-02-08 21:22:18 +00:00
SVGFEImageFrame.cpp
SVGFELeafFrame.cpp Bug 1754277: Fix non-unified build errors in layout/svg, and mark it as safe to build in non-unified mode. r=emilio 2022-02-08 21:22:18 +00:00
SVGFEUnstyledLeafFrame.cpp Bug 1754277: Fix non-unified build errors in layout/svg, and mark it as safe to build in non-unified mode. r=emilio 2022-02-08 21:22:18 +00:00
SVGFilterFrame.cpp
SVGFilterFrame.h
SVGFilterInstance.cpp Bug 1767127 - Change the types of FilterInstance::m[UserSpaceToFilter|FilterSpaceToUser]SpaceScale to MatrixScalesDouble. r=botond 2022-06-03 19:55:30 +00:00
SVGFilterInstance.h Bug 1767127 - Change the types of FilterInstance::m[UserSpaceToFilter|FilterSpaceToUser]SpaceScale to MatrixScalesDouble. r=botond 2022-06-03 19:55:30 +00:00
SVGForeignObjectFrame.cpp Bug 1714584 - Part 1: Decouple nsDisplayList internal list from nsDisplayItems r=mstange 2022-02-22 23:42:18 +00:00
SVGForeignObjectFrame.h
SVGGeometryFrame.cpp Bug 1779602 - Remove nsImageGeometryMixin. r=tnikkel 2022-07-18 21:20:50 +00:00
SVGGeometryFrame.h Bug 1779602 - Remove nsImageGeometryMixin. r=tnikkel 2022-07-18 21:20:50 +00:00
SVGGFrame.cpp Bug 1754277: Fix non-unified build errors in layout/svg, and mark it as safe to build in non-unified mode. r=emilio 2022-02-08 21:22:18 +00:00
SVGGFrame.h
SVGGradientFrame.cpp
SVGGradientFrame.h
SVGImageContext.cpp Bug 1782595 - Use the preferred color-scheme to propagate to SVG images. r=tnikkel 2022-08-18 15:49:52 +00:00
SVGImageContext.h Bug 1779598 - Stop passing around Maybe<SVGImageContext>. r=aosmond 2022-07-14 16:03:25 +00:00
SVGImageFrame.cpp Bug 1779602 - Remove nsImageGeometryMixin. r=tnikkel 2022-07-18 21:20:50 +00:00
SVGImageFrame.h
SVGInnerSVGFrame.cpp
SVGInnerSVGFrame.h
SVGIntegrationUtils.cpp Bug 1778718 - Make filters on the root work when using fallback drawing. r=tnikkel 2022-07-12 09:46:01 +00:00
SVGIntegrationUtils.h Bug 1778718 - Make filters on the root work when using fallback drawing. r=tnikkel 2022-07-12 09:46:01 +00:00
SVGMarkerFrame.cpp
SVGMarkerFrame.h
SVGMaskFrame.cpp Bug 1756042 - Replace gfxContext parameter with DrawTarget. r=gfx-reviewers,aosmond 2022-02-22 17:11:51 +00:00
SVGMaskFrame.h Bug 1756042 - Replace gfxContext parameter with DrawTarget. r=gfx-reviewers,aosmond 2022-02-22 17:11:51 +00:00
SVGObserverUtils.cpp Bug 1778298 - gradient href should ignore base tag if local r=emilio 2022-07-06 17:12:23 +00:00
SVGObserverUtils.h
SVGOuterSVGFrame.cpp Bug 1340715 - Change SVG max-content size for webcompat. r=emilio 2022-08-31 18:05:31 +00:00
SVGOuterSVGFrame.h
SVGPaintServerFrame.cpp
SVGPaintServerFrame.h
SVGPatternFrame.cpp
SVGPatternFrame.h
SVGStopFrame.cpp Bug 1754277: Fix non-unified build errors in layout/svg, and mark it as safe to build in non-unified mode. r=emilio 2022-02-08 21:22:18 +00:00
SVGSwitchFrame.cpp
SVGSymbolFrame.cpp
SVGSymbolFrame.h
SVGTextFrame.cpp Bug 1404086 - Early-out when the length adjust scale factor is zero. r=jfkthame 2022-08-30 09:45:46 +00:00
SVGTextFrame.h Bug 1746794 - Make more nsLayoutUtils functions SVG-text aware. r=layout-reviewers,jfkthame 2022-01-28 16:50:14 +00:00
SVGUseFrame.cpp Bug 1754277: Fix non-unified build errors in layout/svg, and mark it as safe to build in non-unified mode. r=emilio 2022-02-08 21:22:18 +00:00
SVGUseFrame.h
SVGUtils.cpp Bug 1531888 - ignore invalid clip-path references when hit testing r=emilio 2022-07-14 15:39:27 +00:00
SVGUtils.h Bug 1751107 Part 3 - Clamp current time for SVG elements. r=dholbert 2022-03-11 18:13:07 +00:00
SVGViewFrame.cpp
SVGViewportFrame.cpp Bug 1754277: Fix non-unified build errors in layout/svg, and mark it as safe to build in non-unified mode. r=emilio 2022-02-08 21:22:18 +00:00
SVGViewportFrame.h