Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
[LBSE] Add 'viewBox' support
https://bugs.webkit.org/show_bug.cgi?id=241762 Reviewed by Rob Buis. RenderSVGRoot is transformable, "replaced" element from CSS point of view. When a CSS transform is applied to the outermost <svg> element, associated with the RenderSVGRoot renderer, the whole box is transformed during painting, including border/padding/etc., just like in HTML/CSS. Specifying a viewBox="..." attribute on the outermost <svg> element induces a new coordinate system for the children, independent of the width/height CSS properties that describe the actual size of the <svg> in its surrounding layout context. To realize that in LBSE one cannot apply a CSS transformation to the <svg> itself, since that would affect border/padding/outline/... etc. The legacy SVG engine, which does not utilize layers, simply applies a new transformation to the GraphicsContext when painting the child elements. That works fine since the whole SVG document is painted starting from the RenderSVGRoot -- all renderers are "in-flow", no "out-of-flow" positioning (from CSS point of view) - thus no self painting layers, the whole document fragment can be painted by walking the render tree, no layer tree involved. In LBSE things are vastly different: currently all SVG renderers create layers (to be optimized under certain circumstances!). Therefore it is not enough to modify the CTM within the RenderSVG*::paint() methods - it needs to be solved at RenderLayer level. To apply a transformation only to the child layers, and not the layer itself, one could utilize "sub layer transformations" that are used to implement perspective transformations (e.g. setting 'perspective: 200px' on a <div>, won't change it's rendering but establish a transformation for the child layers). However this functionality does require compositing layers, which would force the <svg> to be composited, only to apply a transformation to the children. To simulate the effect of viewBox within a standalone SVG document, that does NOT carry a 'viewBox' attribute on the outermost <svg> element, one simply wraps the whole <svg> children in a <g> container that gets the viewBox induced transformation assigned. To implement viewBox in LBSE we follow the same path: wrap all RenderSVGRoot children in an anonymous RenderSVGViewportContainer (the very same renderer that is used to implement inner <svg> elements, that can also specify a new coordinate system for its children, via the viewBox attribute) and expose the viewBox induced transformation as CSS transform, applied on the layer associated with the anonymous renderer. This way SVG viewBox does not need any special logic within the layer tree - no special code for hit testing, painting, etc. --> Fixes quite a good dozen of svg/W3C-SVG-1.1, however only two tests are marked as progressions. We still lack basic shapes (polys / lines / ...) / <use> / <image> / inner <svg> ... that prevent these tests from fully passing (+ some subtle text rendering differences, to be investigated). * LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-13-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-14-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-15-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-16-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-17-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-18-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-19-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-20-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-22-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-25-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-27-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-31-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-33-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-34-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-37-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-39-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-41-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-44-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-52-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-60-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-61-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-62-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-63-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-64-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-65-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-66-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-67-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-68-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-69-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-70-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-77-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-78-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-81-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-82-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-84-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-85-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/color-prof-01-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/color-prop-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/color-prop-02-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/color-prop-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-coord-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-coord-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-trans-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-trans-05-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-units-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-units-03-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-desc-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-dom-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-events-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-order-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-order-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-order-03-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-03-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-04-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-05-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-07-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-uri-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-03-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-fill-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-fill-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-fill-04-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-fill-05-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-render-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-stroke-07-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-04-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-08-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-09-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-10-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-13-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-14-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/paths-data-15-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-13-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-15-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-16-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-18-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/script-handle-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/script-handle-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/script-handle-03-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/script-handle-04-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-line-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-cond-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-cond-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-cond-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-defs-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-dom-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-dom-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-dom-06-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-04-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-05-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-06-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-group-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-group-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-04-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-05-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-06-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-07-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-08-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-09-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-10-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-use-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-use-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-use-05-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-03-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-04-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-05-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-06-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-pres-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-03-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-04-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-05-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-06-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-08-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-deco-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-fonts-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-fonts-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-fonts-03-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-path-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-03-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-04-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-05-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-06-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-07-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-08-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-tref-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-tselect-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-ws-01-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-ws-02-t-expected.txt: * LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.txt: * Source/WebCore/rendering/RenderElement.cpp: (WebCore::RenderElement::referenceBoxRect const): * Source/WebCore/rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::applySVGTransform const): * Source/WebCore/rendering/RenderLayerModelObject.h: * Source/WebCore/rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): * Source/WebCore/rendering/svg/RenderSVGContainer.h: * Source/WebCore/rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::RenderSVGModelObject): (WebCore::RenderSVGModelObject::updateFromStyle): * Source/WebCore/rendering/svg/RenderSVGModelObject.h: * Source/WebCore/rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::setViewportContainer): (WebCore::RenderSVGRoot::layoutChildren): (WebCore::RenderSVGRoot::overflowClipRect const): * Source/WebCore/rendering/svg/RenderSVGRoot.h: * Source/WebCore/rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::applyTransform const): * Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::applyTransform const): * Source/WebCore/rendering/svg/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): (WebCore::RenderSVGViewportContainer::svgSVGElement const): (WebCore::RenderSVGViewportContainer::computeViewport const): (WebCore::RenderSVGViewportContainer::isOutermostSVGViewportContainer const): (WebCore::RenderSVGViewportContainer::updateLayoutSizeIfNeeded): (WebCore::RenderSVGViewportContainer::updateFromElement): (WebCore::RenderSVGViewportContainer::updateFromStyle): (WebCore::RenderSVGViewportContainer::updateLayerTransform): (WebCore::RenderSVGViewportContainer::applyTransform const): * Source/WebCore/rendering/svg/RenderSVGViewportContainer.h: * Source/WebCore/rendering/svg/SVGContainerLayout.cpp: (WebCore::SVGContainerLayout::layoutChildren): (WebCore::SVGContainerLayout::positionChildrenRelativeToContainer): (WebCore::SVGContainerLayout::transformToRootChanged): * Source/WebCore/rendering/updating/RenderTreeBuilder.cpp: (WebCore::RenderTreeBuilder::destroyAndCleanUpAnonymousWrappers): * Source/WebCore/rendering/updating/RenderTreeBuilderSVG.cpp: (WebCore::RenderTreeBuilder::SVG::attach): (WebCore::RenderTreeBuilder::SVG::findOrCreateParentForChild): * Source/WebCore/rendering/updating/RenderTreeBuilderSVG.h: Canonical link: https://commits.webkit.org/252643@main
- Loading branch information