fune/layout/svg
Jonathan Kew 78f1bf88f1 Bug 1906978 - Fix the positioning/anchoring of SVG text runs with bidi control characters. a=dmeehan
The added reftests here failed both prior to and after the bidi-engine update,
although the exact nature of the failures changed due to the engine leaving the
bidi control characters in different places in the reordered text. (This is
explicitly unspecified by the Unicode Bidi Algorithm, because the control codes
are nominally removed after processing; leaving them present but invisible is
an implementation detail.)

The key fix here is that DoGlyphPositioning() anchors the first *addressable*
character of the text, not necessarily the absolute first codepoint, as that
may be a "deleted" control code whose position is arbitrary.

Original Revision: https://phabricator.services.mozilla.com/D216400

Differential Revision: https://phabricator.services.mozilla.com/D216527
2024-07-17 15:08:42 +00:00
..
crashtests Bug 1864255. Remove skip wayland annotations for various crashtests that no longer need it. r=gfx-reviewers,dholbert,nical 2024-04-28 10:02:10 +00:00
tests
AutoReferenceChainGuard.h
CSSClipPathInstance.cpp Bug 1884425 - Introduce PathOrShapeFunciton for path() and shape(). r=firefox-style-system-reviewers,zrhoffman 2024-03-28 19:42:13 +00:00
CSSClipPathInstance.h Bug 1823463 - Render clip-path:shape(). r=emilio 2024-03-18 21:20:29 +00:00
CSSFilterInstance.cpp
CSSFilterInstance.h
DisplaySVGItem.cpp
DisplaySVGItem.h
FilterInstance.cpp Bug 1875707 - Fix webrender filters when applied to continuation or split frames r=emilio 2024-01-23 11:41:23 +00:00
FilterInstance.h Bug 1868479 - Fix backdrop-filter with SVG filters r=dholbert 2023-12-07 14:35:13 +00:00
ISVGDisplayableFrame.h
ISVGSVGFrame.h
moz.build
svg.css Bug 1872907 - stop marking SVG symbol elements as display:none r=emilio 2024-01-09 22:02:13 +00:00
SVGAFrame.cpp Bug 1354393 - remove flush in SMILAnimationController::DoSample r=emilio 2024-04-09 15:35:30 +00:00
SVGClipPathFrame.cpp Bug 1019326 - fix some issues with svg.new-getBBox.enabled r=emilio 2024-06-07 11:29:08 +00:00
SVGClipPathFrame.h
SVGContainerFrame.cpp Bug 1899041 - Additional rendering observer container optimisations r=emilio 2024-05-26 19:06:59 +00:00
SVGContainerFrame.h
SVGContextPaint.cpp Bug 1885723 - Fix more jsm references in misc code. r=Gijs,necko-reviewers,dom-storage-reviewers,janv,kershaw 2024-03-19 08:59:11 +00:00
SVGContextPaint.h
SVGFEContainerFrame.cpp
SVGFEImageFrame.cpp Bug 1354393 - remove flush in SMILAnimationController::DoSample r=emilio 2024-04-09 15:35:30 +00:00
SVGFELeafFrame.cpp
SVGFEUnstyledLeafFrame.cpp
SVGFilterFrame.cpp
SVGFilterFrame.h
SVGFilterInstance.cpp
SVGFilterInstance.h
SVGForeignObjectFrame.cpp Bug 1877850 Part 1 - Convert callers of ReflowInput physical size accessors to use logical ones. r=dholbert 2024-02-01 22:02:00 +00:00
SVGForeignObjectFrame.h
SVGGeometryFrame.cpp Bug 1659788 - We can only skip creating display items for opacity 0 SVGGeometryFrames when there can't be any compositor animations changing the opacity. r=tnikkel 2024-05-23 07:57:03 +00:00
SVGGeometryFrame.h
SVGGFrame.cpp
SVGGFrame.h
SVGGradientFrame.cpp Bug 1903352 - SVG attribute values should not be zoomed r=emilio a=RyanVM 2024-06-20 14:56:29 +00:00
SVGGradientFrame.h Bug 298281 - implement color-interpolation: linearRGB for gradients r=emilio 2023-12-18 21:41:50 +00:00
SVGImageContext.cpp
SVGImageContext.h
SVGImageFrame.cpp Bug 1659788 - We can only skip creating display items for opacity 0 SVGGeometryFrames when there can't be any compositor animations changing the opacity. r=tnikkel 2024-05-23 07:57:03 +00:00
SVGImageFrame.h
SVGInnerSVGFrame.cpp
SVGInnerSVGFrame.h
SVGIntegrationUtils.cpp Bug 1871107 - Use do_AddRef more r=TYLin 2023-12-20 23:34:03 +00:00
SVGIntegrationUtils.h Bug 1868479 - Fix backdrop-filter with SVG filters r=dholbert 2023-12-07 14:35:13 +00:00
SVGMarkerFrame.cpp Bug 1896711 part 2: Use MakeRefPtr to reduce boilerplate, in layout/svg. r=TYLin 2024-05-15 07:29:20 +00:00
SVGMarkerFrame.h
SVGMaskFrame.cpp Bug 1869904 - Use range based for loops more r=TYLin 2023-12-18 16:24:11 +00:00
SVGMaskFrame.h
SVGObserverUtils.cpp Bug 1900958 - Create a SVGObserverUtils::SelfOrAncestorHasRenderingObservers method that we can use in animations r=emilio 2024-06-07 09:28:41 +00:00
SVGObserverUtils.h Bug 1900958 - Create a SVGObserverUtils::SelfOrAncestorHasRenderingObservers method that we can use in animations r=emilio 2024-06-07 09:28:41 +00:00
SVGOuterSVGFrame.cpp Bug 1903352 - SVG attribute values should not be zoomed r=emilio a=RyanVM 2024-06-20 14:56:29 +00:00
SVGOuterSVGFrame.h
SVGPaintServerFrame.cpp
SVGPaintServerFrame.h
SVGPatternFrame.cpp Bug 1903352 - SVG attribute values should not be zoomed r=emilio a=RyanVM 2024-06-20 14:56:29 +00:00
SVGPatternFrame.h
SVGStopFrame.cpp
SVGSwitchFrame.cpp Bug 1876256 - simplify code in SVGSwitchFrame r=emilio 2024-01-24 10:43:33 +00:00
SVGSymbolFrame.cpp Bug 1872907 - stop marking SVG symbol elements as display:none r=emilio 2024-01-09 22:02:13 +00:00
SVGSymbolFrame.h Bug 1872907 - stop marking SVG symbol elements as display:none r=emilio 2024-01-09 22:02:13 +00:00
SVGTextFrame.cpp Bug 1906978 - Fix the positioning/anchoring of SVG text runs with bidi control characters. a=dmeehan 2024-07-17 15:08:42 +00:00
SVGTextFrame.h Bug 1868049 - Use nsIMutationObserver's native callback optimisation mechanism r=emilio 2023-12-04 20:57:57 +00:00
SVGUseFrame.cpp Bug 1891002 - Make DidAnimateAttribute virtual rather than DidAnimateString r=emilio 2024-04-12 15:26:36 +00:00
SVGUseFrame.h Bug 1891002 - Make DidAnimateAttribute virtual rather than DidAnimateString r=emilio 2024-04-12 15:26:36 +00:00
SVGUtils.cpp Bug 1903352 - SVG attribute values should not be zoomed r=emilio a=RyanVM 2024-06-20 14:56:29 +00:00
SVGUtils.h Bug 1870200 - Break the cyclic dependency if any of the desendants uses non-scaling-stroke. r=emilio 2024-03-04 20:46:05 +00:00
SVGViewFrame.cpp
SVGViewportFrame.cpp
SVGViewportFrame.h