mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
1dcfd79ff9
--HG-- rename : content/svg/content/src/DOMSVGAnimatedLengthList.cpp => dom/svg/DOMSVGAnimatedLengthList.cpp rename : content/svg/content/src/DOMSVGAnimatedLengthList.h => dom/svg/DOMSVGAnimatedLengthList.h rename : content/svg/content/src/DOMSVGAnimatedNumberList.cpp => dom/svg/DOMSVGAnimatedNumberList.cpp rename : content/svg/content/src/DOMSVGAnimatedNumberList.h => dom/svg/DOMSVGAnimatedNumberList.h rename : content/svg/content/src/DOMSVGLength.cpp => dom/svg/DOMSVGLength.cpp rename : content/svg/content/src/DOMSVGLength.h => dom/svg/DOMSVGLength.h rename : content/svg/content/src/DOMSVGLengthList.cpp => dom/svg/DOMSVGLengthList.cpp rename : content/svg/content/src/DOMSVGLengthList.h => dom/svg/DOMSVGLengthList.h rename : content/svg/content/src/DOMSVGNumber.cpp => dom/svg/DOMSVGNumber.cpp rename : content/svg/content/src/DOMSVGNumber.h => dom/svg/DOMSVGNumber.h rename : content/svg/content/src/DOMSVGNumberList.cpp => dom/svg/DOMSVGNumberList.cpp rename : content/svg/content/src/DOMSVGNumberList.h => dom/svg/DOMSVGNumberList.h rename : content/svg/content/src/DOMSVGPathSeg.cpp => dom/svg/DOMSVGPathSeg.cpp rename : content/svg/content/src/DOMSVGPathSeg.h => dom/svg/DOMSVGPathSeg.h rename : content/svg/content/src/DOMSVGPathSegList.cpp => dom/svg/DOMSVGPathSegList.cpp rename : content/svg/content/src/DOMSVGPathSegList.h => dom/svg/DOMSVGPathSegList.h rename : content/svg/content/src/DOMSVGPoint.cpp => dom/svg/DOMSVGPoint.cpp rename : content/svg/content/src/DOMSVGPoint.h => dom/svg/DOMSVGPoint.h rename : content/svg/content/src/DOMSVGPointList.cpp => dom/svg/DOMSVGPointList.cpp rename : content/svg/content/src/DOMSVGPointList.h => dom/svg/DOMSVGPointList.h rename : content/svg/content/src/DOMSVGStringList.cpp => dom/svg/DOMSVGStringList.cpp rename : content/svg/content/src/DOMSVGStringList.h => dom/svg/DOMSVGStringList.h rename : content/svg/content/src/DOMSVGTransformList.cpp => dom/svg/DOMSVGTransformList.cpp rename : content/svg/content/src/DOMSVGTransformList.h => dom/svg/DOMSVGTransformList.h rename : content/svg/content/src/SVGAElement.cpp => dom/svg/SVGAElement.cpp rename : content/svg/content/src/SVGAElement.h => dom/svg/SVGAElement.h rename : content/svg/content/src/SVGAltGlyphElement.cpp => dom/svg/SVGAltGlyphElement.cpp rename : content/svg/content/src/SVGAltGlyphElement.h => dom/svg/SVGAltGlyphElement.h rename : content/svg/content/src/SVGAngle.cpp => dom/svg/SVGAngle.cpp rename : content/svg/content/src/SVGAngle.h => dom/svg/SVGAngle.h rename : content/svg/content/src/SVGAnimateElement.cpp => dom/svg/SVGAnimateElement.cpp rename : content/svg/content/src/SVGAnimateElement.h => dom/svg/SVGAnimateElement.h rename : content/svg/content/src/SVGAnimateMotionElement.cpp => dom/svg/SVGAnimateMotionElement.cpp rename : content/svg/content/src/SVGAnimateMotionElement.h => dom/svg/SVGAnimateMotionElement.h rename : content/svg/content/src/SVGAnimateTransformElement.cpp => dom/svg/SVGAnimateTransformElement.cpp rename : content/svg/content/src/SVGAnimateTransformElement.h => dom/svg/SVGAnimateTransformElement.h rename : content/svg/content/src/SVGAnimatedAngle.cpp => dom/svg/SVGAnimatedAngle.cpp rename : content/svg/content/src/SVGAnimatedAngle.h => dom/svg/SVGAnimatedAngle.h rename : content/svg/content/src/SVGAnimatedBoolean.cpp => dom/svg/SVGAnimatedBoolean.cpp rename : content/svg/content/src/SVGAnimatedBoolean.h => dom/svg/SVGAnimatedBoolean.h rename : content/svg/content/src/SVGAnimatedEnumeration.cpp => dom/svg/SVGAnimatedEnumeration.cpp rename : content/svg/content/src/SVGAnimatedEnumeration.h => dom/svg/SVGAnimatedEnumeration.h rename : content/svg/content/src/SVGAnimatedInteger.cpp => dom/svg/SVGAnimatedInteger.cpp rename : content/svg/content/src/SVGAnimatedInteger.h => dom/svg/SVGAnimatedInteger.h rename : content/svg/content/src/SVGAnimatedLength.cpp => dom/svg/SVGAnimatedLength.cpp rename : content/svg/content/src/SVGAnimatedLength.h => dom/svg/SVGAnimatedLength.h rename : content/svg/content/src/SVGAnimatedLengthList.cpp => dom/svg/SVGAnimatedLengthList.cpp rename : content/svg/content/src/SVGAnimatedLengthList.h => dom/svg/SVGAnimatedLengthList.h rename : content/svg/content/src/SVGAnimatedNumber.cpp => dom/svg/SVGAnimatedNumber.cpp rename : content/svg/content/src/SVGAnimatedNumber.h => dom/svg/SVGAnimatedNumber.h rename : content/svg/content/src/SVGAnimatedNumberList.cpp => dom/svg/SVGAnimatedNumberList.cpp rename : content/svg/content/src/SVGAnimatedNumberList.h => dom/svg/SVGAnimatedNumberList.h rename : content/svg/content/src/SVGAnimatedPathSegList.cpp => dom/svg/SVGAnimatedPathSegList.cpp rename : content/svg/content/src/SVGAnimatedPathSegList.h => dom/svg/SVGAnimatedPathSegList.h rename : content/svg/content/src/SVGAnimatedPointList.cpp => dom/svg/SVGAnimatedPointList.cpp rename : content/svg/content/src/SVGAnimatedPointList.h => dom/svg/SVGAnimatedPointList.h rename : content/svg/content/src/SVGAnimatedPreserveAspectRatio.cpp => dom/svg/SVGAnimatedPreserveAspectRatio.cpp rename : content/svg/content/src/SVGAnimatedPreserveAspectRatio.h => dom/svg/SVGAnimatedPreserveAspectRatio.h rename : content/svg/content/src/SVGAnimatedRect.cpp => dom/svg/SVGAnimatedRect.cpp rename : content/svg/content/src/SVGAnimatedRect.h => dom/svg/SVGAnimatedRect.h rename : content/svg/content/src/SVGAnimatedString.cpp => dom/svg/SVGAnimatedString.cpp rename : content/svg/content/src/SVGAnimatedString.h => dom/svg/SVGAnimatedString.h rename : content/svg/content/src/SVGAnimatedTransformList.cpp => dom/svg/SVGAnimatedTransformList.cpp rename : content/svg/content/src/SVGAnimatedTransformList.h => dom/svg/SVGAnimatedTransformList.h rename : content/svg/content/src/SVGAnimationElement.cpp => dom/svg/SVGAnimationElement.cpp rename : content/svg/content/src/SVGAnimationElement.h => dom/svg/SVGAnimationElement.h rename : content/svg/content/src/SVGAttrValueWrapper.cpp => dom/svg/SVGAttrValueWrapper.cpp rename : content/svg/content/src/SVGAttrValueWrapper.h => dom/svg/SVGAttrValueWrapper.h rename : content/svg/content/src/SVGCircleElement.cpp => dom/svg/SVGCircleElement.cpp rename : content/svg/content/src/SVGCircleElement.h => dom/svg/SVGCircleElement.h rename : content/svg/content/src/SVGClipPathElement.cpp => dom/svg/SVGClipPathElement.cpp rename : content/svg/content/src/SVGClipPathElement.h => dom/svg/SVGClipPathElement.h rename : content/svg/content/src/SVGComponentTransferFunctionElement.h => dom/svg/SVGComponentTransferFunctionElement.h rename : content/svg/content/src/SVGContentUtils.cpp => dom/svg/SVGContentUtils.cpp rename : content/svg/content/src/SVGContentUtils.h => dom/svg/SVGContentUtils.h rename : content/svg/content/src/SVGDefsElement.cpp => dom/svg/SVGDefsElement.cpp rename : content/svg/content/src/SVGDefsElement.h => dom/svg/SVGDefsElement.h rename : content/svg/content/src/SVGDescElement.cpp => dom/svg/SVGDescElement.cpp rename : content/svg/content/src/SVGDescElement.h => dom/svg/SVGDescElement.h rename : content/svg/document/src/SVGDocument.cpp => dom/svg/SVGDocument.cpp rename : content/svg/document/src/SVGDocument.h => dom/svg/SVGDocument.h rename : content/svg/content/src/SVGElementFactory.cpp => dom/svg/SVGElementFactory.cpp rename : content/svg/content/src/SVGElementFactory.h => dom/svg/SVGElementFactory.h rename : content/svg/content/src/SVGEllipseElement.cpp => dom/svg/SVGEllipseElement.cpp rename : content/svg/content/src/SVGEllipseElement.h => dom/svg/SVGEllipseElement.h rename : content/svg/content/src/SVGFEBlendElement.cpp => dom/svg/SVGFEBlendElement.cpp rename : content/svg/content/src/SVGFEBlendElement.h => dom/svg/SVGFEBlendElement.h rename : content/svg/content/src/SVGFEColorMatrixElement.cpp => dom/svg/SVGFEColorMatrixElement.cpp rename : content/svg/content/src/SVGFEColorMatrixElement.h => dom/svg/SVGFEColorMatrixElement.h rename : content/svg/content/src/SVGFEComponentTransferElement.cpp => dom/svg/SVGFEComponentTransferElement.cpp rename : content/svg/content/src/SVGFEComponentTransferElement.h => dom/svg/SVGFEComponentTransferElement.h rename : content/svg/content/src/SVGFECompositeElement.cpp => dom/svg/SVGFECompositeElement.cpp rename : content/svg/content/src/SVGFECompositeElement.h => dom/svg/SVGFECompositeElement.h rename : content/svg/content/src/SVGFEConvolveMatrixElement.cpp => dom/svg/SVGFEConvolveMatrixElement.cpp rename : content/svg/content/src/SVGFEConvolveMatrixElement.h => dom/svg/SVGFEConvolveMatrixElement.h rename : content/svg/content/src/SVGFEDiffuseLightingElement.cpp => dom/svg/SVGFEDiffuseLightingElement.cpp rename : content/svg/content/src/SVGFEDiffuseLightingElement.h => dom/svg/SVGFEDiffuseLightingElement.h rename : content/svg/content/src/SVGFEDisplacementMapElement.cpp => dom/svg/SVGFEDisplacementMapElement.cpp rename : content/svg/content/src/SVGFEDisplacementMapElement.h => dom/svg/SVGFEDisplacementMapElement.h rename : content/svg/content/src/SVGFEDistantLightElement.cpp => dom/svg/SVGFEDistantLightElement.cpp rename : content/svg/content/src/SVGFEDistantLightElement.h => dom/svg/SVGFEDistantLightElement.h rename : content/svg/content/src/SVGFEDropShadowElement.cpp => dom/svg/SVGFEDropShadowElement.cpp rename : content/svg/content/src/SVGFEDropShadowElement.h => dom/svg/SVGFEDropShadowElement.h rename : content/svg/content/src/SVGFEFloodElement.cpp => dom/svg/SVGFEFloodElement.cpp rename : content/svg/content/src/SVGFEFloodElement.h => dom/svg/SVGFEFloodElement.h rename : content/svg/content/src/SVGFEGaussianBlurElement.cpp => dom/svg/SVGFEGaussianBlurElement.cpp rename : content/svg/content/src/SVGFEGaussianBlurElement.h => dom/svg/SVGFEGaussianBlurElement.h rename : content/svg/content/src/SVGFEImageElement.cpp => dom/svg/SVGFEImageElement.cpp rename : content/svg/content/src/SVGFEImageElement.h => dom/svg/SVGFEImageElement.h rename : content/svg/content/src/SVGFEMergeElement.cpp => dom/svg/SVGFEMergeElement.cpp rename : content/svg/content/src/SVGFEMergeElement.h => dom/svg/SVGFEMergeElement.h rename : content/svg/content/src/SVGFEMergeNodeElement.cpp => dom/svg/SVGFEMergeNodeElement.cpp rename : content/svg/content/src/SVGFEMergeNodeElement.h => dom/svg/SVGFEMergeNodeElement.h rename : content/svg/content/src/SVGFEMorphologyElement.cpp => dom/svg/SVGFEMorphologyElement.cpp rename : content/svg/content/src/SVGFEMorphologyElement.h => dom/svg/SVGFEMorphologyElement.h rename : content/svg/content/src/SVGFEOffsetElement.cpp => dom/svg/SVGFEOffsetElement.cpp rename : content/svg/content/src/SVGFEOffsetElement.h => dom/svg/SVGFEOffsetElement.h rename : content/svg/content/src/SVGFEPointLightElement.cpp => dom/svg/SVGFEPointLightElement.cpp rename : content/svg/content/src/SVGFEPointLightElement.h => dom/svg/SVGFEPointLightElement.h rename : content/svg/content/src/SVGFESpecularLightingElement.cpp => dom/svg/SVGFESpecularLightingElement.cpp rename : content/svg/content/src/SVGFESpecularLightingElement.h => dom/svg/SVGFESpecularLightingElement.h rename : content/svg/content/src/SVGFESpotLightElement.cpp => dom/svg/SVGFESpotLightElement.cpp rename : content/svg/content/src/SVGFESpotLightElement.h => dom/svg/SVGFESpotLightElement.h rename : content/svg/content/src/SVGFETileElement.cpp => dom/svg/SVGFETileElement.cpp rename : content/svg/content/src/SVGFETileElement.h => dom/svg/SVGFETileElement.h rename : content/svg/content/src/SVGFETurbulenceElement.cpp => dom/svg/SVGFETurbulenceElement.cpp rename : content/svg/content/src/SVGFETurbulenceElement.h => dom/svg/SVGFETurbulenceElement.h rename : content/svg/content/src/SVGFilterElement.cpp => dom/svg/SVGFilterElement.cpp rename : content/svg/content/src/SVGFilterElement.h => dom/svg/SVGFilterElement.h rename : content/svg/content/src/SVGForeignObjectElement.cpp => dom/svg/SVGForeignObjectElement.cpp rename : content/svg/content/src/SVGForeignObjectElement.h => dom/svg/SVGForeignObjectElement.h rename : content/svg/content/src/SVGFragmentIdentifier.cpp => dom/svg/SVGFragmentIdentifier.cpp rename : content/svg/content/src/SVGFragmentIdentifier.h => dom/svg/SVGFragmentIdentifier.h rename : content/svg/content/src/SVGGElement.cpp => dom/svg/SVGGElement.cpp rename : content/svg/content/src/SVGGElement.h => dom/svg/SVGGElement.h rename : content/svg/content/src/SVGGradientElement.cpp => dom/svg/SVGGradientElement.cpp rename : content/svg/content/src/SVGGradientElement.h => dom/svg/SVGGradientElement.h rename : content/svg/content/src/SVGGraphicsElement.cpp => dom/svg/SVGGraphicsElement.cpp rename : content/svg/content/src/SVGGraphicsElement.h => dom/svg/SVGGraphicsElement.h rename : content/svg/content/src/SVGIFrameElement.cpp => dom/svg/SVGIFrameElement.cpp rename : content/svg/content/src/SVGIFrameElement.h => dom/svg/SVGIFrameElement.h rename : content/svg/content/src/SVGIRect.h => dom/svg/SVGIRect.h rename : content/svg/content/src/SVGImageElement.cpp => dom/svg/SVGImageElement.cpp rename : content/svg/content/src/SVGImageElement.h => dom/svg/SVGImageElement.h rename : content/svg/content/src/SVGIntegerPairSMILType.cpp => dom/svg/SVGIntegerPairSMILType.cpp rename : content/svg/content/src/SVGIntegerPairSMILType.h => dom/svg/SVGIntegerPairSMILType.h rename : content/svg/content/src/SVGLength.cpp => dom/svg/SVGLength.cpp rename : content/svg/content/src/SVGLength.h => dom/svg/SVGLength.h rename : content/svg/content/src/SVGLengthList.cpp => dom/svg/SVGLengthList.cpp rename : content/svg/content/src/SVGLengthList.h => dom/svg/SVGLengthList.h rename : content/svg/content/src/SVGLengthListSMILType.cpp => dom/svg/SVGLengthListSMILType.cpp rename : content/svg/content/src/SVGLengthListSMILType.h => dom/svg/SVGLengthListSMILType.h rename : content/svg/content/src/SVGLineElement.cpp => dom/svg/SVGLineElement.cpp rename : content/svg/content/src/SVGLineElement.h => dom/svg/SVGLineElement.h rename : content/svg/content/src/SVGMPathElement.cpp => dom/svg/SVGMPathElement.cpp rename : content/svg/content/src/SVGMPathElement.h => dom/svg/SVGMPathElement.h rename : content/svg/content/src/SVGMarkerElement.cpp => dom/svg/SVGMarkerElement.cpp rename : content/svg/content/src/SVGMarkerElement.h => dom/svg/SVGMarkerElement.h rename : content/svg/content/src/SVGMaskElement.cpp => dom/svg/SVGMaskElement.cpp rename : content/svg/content/src/SVGMaskElement.h => dom/svg/SVGMaskElement.h rename : content/svg/content/src/SVGMatrix.cpp => dom/svg/SVGMatrix.cpp rename : content/svg/content/src/SVGMatrix.h => dom/svg/SVGMatrix.h rename : content/svg/content/src/SVGMetadataElement.cpp => dom/svg/SVGMetadataElement.cpp rename : content/svg/content/src/SVGMetadataElement.h => dom/svg/SVGMetadataElement.h rename : content/svg/content/src/SVGMotionSMILAnimationFunction.cpp => dom/svg/SVGMotionSMILAnimationFunction.cpp rename : content/svg/content/src/SVGMotionSMILAnimationFunction.h => dom/svg/SVGMotionSMILAnimationFunction.h rename : content/svg/content/src/SVGMotionSMILAttr.cpp => dom/svg/SVGMotionSMILAttr.cpp rename : content/svg/content/src/SVGMotionSMILAttr.h => dom/svg/SVGMotionSMILAttr.h rename : content/svg/content/src/SVGMotionSMILPathUtils.cpp => dom/svg/SVGMotionSMILPathUtils.cpp rename : content/svg/content/src/SVGMotionSMILPathUtils.h => dom/svg/SVGMotionSMILPathUtils.h rename : content/svg/content/src/SVGMotionSMILType.cpp => dom/svg/SVGMotionSMILType.cpp rename : content/svg/content/src/SVGMotionSMILType.h => dom/svg/SVGMotionSMILType.h rename : content/svg/content/src/SVGNumberList.cpp => dom/svg/SVGNumberList.cpp rename : content/svg/content/src/SVGNumberList.h => dom/svg/SVGNumberList.h rename : content/svg/content/src/SVGNumberListSMILType.cpp => dom/svg/SVGNumberListSMILType.cpp rename : content/svg/content/src/SVGNumberListSMILType.h => dom/svg/SVGNumberListSMILType.h rename : content/svg/content/src/SVGNumberPairSMILType.cpp => dom/svg/SVGNumberPairSMILType.cpp rename : content/svg/content/src/SVGNumberPairSMILType.h => dom/svg/SVGNumberPairSMILType.h rename : content/svg/content/src/SVGOrientSMILType.cpp => dom/svg/SVGOrientSMILType.cpp rename : content/svg/content/src/SVGOrientSMILType.h => dom/svg/SVGOrientSMILType.h rename : content/svg/content/src/SVGPathData.cpp => dom/svg/SVGPathData.cpp rename : content/svg/content/src/SVGPathData.h => dom/svg/SVGPathData.h rename : content/svg/content/src/SVGPathElement.cpp => dom/svg/SVGPathElement.cpp rename : content/svg/content/src/SVGPathElement.h => dom/svg/SVGPathElement.h rename : content/svg/content/src/SVGPathSegListSMILType.cpp => dom/svg/SVGPathSegListSMILType.cpp rename : content/svg/content/src/SVGPathSegListSMILType.h => dom/svg/SVGPathSegListSMILType.h rename : content/svg/content/src/SVGPathSegUtils.cpp => dom/svg/SVGPathSegUtils.cpp rename : content/svg/content/src/SVGPathSegUtils.h => dom/svg/SVGPathSegUtils.h rename : content/svg/content/src/SVGPatternElement.cpp => dom/svg/SVGPatternElement.cpp rename : content/svg/content/src/SVGPatternElement.h => dom/svg/SVGPatternElement.h rename : content/svg/content/src/SVGPoint.h => dom/svg/SVGPoint.h rename : content/svg/content/src/SVGPointList.cpp => dom/svg/SVGPointList.cpp rename : content/svg/content/src/SVGPointList.h => dom/svg/SVGPointList.h rename : content/svg/content/src/SVGPointListSMILType.cpp => dom/svg/SVGPointListSMILType.cpp rename : content/svg/content/src/SVGPointListSMILType.h => dom/svg/SVGPointListSMILType.h rename : content/svg/content/src/SVGPolygonElement.cpp => dom/svg/SVGPolygonElement.cpp rename : content/svg/content/src/SVGPolygonElement.h => dom/svg/SVGPolygonElement.h rename : content/svg/content/src/SVGPolylineElement.cpp => dom/svg/SVGPolylineElement.cpp rename : content/svg/content/src/SVGPolylineElement.h => dom/svg/SVGPolylineElement.h rename : content/svg/content/src/SVGPreserveAspectRatio.cpp => dom/svg/SVGPreserveAspectRatio.cpp rename : content/svg/content/src/SVGPreserveAspectRatio.h => dom/svg/SVGPreserveAspectRatio.h rename : content/svg/content/src/SVGRect.cpp => dom/svg/SVGRect.cpp rename : content/svg/content/src/SVGRect.h => dom/svg/SVGRect.h rename : content/svg/content/src/SVGRectElement.cpp => dom/svg/SVGRectElement.cpp rename : content/svg/content/src/SVGRectElement.h => dom/svg/SVGRectElement.h rename : content/svg/content/src/SVGSVGElement.cpp => dom/svg/SVGSVGElement.cpp rename : content/svg/content/src/SVGSVGElement.h => dom/svg/SVGSVGElement.h rename : content/svg/content/src/SVGScriptElement.cpp => dom/svg/SVGScriptElement.cpp rename : content/svg/content/src/SVGScriptElement.h => dom/svg/SVGScriptElement.h rename : content/svg/content/src/SVGSetElement.cpp => dom/svg/SVGSetElement.cpp rename : content/svg/content/src/SVGSetElement.h => dom/svg/SVGSetElement.h rename : content/svg/content/src/SVGStopElement.cpp => dom/svg/SVGStopElement.cpp rename : content/svg/content/src/SVGStopElement.h => dom/svg/SVGStopElement.h rename : content/svg/content/src/SVGStringList.cpp => dom/svg/SVGStringList.cpp rename : content/svg/content/src/SVGStringList.h => dom/svg/SVGStringList.h rename : content/svg/content/src/SVGStyleElement.cpp => dom/svg/SVGStyleElement.cpp rename : content/svg/content/src/SVGStyleElement.h => dom/svg/SVGStyleElement.h rename : content/svg/content/src/SVGSwitchElement.cpp => dom/svg/SVGSwitchElement.cpp rename : content/svg/content/src/SVGSwitchElement.h => dom/svg/SVGSwitchElement.h rename : content/svg/content/src/SVGSymbolElement.cpp => dom/svg/SVGSymbolElement.cpp rename : content/svg/content/src/SVGSymbolElement.h => dom/svg/SVGSymbolElement.h rename : content/svg/content/src/SVGTSpanElement.cpp => dom/svg/SVGTSpanElement.cpp rename : content/svg/content/src/SVGTSpanElement.h => dom/svg/SVGTSpanElement.h rename : content/svg/content/src/SVGTagList.h => dom/svg/SVGTagList.h rename : content/svg/content/src/SVGTests.cpp => dom/svg/SVGTests.cpp rename : content/svg/content/src/SVGTests.h => dom/svg/SVGTests.h rename : content/svg/content/src/SVGTextContentElement.cpp => dom/svg/SVGTextContentElement.cpp rename : content/svg/content/src/SVGTextContentElement.h => dom/svg/SVGTextContentElement.h rename : content/svg/content/src/SVGTextElement.cpp => dom/svg/SVGTextElement.cpp rename : content/svg/content/src/SVGTextElement.h => dom/svg/SVGTextElement.h rename : content/svg/content/src/SVGTextPathElement.cpp => dom/svg/SVGTextPathElement.cpp rename : content/svg/content/src/SVGTextPathElement.h => dom/svg/SVGTextPathElement.h rename : content/svg/content/src/SVGTextPositioningElement.cpp => dom/svg/SVGTextPositioningElement.cpp rename : content/svg/content/src/SVGTextPositioningElement.h => dom/svg/SVGTextPositioningElement.h rename : content/svg/content/src/SVGTitleElement.cpp => dom/svg/SVGTitleElement.cpp rename : content/svg/content/src/SVGTitleElement.h => dom/svg/SVGTitleElement.h rename : content/svg/content/src/SVGTransform.cpp => dom/svg/SVGTransform.cpp rename : content/svg/content/src/SVGTransform.h => dom/svg/SVGTransform.h rename : content/svg/content/src/SVGTransformList.cpp => dom/svg/SVGTransformList.cpp rename : content/svg/content/src/SVGTransformList.h => dom/svg/SVGTransformList.h rename : content/svg/content/src/SVGTransformListParser.cpp => dom/svg/SVGTransformListParser.cpp rename : content/svg/content/src/SVGTransformListParser.h => dom/svg/SVGTransformListParser.h rename : content/svg/content/src/SVGTransformListSMILType.cpp => dom/svg/SVGTransformListSMILType.cpp rename : content/svg/content/src/SVGTransformListSMILType.h => dom/svg/SVGTransformListSMILType.h rename : content/svg/content/src/SVGTransformableElement.cpp => dom/svg/SVGTransformableElement.cpp rename : content/svg/content/src/SVGTransformableElement.h => dom/svg/SVGTransformableElement.h rename : content/svg/content/src/SVGUseElement.cpp => dom/svg/SVGUseElement.cpp rename : content/svg/content/src/SVGUseElement.h => dom/svg/SVGUseElement.h rename : content/svg/content/src/SVGViewBoxSMILType.cpp => dom/svg/SVGViewBoxSMILType.cpp rename : content/svg/content/src/SVGViewBoxSMILType.h => dom/svg/SVGViewBoxSMILType.h rename : content/svg/content/src/SVGViewElement.cpp => dom/svg/SVGViewElement.cpp rename : content/svg/content/src/SVGViewElement.h => dom/svg/SVGViewElement.h rename : content/svg/content/src/SVGZoomEvent.cpp => dom/svg/SVGZoomEvent.cpp rename : content/svg/content/src/SVGZoomEvent.h => dom/svg/SVGZoomEvent.h rename : content/svg/content/src/crashtests/307322-1.svg => dom/svg/crashtests/307322-1.svg rename : content/svg/content/src/crashtests/327705-1.svg => dom/svg/crashtests/327705-1.svg rename : content/svg/content/src/crashtests/336994-1.html => dom/svg/crashtests/336994-1.html rename : content/svg/content/src/crashtests/344888-1.svg => dom/svg/crashtests/344888-1.svg rename : content/svg/content/src/crashtests/345445-1.svg => dom/svg/crashtests/345445-1.svg rename : content/svg/content/src/crashtests/360836-1.svg => dom/svg/crashtests/360836-1.svg rename : content/svg/content/src/crashtests/367357-1.xhtml => dom/svg/crashtests/367357-1.xhtml rename : content/svg/content/src/crashtests/369051-1.svg => dom/svg/crashtests/369051-1.svg rename : content/svg/content/src/crashtests/369249-1.svg => dom/svg/crashtests/369249-1.svg rename : content/svg/content/src/crashtests/369291-1.svg => dom/svg/crashtests/369291-1.svg rename : content/svg/content/src/crashtests/369291-2.svg => dom/svg/crashtests/369291-2.svg rename : content/svg/content/src/crashtests/369568-1.svg => dom/svg/crashtests/369568-1.svg rename : content/svg/content/src/crashtests/372046-1.svg => dom/svg/crashtests/372046-1.svg rename : content/svg/content/src/crashtests/372046-2.svg => dom/svg/crashtests/372046-2.svg rename : content/svg/content/src/crashtests/374882-1.svg => dom/svg/crashtests/374882-1.svg rename : content/svg/content/src/crashtests/380101-1.svg => dom/svg/crashtests/380101-1.svg rename : content/svg/content/src/crashtests/381777-1.svg => dom/svg/crashtests/381777-1.svg rename : content/svg/content/src/crashtests/383685-1.svg => dom/svg/crashtests/383685-1.svg rename : content/svg/content/src/crashtests/385096.html => dom/svg/crashtests/385096.html rename : content/svg/content/src/crashtests/385554-1.html => dom/svg/crashtests/385554-1.html rename : content/svg/content/src/crashtests/385554-2.xul => dom/svg/crashtests/385554-2.xul rename : content/svg/content/src/crashtests/388712-1.svg => dom/svg/crashtests/388712-1.svg rename : content/svg/content/src/crashtests/395616-1.html => dom/svg/crashtests/395616-1.html rename : content/svg/content/src/crashtests/396618-1.html => dom/svg/crashtests/396618-1.html rename : content/svg/content/src/crashtests/397017-1.html => dom/svg/crashtests/397017-1.html rename : content/svg/content/src/crashtests/397551-1.svg => dom/svg/crashtests/397551-1.svg rename : content/svg/content/src/crashtests/397704-1.svg => dom/svg/crashtests/397704-1.svg rename : content/svg/content/src/crashtests/398926-both-different.svg => dom/svg/crashtests/398926-both-different.svg rename : content/svg/content/src/crashtests/398926-both-same.svg => dom/svg/crashtests/398926-both-same.svg rename : content/svg/content/src/crashtests/398926-fill.svg => dom/svg/crashtests/398926-fill.svg rename : content/svg/content/src/crashtests/398926-stroke.svg => dom/svg/crashtests/398926-stroke.svg rename : content/svg/content/src/crashtests/405639-1.svg => dom/svg/crashtests/405639-1.svg rename : content/svg/content/src/crashtests/406361-1.html => dom/svg/crashtests/406361-1.html rename : content/svg/content/src/crashtests/409811-1.html => dom/svg/crashtests/409811-1.html rename : content/svg/content/src/crashtests/410659-1.svg => dom/svg/crashtests/410659-1.svg rename : content/svg/content/src/crashtests/410659-2.svg => dom/svg/crashtests/410659-2.svg rename : content/svg/content/src/crashtests/410659-3.svg => dom/svg/crashtests/410659-3.svg rename : content/svg/content/src/crashtests/412104-1.svg => dom/svg/crashtests/412104-1.svg rename : content/svg/content/src/crashtests/413174-1.svg => dom/svg/crashtests/413174-1.svg rename : content/svg/content/src/crashtests/414188-1.svg => dom/svg/crashtests/414188-1.svg rename : content/svg/content/src/crashtests/427325-1.svg => dom/svg/crashtests/427325-1.svg rename : content/svg/content/src/crashtests/428228-1.svg => dom/svg/crashtests/428228-1.svg rename : content/svg/content/src/crashtests/428841-1.svg => dom/svg/crashtests/428841-1.svg rename : content/svg/content/src/crashtests/435209-1.svg => dom/svg/crashtests/435209-1.svg rename : content/svg/content/src/crashtests/436418-mpathRoot-1.svg => dom/svg/crashtests/436418-mpathRoot-1.svg rename : content/svg/content/src/crashtests/448244-1.svg => dom/svg/crashtests/448244-1.svg rename : content/svg/content/src/crashtests/466576-1.xhtml => dom/svg/crashtests/466576-1.xhtml rename : content/svg/content/src/crashtests/499879-1.svg => dom/svg/crashtests/499879-1.svg rename : content/svg/content/src/crashtests/535691-1.svg => dom/svg/crashtests/535691-1.svg rename : content/svg/content/src/crashtests/539167-1.svg => dom/svg/crashtests/539167-1.svg rename : content/svg/content/src/crashtests/573316-1.svg => dom/svg/crashtests/573316-1.svg rename : content/svg/content/src/crashtests/579356-1.svg => dom/svg/crashtests/579356-1.svg rename : content/svg/content/src/crashtests/579356-2.svg => dom/svg/crashtests/579356-2.svg rename : content/svg/content/src/crashtests/595608-1.svg => dom/svg/crashtests/595608-1.svg rename : content/svg/content/src/crashtests/601251-1.html => dom/svg/crashtests/601251-1.html rename : content/svg/content/src/crashtests/601406-1.svg => dom/svg/crashtests/601406-1.svg rename : content/svg/content/src/crashtests/603145-1.svg => dom/svg/crashtests/603145-1.svg rename : content/svg/content/src/crashtests/613899-1.svg => dom/svg/crashtests/613899-1.svg rename : content/svg/content/src/crashtests/613899-2.svg => dom/svg/crashtests/613899-2.svg rename : content/svg/content/src/crashtests/719779-1.svg => dom/svg/crashtests/719779-1.svg rename : content/svg/content/src/crashtests/723441-1.html => dom/svg/crashtests/723441-1.html rename : content/svg/content/src/crashtests/723441-resource.svg => dom/svg/crashtests/723441-resource.svg rename : content/svg/content/src/crashtests/751515-1.svg => dom/svg/crashtests/751515-1.svg rename : content/svg/content/src/crashtests/761507-1.svg => dom/svg/crashtests/761507-1.svg rename : content/svg/content/src/crashtests/831561.html => dom/svg/crashtests/831561.html rename : content/svg/content/src/crashtests/837450-1.svg => dom/svg/crashtests/837450-1.svg rename : content/svg/content/src/crashtests/842463-1.html => dom/svg/crashtests/842463-1.html rename : content/svg/content/src/crashtests/847138-1.svg => dom/svg/crashtests/847138-1.svg rename : content/svg/content/src/crashtests/864509.svg => dom/svg/crashtests/864509.svg rename : content/svg/content/src/crashtests/880544-1.svg => dom/svg/crashtests/880544-1.svg rename : content/svg/content/src/crashtests/880544-2.svg => dom/svg/crashtests/880544-2.svg rename : content/svg/content/src/crashtests/880544-3.svg => dom/svg/crashtests/880544-3.svg rename : content/svg/content/src/crashtests/880544-4.svg => dom/svg/crashtests/880544-4.svg rename : content/svg/content/src/crashtests/880544-5.svg => dom/svg/crashtests/880544-5.svg rename : content/svg/content/src/crashtests/898915-1.svg => dom/svg/crashtests/898915-1.svg rename : content/svg/content/src/crashtests/crashtests.list => dom/svg/crashtests/crashtests.list rename : content/svg/content/src/crashtests/zero-size-image.svg => dom/svg/crashtests/zero-size-image.svg rename : content/svg/moz.build => dom/svg/moz.build rename : content/svg/content/src/nsISVGPoint.cpp => dom/svg/nsISVGPoint.cpp rename : content/svg/content/src/nsISVGPoint.h => dom/svg/nsISVGPoint.h rename : content/svg/content/src/nsSVGAngle.cpp => dom/svg/nsSVGAngle.cpp rename : content/svg/content/src/nsSVGAngle.h => dom/svg/nsSVGAngle.h rename : content/svg/content/src/nsSVGAnimatedTransformList.cpp => dom/svg/nsSVGAnimatedTransformList.cpp rename : content/svg/content/src/nsSVGAnimatedTransformList.h => dom/svg/nsSVGAnimatedTransformList.h rename : content/svg/content/src/nsSVGAttrTearoffTable.h => dom/svg/nsSVGAttrTearoffTable.h rename : content/svg/content/src/nsSVGBoolean.cpp => dom/svg/nsSVGBoolean.cpp rename : content/svg/content/src/nsSVGBoolean.h => dom/svg/nsSVGBoolean.h rename : content/svg/content/src/nsSVGClass.cpp => dom/svg/nsSVGClass.cpp rename : content/svg/content/src/nsSVGClass.h => dom/svg/nsSVGClass.h rename : content/svg/content/src/nsSVGDataParser.cpp => dom/svg/nsSVGDataParser.cpp rename : content/svg/content/src/nsSVGDataParser.h => dom/svg/nsSVGDataParser.h rename : content/svg/content/src/nsSVGElement.cpp => dom/svg/nsSVGElement.cpp rename : content/svg/content/src/nsSVGElement.h => dom/svg/nsSVGElement.h rename : content/svg/content/src/nsSVGEnum.cpp => dom/svg/nsSVGEnum.cpp rename : content/svg/content/src/nsSVGEnum.h => dom/svg/nsSVGEnum.h rename : content/svg/content/src/nsSVGFeatures.cpp => dom/svg/nsSVGFeatures.cpp rename : content/svg/content/src/nsSVGFeatures.h => dom/svg/nsSVGFeatures.h rename : content/svg/content/src/nsSVGFeaturesList.h => dom/svg/nsSVGFeaturesList.h rename : content/svg/content/src/nsSVGFilters.cpp => dom/svg/nsSVGFilters.cpp rename : content/svg/content/src/nsSVGFilters.h => dom/svg/nsSVGFilters.h rename : content/svg/content/src/nsSVGInteger.cpp => dom/svg/nsSVGInteger.cpp rename : content/svg/content/src/nsSVGInteger.h => dom/svg/nsSVGInteger.h rename : content/svg/content/src/nsSVGIntegerPair.cpp => dom/svg/nsSVGIntegerPair.cpp rename : content/svg/content/src/nsSVGIntegerPair.h => dom/svg/nsSVGIntegerPair.h rename : content/svg/content/src/nsSVGLength2.cpp => dom/svg/nsSVGLength2.cpp rename : content/svg/content/src/nsSVGLength2.h => dom/svg/nsSVGLength2.h rename : content/svg/content/src/nsSVGNumber2.cpp => dom/svg/nsSVGNumber2.cpp rename : content/svg/content/src/nsSVGNumber2.h => dom/svg/nsSVGNumber2.h rename : content/svg/content/src/nsSVGNumberPair.cpp => dom/svg/nsSVGNumberPair.cpp rename : content/svg/content/src/nsSVGNumberPair.h => dom/svg/nsSVGNumberPair.h rename : content/svg/content/src/nsSVGPathDataParser.cpp => dom/svg/nsSVGPathDataParser.cpp rename : content/svg/content/src/nsSVGPathDataParser.h => dom/svg/nsSVGPathDataParser.h rename : content/svg/content/src/nsSVGPathGeometryElement.cpp => dom/svg/nsSVGPathGeometryElement.cpp rename : content/svg/content/src/nsSVGPathGeometryElement.h => dom/svg/nsSVGPathGeometryElement.h rename : content/svg/content/src/nsSVGPolyElement.cpp => dom/svg/nsSVGPolyElement.cpp rename : content/svg/content/src/nsSVGPolyElement.h => dom/svg/nsSVGPolyElement.h rename : content/svg/content/src/nsSVGString.cpp => dom/svg/nsSVGString.cpp rename : content/svg/content/src/nsSVGString.h => dom/svg/nsSVGString.h rename : content/svg/content/src/nsSVGTransform.cpp => dom/svg/nsSVGTransform.cpp rename : content/svg/content/src/nsSVGTransform.h => dom/svg/nsSVGTransform.h rename : content/svg/content/src/nsSVGViewBox.cpp => dom/svg/nsSVGViewBox.cpp rename : content/svg/content/src/nsSVGViewBox.h => dom/svg/nsSVGViewBox.h rename : content/svg/content/test/MutationEventChecker.js => dom/svg/test/MutationEventChecker.js rename : content/svg/content/test/a_href_destination.svg => dom/svg/test/a_href_destination.svg rename : content/svg/content/test/a_href_helper_01.svg => dom/svg/test/a_href_helper_01.svg rename : content/svg/content/test/a_href_helper_02_03.svg => dom/svg/test/a_href_helper_02_03.svg rename : content/svg/content/test/a_href_helper_04.svg => dom/svg/test/a_href_helper_04.svg rename : content/svg/content/test/animated-svg-image-helper.html => dom/svg/test/animated-svg-image-helper.html rename : content/svg/content/test/animated-svg-image-helper.svg => dom/svg/test/animated-svg-image-helper.svg rename : content/svg/content/test/bbox-helper.svg => dom/svg/test/bbox-helper.svg rename : content/svg/content/test/bounds-helper.svg => dom/svg/test/bounds-helper.svg rename : content/svg/content/test/dataTypes-helper.svg => dom/svg/test/dataTypes-helper.svg rename : content/svg/content/test/fragments-helper.svg => dom/svg/test/fragments-helper.svg rename : content/svg/content/test/getBBox-method-helper.svg => dom/svg/test/getBBox-method-helper.svg rename : content/svg/content/test/getCTM-helper.svg => dom/svg/test/getCTM-helper.svg rename : content/svg/content/test/getSubStringLength-helper.svg => dom/svg/test/getSubStringLength-helper.svg rename : content/svg/content/test/matrixUtils.js => dom/svg/test/matrixUtils.js rename : content/svg/content/test/mochitest.ini => dom/svg/test/mochitest.ini rename : content/svg/content/test/object-delayed-intrinsic-size.sjs => dom/svg/test/object-delayed-intrinsic-size.sjs rename : content/svg/content/test/pointer-events.js => dom/svg/test/pointer-events.js rename : content/svg/content/test/scientific-helper.svg => dom/svg/test/scientific-helper.svg rename : content/svg/content/test/selectSubString-helper.svg => dom/svg/test/selectSubString-helper.svg rename : content/svg/content/test/switch-helper.svg => dom/svg/test/switch-helper.svg rename : content/svg/content/test/test_SVGLengthList-2.xhtml => dom/svg/test/test_SVGLengthList-2.xhtml rename : content/svg/content/test/test_SVGLengthList.xhtml => dom/svg/test/test_SVGLengthList.xhtml rename : content/svg/content/test/test_SVGMatrix.xhtml => dom/svg/test/test_SVGMatrix.xhtml rename : content/svg/content/test/test_SVGNumberList.xhtml => dom/svg/test/test_SVGNumberList.xhtml rename : content/svg/content/test/test_SVGPathSegList.xhtml => dom/svg/test/test_SVGPathSegList.xhtml rename : content/svg/content/test/test_SVGPointList.xhtml => dom/svg/test/test_SVGPointList.xhtml rename : content/svg/content/test/test_SVGStringList.xhtml => dom/svg/test/test_SVGStringList.xhtml rename : content/svg/content/test/test_SVGStyleElement.xhtml => dom/svg/test/test_SVGStyleElement.xhtml rename : content/svg/content/test/test_SVGTransformList.xhtml => dom/svg/test/test_SVGTransformList.xhtml rename : content/svg/content/test/test_SVGTransformListAddition.xhtml => dom/svg/test/test_SVGTransformListAddition.xhtml rename : content/svg/content/test/test_SVGUnitTypes.html => dom/svg/test/test_SVGUnitTypes.html rename : content/svg/content/test/test_SVG_namespace_ids.html => dom/svg/test/test_SVG_namespace_ids.html rename : content/svg/content/test/test_SVGxxxList.xhtml => dom/svg/test/test_SVGxxxList.xhtml rename : content/svg/content/test/test_SVGxxxListIndexing.xhtml => dom/svg/test/test_SVGxxxListIndexing.xhtml rename : content/svg/content/test/test_a_href_01.xhtml => dom/svg/test/test_a_href_01.xhtml rename : content/svg/content/test/test_a_href_02.xhtml => dom/svg/test/test_a_href_02.xhtml rename : content/svg/content/test/test_animLengthObjectIdentity.xhtml => dom/svg/test/test_animLengthObjectIdentity.xhtml rename : content/svg/content/test/test_animLengthReadonly.xhtml => dom/svg/test/test_animLengthReadonly.xhtml rename : content/svg/content/test/test_animLengthUnits.xhtml => dom/svg/test/test_animLengthUnits.xhtml rename : content/svg/content/test/test_bbox-with-invalid-viewBox.xhtml => dom/svg/test/test_bbox-with-invalid-viewBox.xhtml rename : content/svg/content/test/test_bbox.xhtml => dom/svg/test/test_bbox.xhtml rename : content/svg/content/test/test_bounds.html => dom/svg/test/test_bounds.html rename : content/svg/content/test/test_bug872812.html => dom/svg/test/test_bug872812.html rename : content/svg/content/test/test_dataTypes.html => dom/svg/test/test_dataTypes.html rename : content/svg/content/test/test_dataTypesModEvents.html => dom/svg/test/test_dataTypesModEvents.html rename : content/svg/content/test/test_fragments.html => dom/svg/test/test_fragments.html rename : content/svg/content/test/test_getBBox-method.html => dom/svg/test/test_getBBox-method.html rename : content/svg/content/test/test_getCTM.html => dom/svg/test/test_getCTM.html rename : content/svg/content/test/test_getElementById.xhtml => dom/svg/test/test_getElementById.xhtml rename : content/svg/content/test/test_getSubStringLength.xhtml => dom/svg/test/test_getSubStringLength.xhtml rename : content/svg/content/test/test_hasFeature.xhtml => dom/svg/test/test_hasFeature.xhtml rename : content/svg/content/test/test_lang.xhtml => dom/svg/test/test_lang.xhtml rename : content/svg/content/test/test_length.xhtml => dom/svg/test/test_length.xhtml rename : content/svg/content/test/test_lengthParsing.html => dom/svg/test/test_lengthParsing.html rename : content/svg/content/test/test_non-scaling-stroke.html => dom/svg/test/test_non-scaling-stroke.html rename : content/svg/content/test/test_nonAnimStrings.xhtml => dom/svg/test/test_nonAnimStrings.xhtml rename : content/svg/content/test/test_object-delayed-intrinsic-size.html => dom/svg/test/test_object-delayed-intrinsic-size.html rename : content/svg/content/test/test_onerror.xhtml => dom/svg/test/test_onerror.xhtml rename : content/svg/content/test/test_pathAnimInterpolation.xhtml => dom/svg/test/test_pathAnimInterpolation.xhtml rename : content/svg/content/test/test_pathLength.html => dom/svg/test/test_pathLength.html rename : content/svg/content/test/test_pathSeg.xhtml => dom/svg/test/test_pathSeg.xhtml rename : content/svg/content/test/test_pointAtLength.xhtml => dom/svg/test/test_pointAtLength.xhtml rename : content/svg/content/test/test_pointer-events-1a.xhtml => dom/svg/test/test_pointer-events-1a.xhtml rename : content/svg/content/test/test_pointer-events-1b.xhtml => dom/svg/test/test_pointer-events-1b.xhtml rename : content/svg/content/test/test_pointer-events-2.xhtml => dom/svg/test/test_pointer-events-2.xhtml rename : content/svg/content/test/test_pointer-events-3.xhtml => dom/svg/test/test_pointer-events-3.xhtml rename : content/svg/content/test/test_pointer-events-4.xhtml => dom/svg/test/test_pointer-events-4.xhtml rename : content/svg/content/test/test_pointer-events-5.xhtml => dom/svg/test/test_pointer-events-5.xhtml rename : content/svg/content/test/test_pointer-events-6.xhtml => dom/svg/test/test_pointer-events-6.xhtml rename : content/svg/content/test/test_scientific.html => dom/svg/test/test_scientific.html rename : content/svg/content/test/test_selectSubString.xhtml => dom/svg/test/test_selectSubString.xhtml rename : content/svg/content/test/test_stroke-linecap-hit-testing.xhtml => dom/svg/test/test_stroke-linecap-hit-testing.xhtml rename : content/svg/content/test/test_switch.xhtml => dom/svg/test/test_switch.xhtml rename : content/svg/content/test/test_text.html => dom/svg/test/test_text.html rename : content/svg/content/test/test_text_2.html => dom/svg/test/test_text_2.html rename : content/svg/content/test/test_text_dirty.html => dom/svg/test/test_text_dirty.html rename : content/svg/content/test/test_text_lengthAdjust.html => dom/svg/test/test_text_lengthAdjust.html rename : content/svg/content/test/test_text_scaled.html => dom/svg/test/test_text_scaled.html rename : content/svg/content/test/test_text_selection.html => dom/svg/test/test_text_selection.html rename : content/svg/content/test/test_text_update.html => dom/svg/test/test_text_update.html rename : content/svg/content/test/test_transform.xhtml => dom/svg/test/test_transform.xhtml rename : content/svg/content/test/test_transformParsing.html => dom/svg/test/test_transformParsing.html rename : content/svg/content/test/test_valueAsString.xhtml => dom/svg/test/test_valueAsString.xhtml rename : content/svg/content/test/test_valueLeaks.xhtml => dom/svg/test/test_valueLeaks.xhtml rename : content/svg/content/test/test_viewport.html => dom/svg/test/test_viewport.html rename : content/svg/content/test/test_zoom.xhtml => dom/svg/test/test_zoom.xhtml rename : content/svg/content/test/text-helper-scaled.svg => dom/svg/test/text-helper-scaled.svg rename : content/svg/content/test/text-helper-selection.svg => dom/svg/test/text-helper-selection.svg rename : content/svg/content/test/text-helper.svg => dom/svg/test/text-helper.svg rename : content/svg/content/test/viewport-helper.svg => dom/svg/test/viewport-helper.svg rename : content/svg/content/test/zoom-helper.svg => dom/svg/test/zoom-helper.svg
489 lines
18 KiB
C++
489 lines
18 KiB
C++
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
/* implementation of nsISMILType for use by <animateMotion> element */
|
|
|
|
#include "SVGMotionSMILType.h"
|
|
|
|
#include "gfx2DGlue.h"
|
|
#include "mozilla/gfx/Point.h"
|
|
#include "nsSMILValue.h"
|
|
#include "nsDebug.h"
|
|
#include "nsMathUtils.h"
|
|
#include "nsISupportsUtils.h"
|
|
#include "nsTArray.h"
|
|
#include <math.h>
|
|
|
|
using namespace mozilla::gfx;
|
|
|
|
namespace mozilla {
|
|
|
|
/*static*/ SVGMotionSMILType SVGMotionSMILType::sSingleton;
|
|
|
|
|
|
// Helper enum, for distinguishing between types of MotionSegment structs
|
|
enum SegmentType {
|
|
eSegmentType_Translation,
|
|
eSegmentType_PathPoint
|
|
};
|
|
|
|
// Helper Structs: containers for params to define our MotionSegment
|
|
// (either simple translation or point-on-a-path)
|
|
struct TranslationParams { // Simple translation
|
|
float mX;
|
|
float mY;
|
|
};
|
|
struct PathPointParams { // Point along a path
|
|
Path* mPath; // NOTE: Refcounted; need to AddRef/Release.
|
|
float mDistToPoint; // Distance from path start to the point on the path that
|
|
// we're interested in.
|
|
};
|
|
|
|
/**
|
|
* Helper Struct: MotionSegment
|
|
*
|
|
* Instances of this class represent the points that we move between during
|
|
* <animateMotion>. Each nsSMILValue will get a nsTArray of these (generally
|
|
* with at most 1 entry in the array, except for in SandwichAdd). (This
|
|
* matches our behavior in nsSVGTransformSMILType.)
|
|
*
|
|
* NOTE: In general, MotionSegments are represented as points on a path
|
|
* (eSegmentType_PathPoint), so that we can easily interpolate and compute
|
|
* distance *along their path*. However, Add() outputs MotionSegments as
|
|
* simple translations (eSegmentType_Translation), because adding two points
|
|
* from a path (e.g. when accumulating a repeated animation) will generally
|
|
* take you to an arbitrary point *off* of the path.
|
|
*/
|
|
struct MotionSegment
|
|
{
|
|
// Default constructor just locks us into being a Translation, and leaves
|
|
// other fields uninitialized (since client is presumably about to set them)
|
|
MotionSegment()
|
|
: mSegmentType(eSegmentType_Translation)
|
|
{ }
|
|
|
|
// Constructor for a translation
|
|
MotionSegment(float aX, float aY, float aRotateAngle)
|
|
: mRotateType(eRotateType_Explicit), mRotateAngle(aRotateAngle),
|
|
mSegmentType(eSegmentType_Translation)
|
|
{
|
|
mU.mTranslationParams.mX = aX;
|
|
mU.mTranslationParams.mY = aY;
|
|
}
|
|
|
|
// Constructor for a point on a path (NOTE: AddRef's)
|
|
MotionSegment(Path* aPath, float aDistToPoint,
|
|
RotateType aRotateType, float aRotateAngle)
|
|
: mRotateType(aRotateType), mRotateAngle(aRotateAngle),
|
|
mSegmentType(eSegmentType_PathPoint)
|
|
{
|
|
mU.mPathPointParams.mPath = aPath;
|
|
mU.mPathPointParams.mDistToPoint = aDistToPoint;
|
|
|
|
NS_ADDREF(mU.mPathPointParams.mPath); // Retain a reference to path
|
|
}
|
|
|
|
// Copy constructor (NOTE: AddRef's if we're eSegmentType_PathPoint)
|
|
MotionSegment(const MotionSegment& aOther)
|
|
: mRotateType(aOther.mRotateType), mRotateAngle(aOther.mRotateAngle),
|
|
mSegmentType(aOther.mSegmentType)
|
|
{
|
|
if (mSegmentType == eSegmentType_Translation) {
|
|
mU.mTranslationParams = aOther.mU.mTranslationParams;
|
|
} else { // mSegmentType == eSegmentType_PathPoint
|
|
mU.mPathPointParams = aOther.mU.mPathPointParams;
|
|
NS_ADDREF(mU.mPathPointParams.mPath); // Retain a reference to path
|
|
}
|
|
}
|
|
|
|
// Destructor (releases any reference we were holding onto)
|
|
~MotionSegment()
|
|
{
|
|
if (mSegmentType == eSegmentType_PathPoint) {
|
|
NS_RELEASE(mU.mPathPointParams.mPath);
|
|
}
|
|
}
|
|
|
|
// Comparison operators
|
|
bool operator==(const MotionSegment& aOther) const
|
|
{
|
|
// Compare basic params
|
|
if (mSegmentType != aOther.mSegmentType ||
|
|
mRotateType != aOther.mRotateType ||
|
|
(mRotateType == eRotateType_Explicit && // Technically, angle mismatch
|
|
mRotateAngle != aOther.mRotateAngle)) { // only matters for Explicit.
|
|
return false;
|
|
}
|
|
|
|
// Compare translation params, if we're a translation.
|
|
if (mSegmentType == eSegmentType_Translation) {
|
|
return mU.mTranslationParams.mX == aOther.mU.mTranslationParams.mX &&
|
|
mU.mTranslationParams.mY == aOther.mU.mTranslationParams.mY;
|
|
}
|
|
|
|
// Else, compare path-point params, if we're a path point.
|
|
return (mU.mPathPointParams.mPath == aOther.mU.mPathPointParams.mPath) &&
|
|
(mU.mPathPointParams.mDistToPoint ==
|
|
aOther.mU.mPathPointParams.mDistToPoint);
|
|
}
|
|
|
|
bool operator!=(const MotionSegment& aOther) const
|
|
{
|
|
return !(*this == aOther);
|
|
}
|
|
|
|
// Member Data
|
|
// -----------
|
|
RotateType mRotateType; // Explicit angle vs. auto vs. auto-reverse.
|
|
float mRotateAngle; // Only used if mRotateType == eRotateType_Explicit.
|
|
const SegmentType mSegmentType; // This determines how we interpret
|
|
// mU. (const for safety/sanity)
|
|
|
|
union { // Union to let us hold the params for either segment-type.
|
|
TranslationParams mTranslationParams;
|
|
PathPointParams mPathPointParams;
|
|
} mU;
|
|
};
|
|
|
|
typedef FallibleTArray<MotionSegment> MotionSegmentArray;
|
|
|
|
// Helper methods to cast nsSMILValue.mU.mPtr to the right pointer-type
|
|
static MotionSegmentArray&
|
|
ExtractMotionSegmentArray(nsSMILValue& aValue)
|
|
{
|
|
return *static_cast<MotionSegmentArray*>(aValue.mU.mPtr);
|
|
}
|
|
|
|
static const MotionSegmentArray&
|
|
ExtractMotionSegmentArray(const nsSMILValue& aValue)
|
|
{
|
|
return *static_cast<const MotionSegmentArray*>(aValue.mU.mPtr);
|
|
}
|
|
|
|
// nsISMILType Methods
|
|
// -------------------
|
|
|
|
void
|
|
SVGMotionSMILType::Init(nsSMILValue& aValue) const
|
|
{
|
|
NS_ABORT_IF_FALSE(aValue.IsNull(), "Unexpected SMIL type");
|
|
|
|
aValue.mType = this;
|
|
aValue.mU.mPtr = new MotionSegmentArray(1);
|
|
}
|
|
|
|
void
|
|
SVGMotionSMILType::Destroy(nsSMILValue& aValue) const
|
|
{
|
|
NS_ABORT_IF_FALSE(aValue.mType == this, "Unexpected SMIL type");
|
|
|
|
MotionSegmentArray* arr = static_cast<MotionSegmentArray*>(aValue.mU.mPtr);
|
|
delete arr;
|
|
|
|
aValue.mU.mPtr = nullptr;
|
|
aValue.mType = nsSMILNullType::Singleton();
|
|
}
|
|
|
|
nsresult
|
|
SVGMotionSMILType::Assign(nsSMILValue& aDest, const nsSMILValue& aSrc) const
|
|
{
|
|
NS_ABORT_IF_FALSE(aDest.mType == aSrc.mType, "Incompatible SMIL types");
|
|
NS_ABORT_IF_FALSE(aDest.mType == this, "Unexpected SMIL type");
|
|
|
|
const MotionSegmentArray& srcArr = ExtractMotionSegmentArray(aSrc);
|
|
MotionSegmentArray& dstArr = ExtractMotionSegmentArray(aDest);
|
|
|
|
// Ensure we have sufficient memory.
|
|
if (!dstArr.SetCapacity(srcArr.Length())) {
|
|
return NS_ERROR_OUT_OF_MEMORY;
|
|
}
|
|
|
|
dstArr = srcArr; // Do the assignment.
|
|
return NS_OK;
|
|
}
|
|
|
|
bool
|
|
SVGMotionSMILType::IsEqual(const nsSMILValue& aLeft,
|
|
const nsSMILValue& aRight) const
|
|
{
|
|
NS_ABORT_IF_FALSE(aLeft.mType == aRight.mType, "Incompatible SMIL types");
|
|
NS_ABORT_IF_FALSE(aLeft.mType == this, "Unexpected SMIL type");
|
|
|
|
const MotionSegmentArray& leftArr = ExtractMotionSegmentArray(aLeft);
|
|
const MotionSegmentArray& rightArr = ExtractMotionSegmentArray(aRight);
|
|
|
|
// If array-lengths don't match, we're trivially non-equal.
|
|
if (leftArr.Length() != rightArr.Length()) {
|
|
return false;
|
|
}
|
|
|
|
// Array-lengths match -- check each array-entry for equality.
|
|
uint32_t length = leftArr.Length(); // == rightArr->Length(), if we get here
|
|
for (uint32_t i = 0; i < length; ++i) {
|
|
if (leftArr[i] != rightArr[i]) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true; // If we get here, we found no differences.
|
|
}
|
|
|
|
// Helper method for Add & CreateMatrix
|
|
inline static void
|
|
GetAngleAndPointAtDistance(Path* aPath, float aDistance,
|
|
RotateType aRotateType,
|
|
float& aRotateAngle, // in & out-param.
|
|
Point& aPoint) // out-param.
|
|
{
|
|
if (aRotateType == eRotateType_Explicit) {
|
|
// Leave aRotateAngle as-is.
|
|
aPoint = aPath->ComputePointAtLength(aDistance);
|
|
} else {
|
|
Point tangent; // Unit vector tangent to the point we find.
|
|
aPoint = aPath->ComputePointAtLength(aDistance, &tangent);
|
|
float tangentAngle = atan2(tangent.y, tangent.x);
|
|
if (aRotateType == eRotateType_Auto) {
|
|
aRotateAngle = tangentAngle;
|
|
} else {
|
|
MOZ_ASSERT(aRotateType == eRotateType_AutoReverse);
|
|
aRotateAngle = M_PI + tangentAngle;
|
|
}
|
|
}
|
|
}
|
|
|
|
nsresult
|
|
SVGMotionSMILType::Add(nsSMILValue& aDest, const nsSMILValue& aValueToAdd,
|
|
uint32_t aCount) const
|
|
{
|
|
NS_ABORT_IF_FALSE(aDest.mType == aValueToAdd.mType,
|
|
"Incompatible SMIL types");
|
|
NS_ABORT_IF_FALSE(aDest.mType == this, "Unexpected SMIL type");
|
|
|
|
MotionSegmentArray& dstArr = ExtractMotionSegmentArray(aDest);
|
|
const MotionSegmentArray& srcArr = ExtractMotionSegmentArray(aValueToAdd);
|
|
|
|
// We're doing a simple add here (as opposed to a sandwich add below). We
|
|
// only do this when we're accumulating a repeat result.
|
|
// NOTE: In other nsISMILTypes, we use this method with a barely-initialized
|
|
// |aDest| value to assist with "by" animation. (In this case,
|
|
// "barely-initialized" would mean dstArr.Length() would be empty.) However,
|
|
// we don't do this for <animateMotion>, because we instead use our "by"
|
|
// value to construct an equivalent "path" attribute, and we use *that* for
|
|
// our actual animation.
|
|
NS_ABORT_IF_FALSE(srcArr.Length() == 1, "Invalid source segment arr to add");
|
|
NS_ABORT_IF_FALSE(dstArr.Length() == 1, "Invalid dest segment arr to add to");
|
|
const MotionSegment& srcSeg = srcArr[0];
|
|
const MotionSegment& dstSeg = dstArr[0];
|
|
NS_ABORT_IF_FALSE(srcSeg.mSegmentType == eSegmentType_PathPoint,
|
|
"expecting to be adding points from a motion path");
|
|
NS_ABORT_IF_FALSE(dstSeg.mSegmentType == eSegmentType_PathPoint,
|
|
"expecting to be adding points from a motion path");
|
|
|
|
const PathPointParams& srcParams = srcSeg.mU.mPathPointParams;
|
|
const PathPointParams& dstParams = dstSeg.mU.mPathPointParams;
|
|
|
|
NS_ABORT_IF_FALSE(srcSeg.mRotateType == dstSeg.mRotateType &&
|
|
srcSeg.mRotateAngle == dstSeg.mRotateAngle,
|
|
"unexpected angle mismatch");
|
|
NS_ABORT_IF_FALSE(srcParams.mPath == dstParams.mPath,
|
|
"unexpected path mismatch");
|
|
Path* path = srcParams.mPath;
|
|
|
|
// Use destination to get our rotate angle.
|
|
float rotateAngle = dstSeg.mRotateAngle;
|
|
Point dstPt;
|
|
GetAngleAndPointAtDistance(path, dstParams.mDistToPoint, dstSeg.mRotateType,
|
|
rotateAngle, dstPt);
|
|
|
|
Point srcPt = path->ComputePointAtLength(srcParams.mDistToPoint);
|
|
|
|
float newX = dstPt.x + srcPt.x * aCount;
|
|
float newY = dstPt.y + srcPt.y * aCount;
|
|
|
|
// Replace destination's current value -- a point-on-a-path -- with the
|
|
// translation that results from our addition.
|
|
dstArr.Clear();
|
|
dstArr.AppendElement(MotionSegment(newX, newY, rotateAngle));
|
|
return NS_OK;
|
|
}
|
|
|
|
nsresult
|
|
SVGMotionSMILType::SandwichAdd(nsSMILValue& aDest,
|
|
const nsSMILValue& aValueToAdd) const
|
|
{
|
|
NS_ABORT_IF_FALSE(aDest.mType == aValueToAdd.mType,
|
|
"Incompatible SMIL types");
|
|
NS_ABORT_IF_FALSE(aDest.mType == this, "Unexpected SMIL type");
|
|
MotionSegmentArray& dstArr = ExtractMotionSegmentArray(aDest);
|
|
const MotionSegmentArray& srcArr = ExtractMotionSegmentArray(aValueToAdd);
|
|
|
|
// We're only expecting to be adding 1 segment on to the list
|
|
NS_ABORT_IF_FALSE(srcArr.Length() == 1,
|
|
"Trying to do sandwich add of more than one value");
|
|
|
|
if (!dstArr.AppendElement(srcArr[0])) {
|
|
return NS_ERROR_OUT_OF_MEMORY;
|
|
}
|
|
|
|
return NS_OK;
|
|
}
|
|
|
|
nsresult
|
|
SVGMotionSMILType::ComputeDistance(const nsSMILValue& aFrom,
|
|
const nsSMILValue& aTo,
|
|
double& aDistance) const
|
|
{
|
|
NS_ABORT_IF_FALSE(aFrom.mType == aTo.mType, "Incompatible SMIL types");
|
|
NS_ABORT_IF_FALSE(aFrom.mType == this, "Unexpected SMIL type");
|
|
const MotionSegmentArray& fromArr = ExtractMotionSegmentArray(aFrom);
|
|
const MotionSegmentArray& toArr = ExtractMotionSegmentArray(aTo);
|
|
|
|
// ComputeDistance is only used for calculating distances between single
|
|
// values in a values array. So we should only have one entry in each array.
|
|
NS_ABORT_IF_FALSE(fromArr.Length() == 1,
|
|
"Wrong number of elements in from value");
|
|
NS_ABORT_IF_FALSE(toArr.Length() == 1,
|
|
"Wrong number of elements in to value");
|
|
|
|
const MotionSegment& from = fromArr[0];
|
|
const MotionSegment& to = toArr[0];
|
|
|
|
NS_ABORT_IF_FALSE(from.mSegmentType == to.mSegmentType,
|
|
"Mismatched MotionSegment types");
|
|
if (from.mSegmentType == eSegmentType_PathPoint) {
|
|
const PathPointParams& fromParams = from.mU.mPathPointParams;
|
|
const PathPointParams& toParams = to.mU.mPathPointParams;
|
|
NS_ABORT_IF_FALSE(fromParams.mPath == toParams.mPath,
|
|
"Interpolation endpoints should be from same path");
|
|
NS_ABORT_IF_FALSE(fromParams.mDistToPoint <= toParams.mDistToPoint,
|
|
"To value shouldn't be before from value on path");
|
|
aDistance = fabs(toParams.mDistToPoint - fromParams.mDistToPoint);
|
|
} else {
|
|
const TranslationParams& fromParams = from.mU.mTranslationParams;
|
|
const TranslationParams& toParams = to.mU.mTranslationParams;
|
|
float dX = toParams.mX - fromParams.mX;
|
|
float dY = toParams.mY - fromParams.mY;
|
|
aDistance = NS_hypot(dX, dY);
|
|
}
|
|
|
|
return NS_OK;
|
|
}
|
|
|
|
// Helper method for Interpolate()
|
|
static inline float
|
|
InterpolateFloat(const float& aStartFlt, const float& aEndFlt,
|
|
const double& aUnitDistance)
|
|
{
|
|
return aStartFlt + aUnitDistance * (aEndFlt - aStartFlt);
|
|
}
|
|
|
|
nsresult
|
|
SVGMotionSMILType::Interpolate(const nsSMILValue& aStartVal,
|
|
const nsSMILValue& aEndVal,
|
|
double aUnitDistance,
|
|
nsSMILValue& aResult) const
|
|
{
|
|
NS_ABORT_IF_FALSE(aStartVal.mType == aEndVal.mType,
|
|
"Trying to interpolate different types");
|
|
NS_ABORT_IF_FALSE(aStartVal.mType == this,
|
|
"Unexpected types for interpolation");
|
|
NS_ABORT_IF_FALSE(aResult.mType == this, "Unexpected result type");
|
|
NS_ABORT_IF_FALSE(aUnitDistance >= 0.0 && aUnitDistance <= 1.0,
|
|
"unit distance value out of bounds");
|
|
|
|
const MotionSegmentArray& startArr = ExtractMotionSegmentArray(aStartVal);
|
|
const MotionSegmentArray& endArr = ExtractMotionSegmentArray(aEndVal);
|
|
MotionSegmentArray& resultArr = ExtractMotionSegmentArray(aResult);
|
|
|
|
NS_ABORT_IF_FALSE(startArr.Length() <= 1,
|
|
"Invalid start-point for animateMotion interpolation");
|
|
NS_ABORT_IF_FALSE(endArr.Length() == 1,
|
|
"Invalid end-point for animateMotion interpolation");
|
|
NS_ABORT_IF_FALSE(resultArr.IsEmpty(),
|
|
"Expecting result to be just-initialized w/ empty array");
|
|
|
|
const MotionSegment& endSeg = endArr[0];
|
|
NS_ABORT_IF_FALSE(endSeg.mSegmentType == eSegmentType_PathPoint,
|
|
"Expecting to be interpolating along a path");
|
|
|
|
const PathPointParams& endParams = endSeg.mU.mPathPointParams;
|
|
// NOTE: path & angle should match between start & end (since presumably
|
|
// start & end came from the same <animateMotion> element), unless start is
|
|
// empty. (as it would be for pure 'to' animation)
|
|
Path* path = endParams.mPath;
|
|
RotateType rotateType = endSeg.mRotateType;
|
|
float rotateAngle = endSeg.mRotateAngle;
|
|
|
|
float startDist;
|
|
if (startArr.IsEmpty()) {
|
|
startDist = 0.0f;
|
|
} else {
|
|
const MotionSegment& startSeg = startArr[0];
|
|
NS_ABORT_IF_FALSE(startSeg.mSegmentType == eSegmentType_PathPoint,
|
|
"Expecting to be interpolating along a path");
|
|
const PathPointParams& startParams = startSeg.mU.mPathPointParams;
|
|
NS_ABORT_IF_FALSE(startSeg.mRotateType == endSeg.mRotateType &&
|
|
startSeg.mRotateAngle == endSeg.mRotateAngle,
|
|
"unexpected angle mismatch");
|
|
NS_ABORT_IF_FALSE(startParams.mPath == endParams.mPath,
|
|
"unexpected path mismatch");
|
|
startDist = startParams.mDistToPoint;
|
|
}
|
|
|
|
// Get the interpolated distance along our path.
|
|
float resultDist = InterpolateFloat(startDist, endParams.mDistToPoint,
|
|
aUnitDistance);
|
|
|
|
// Construct the intermediate result segment, and put it in our outparam.
|
|
// AppendElement has guaranteed success here, since Init() allocates 1 slot.
|
|
resultArr.AppendElement(MotionSegment(path, resultDist,
|
|
rotateType, rotateAngle));
|
|
return NS_OK;
|
|
}
|
|
|
|
/* static */ gfx::Matrix
|
|
SVGMotionSMILType::CreateMatrix(const nsSMILValue& aSMILVal)
|
|
{
|
|
const MotionSegmentArray& arr = ExtractMotionSegmentArray(aSMILVal);
|
|
|
|
gfx::Matrix matrix;
|
|
uint32_t length = arr.Length();
|
|
for (uint32_t i = 0; i < length; i++) {
|
|
Point point; // initialized below
|
|
float rotateAngle = arr[i].mRotateAngle; // might get updated below
|
|
if (arr[i].mSegmentType == eSegmentType_Translation) {
|
|
point.x = arr[i].mU.mTranslationParams.mX;
|
|
point.y = arr[i].mU.mTranslationParams.mY;
|
|
NS_ABORT_IF_FALSE(arr[i].mRotateType == eRotateType_Explicit,
|
|
"'auto'/'auto-reverse' should have been converted to "
|
|
"explicit angles when we generated this translation");
|
|
} else {
|
|
GetAngleAndPointAtDistance(arr[i].mU.mPathPointParams.mPath,
|
|
arr[i].mU.mPathPointParams.mDistToPoint,
|
|
arr[i].mRotateType,
|
|
rotateAngle, point);
|
|
}
|
|
matrix.PreTranslate(point.x, point.y);
|
|
matrix.PreRotate(rotateAngle);
|
|
}
|
|
return matrix;
|
|
}
|
|
|
|
/* static */ nsSMILValue
|
|
SVGMotionSMILType::ConstructSMILValue(Path* aPath,
|
|
float aDist,
|
|
RotateType aRotateType,
|
|
float aRotateAngle)
|
|
{
|
|
nsSMILValue smilVal(&SVGMotionSMILType::sSingleton);
|
|
MotionSegmentArray& arr = ExtractMotionSegmentArray(smilVal);
|
|
|
|
// AppendElement has guaranteed success here, since Init() allocates 1 slot.
|
|
arr.AppendElement(MotionSegment(aPath, aDist, aRotateType, aRotateAngle));
|
|
return smilVal;
|
|
}
|
|
|
|
} // namespace mozilla
|