haikuwebkit/LayoutTests/svg/W3C-SVG-1.1-SE/types-dom-04-b.svg

255 lines
9.5 KiB
XML
Raw Permalink Normal View History

2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49311 Move the last list type, SVGTransformList, and the last POD types, SVGMatrix & SVGTransform, over to the new SVGPropertyTearOff concept. Removes the need for a custom JSSVGMatrix/V8SVGMatrix implementation, it's all integrated within the bindings now. Tests: svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg svg/W3C-SVG-1.1-SE/types-dom-01-b.svg svg/W3C-SVG-1.1-SE/types-dom-02-f.svg svg/W3C-SVG-1.1-SE/types-dom-03-b.svg svg/W3C-SVG-1.1-SE/types-dom-04-b.svg svg/W3C-SVG-1.1-SE/types-dom-05-b.svg svg/dom/SVGMatrix.html svg/dom/SVGTransform.html svg/dom/SVGTransformList.html * Android.jscbindings.mk: Removed JSSVGMatrixCustom.cpp. * Android.v8bindings.mk: Removed V8SVGMatrixCustom.cpp. * CMakeLists.txt: Remove JSSVGMatrixCustom.cpp. * GNUmakefile.am: Ditto. Add SVGAnimatedTransformListPropertyTearOff.h/SVGStaticPropertyWithParentTearOff.h/SVGTransformListPropertyTearOff.h/SVGAnimatedTransformList.h/SVGMatrix.h to build. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGMatrixCustom.cpp * bindings/js/JSSVGMatrixCustom.cpp: Removed. * bindings/scripts/CodeGenerator.pm: Convert SVGMatrix/SVGTransform/SVGTransformList to the new concept. * bindings/scripts/CodeGeneratorJS.pm: Ditto. * bindings/scripts/CodeGeneratorObjC.pm: Ditto. * bindings/scripts/CodeGeneratorV8.pm: Ditto. * bindings/v8/custom/V8SVGMatrixCustom.cpp: Removed. * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGTransformList handling. * svg/DeprecatedSVGAnimatedTemplate.h: Ditto. * svg/SVGAnimateTransformElement.cpp: Adapt to SVGTransformList API changes. (WebCore::transformListFor): (WebCore::SVGAnimateTransformElement::resetToBaseValue): (WebCore::SVGAnimateTransformElement::calculateAnimatedValue): (WebCore::SVGAnimateTransformElement::applyResultsToTarget): * svg/SVGAnimatedTransformList.h: Added. * svg/SVGGradientElement.cpp: Ditto. (WebCore::SVGGradientElement::SVGGradientElement): (WebCore::SVGGradientElement::parseMappedAttribute): * svg/SVGGradientElement.h: Ditto. * svg/SVGLinearGradientElement.cpp: Ditto. (WebCore::SVGLinearGradientElement::collectGradientAttributes): * svg/SVGMatrix.h: Added. SVGMatrix inherits from AffineTransform, and is only used in the bindings. It implements SVGs special requirements. (WebCore::SVGMatrix::translate): Returns a copy of the matrix, not affecting the original matrix. (WebCore::SVGMatrix::scale): Ditto. (WebCore::SVGMatrix::scaleNonUniform): Ditto. (WebCore::SVGMatrix::rotate): Ditto. (WebCore::SVGMatrix::flipX): Ditto. (WebCore::SVGMatrix::flipY): Ditto. (WebCore::SVGMatrix::skewX): Ditto. (WebCore::SVGMatrix::skewY): Ditto. (WebCore::SVGMatrix::multiply): Ditto. (WebCore::SVGMatrix::inverse): Ditto. (WebCore::SVGMatrix::rotateFromVector): Dittto. * svg/SVGMatrix.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions. * svg/SVGPatternElement.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::parseMappedAttribute): (WebCore::SVGPatternElement::collectPatternAttributes): * svg/SVGPatternElement.h: Ditto. * svg/SVGPoint.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise for 'matrixTransform', now that SVGMatrix has been converted to the new scheme. * svg/SVGRadialGradientElement.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGRadialGradientElement::collectGradientAttributes): * svg/SVGSVGElement.cpp: Ditto. (WebCore::SVGSVGElement::createSVGTransformFromMatrix): (WebCore::SVGSVGElement::viewBoxToViewTransform): * svg/SVGSVGElement.h: Ditto. * svg/SVGStyledTransformableElement.cpp: Ditto. (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): (WebCore::SVGStyledTransformableElement::animatedLocalTransform): (WebCore::SVGStyledTransformableElement::parseMappedAttribute): * svg/SVGStyledTransformableElement.h: Ditto. * svg/SVGTextElement.cpp: Ditto. (WebCore::SVGTextElement::SVGTextElement): (WebCore::SVGTextElement::parseMappedAttribute): (WebCore::SVGTextElement::animatedLocalTransform): * svg/SVGTextElement.h: Ditto. * svg/SVGTransform.cpp: Modernize code, inlined some getters. (WebCore::SVGTransform::SVGTransform): (WebCore::SVGTransform::setMatrix): * svg/SVGTransform.h: Reindent header. (WebCore::SVGTransform::type): (WebCore::SVGTransform::svgMatrix): (WebCore::SVGTransform::matrix): (WebCore::SVGTransform::angle): (WebCore::SVGTransform::rotationCenter): (WebCore::SVGTransform::isValid): (WebCore::operator==): Avoid function calls, make operator== a friend of SVGTransform, and compare members directly. (WebCore::operator!=): * svg/SVGTransform.idl: * svg/SVGTransformList.cpp: Rewritten as plain Vector<SVGTransform>. (WebCore::SVGTransformList::createSVGTransformFromMatrix): (WebCore::SVGTransformList::consolidate): (WebCore::SVGTransformList::concatenate): (WebCore::SVGTransformList::valueAsString): * svg/SVGTransformList.h: (WebCore::SVGTransformList::SVGTransformList): * svg/SVGTransformList.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions. * svg/SVGTransformable.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGTransformable::parseTransformAttribute): * svg/SVGTransformable.h: Ditto. * svg/SVGViewSpec.cpp: Ditto. (WebCore::SVGViewSpec::SVGViewSpec): (WebCore::SVGViewSpec::setTransform): (WebCore::SVGViewSpec::parseViewSpec): * svg/SVGViewSpec.h: Ditto. (WebCore::SVGViewSpec::transform): * svg/properties/SVGAnimatedListPropertyTearOff.h: Made constructor and members protected. * svg/properties/SVGAnimatedPropertyMacros.h: Add new helper macro DECLARE_ANIMATED_TRANSFORM_LIST_PROPERTY. This is needed until we expand all macros. * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Added. Extends SVGAnimatedListPropertyTearOff, returning SVGTransformListPropertyTearOff objects. (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::create): (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff): * svg/properties/SVGListPropertyTearOff.h: Made construct and members protected. * svg/properties/SVGProperty.h: Declare commitChange() as pure virtual method. * svg/properties/SVGPropertyTraits.h: Handle SVGTransformList. * svg/properties/SVGStaticPropertyWithParentTearOff.h: Added. Same concept as JSSVGStaticPODTypeWrapperWithParent, used to expose SVGPropertyTearOffs for types that are using this concept themselves. (SVGMatrix attribute of SVGTransform, both are POD types, using SVGPropertyTearOff). (WebCore::SVGStaticPropertyWithParentTearOff::create): (WebCore::SVGStaticPropertyWithParentTearOff::commitChange): (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff): * svg/properties/SVGTransformListPropertyTearOff.h: Added. Extends SVGListPropertyTearOff by two special SVGTransformList methods: consolidate and createSVGTransformFromMatrix. (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff): 2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49311 Add tests covering StrictTypeChecking and RequiresAllArguments=Raise for SVGMatrix/SVGPoint. Imported several new tests from SVG 1.1 2nd Edition, regarding SVG DOM primitives. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt: Added. * svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-01-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-02-f.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-03-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-05-b.svg: Added. * svg/dom/SVGMatrix-expected.txt: Added. * svg/dom/SVGMatrix.html: Added. * svg/dom/SVGPoint-expected.txt: * svg/dom/SVGTransform-expected.txt: Added. * svg/dom/SVGTransform.html: Added. * svg/dom/SVGTransformList-expected.txt: Added. * svg/dom/SVGTransformList.html: Added. * svg/dom/script-tests/SVGMatrix.js: Added. * svg/dom/script-tests/SVGPoint.js: * svg/dom/script-tests/SVGTransform.js: Added. * svg/dom/script-tests/SVGTransformList.js: Added. Canonical link: https://commits.webkit.org/62278@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@71802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-11 11:20:11 +00:00
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.3" reviewer="ED" author="CM" status="accepted"
version="$Revision: 1.7 $" testname="$RCSfile: types-dom-04-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/svgdom.html#SVGDOMOverview">
<p>
This tests that SVG DOM objects that correspond to attributes
are live.
This is tested for interfaces
SVGAnimatedNumberList, SVGAnimatedLength,
SVGAnimatedLengthList, SVGAnimatedAngle, SVGAnimatedRect,
SVGAnimatedTransformList, SVGAnimatedPreserveAspectRatio,
SVGAnimatedBoolean, SVGAnimatedString, SVGAnimatedEnumeration,
SVGAnimatedInteger and SVGAnimatedNumber.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
Once loaded, the test shows 12 rectangles, one for
each sub-test. Each sub-test is checking that
an SVG DOM object of a particular interface is live.
The rectangle indicates the result of running the
sub-test: black to indicate that it wasn't run,
red to indicate that it failed, and green to indicate
that it passed.
</p>
<p>
The test is passed if all 12 rectangles are green.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: types-dom-04-b.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
2011-02-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Maciej Stachowiak. LayoutTests/svg cleanup https://bugs.webkit.org/show_bug.cgi?id=54184 Fix wrong xlink:hrefs in dozens of SVG testcases. SVGFreeSans.svg is now used in more places. Remove unnecessary xml-stylesheet declarations, and unneeded text css attributes in some places. Updated pixel test results for the affected testcases. * platform/mac-snowleopard/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.checksum: * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png: * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.checksum: * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png: * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.checksum: * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png: * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.checksum: * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png: * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.checksum: * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.png: * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.checksum: * platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.png: * platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.checksum: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.checksum: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.checksum: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.checksum: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.checksum: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.checksum: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.png: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.checksum: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.png: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt: * platform/mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.checksum: * platform/mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.png: * platform/mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt: * platform/mac/svg/W3C-SVG-1.1/filters-turb-02-f-expected.checksum: * platform/mac/svg/W3C-SVG-1.1/filters-turb-02-f-expected.png: * platform/mac/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt: * platform/mac/svg/batik/filters/feTile-expected.checksum: * platform/mac/svg/batik/filters/feTile-expected.png: * platform/mac/svg/batik/filters/feTile-expected.txt: * platform/mac/svg/css/circle-in-mask-with-shadow-expected.checksum: * platform/mac/svg/css/circle-in-mask-with-shadow-expected.png: * platform/mac/svg/css/mask-with-shadow-expected.checksum: * platform/mac/svg/css/mask-with-shadow-expected.png: * platform/mac/svg/foreignObject/text-tref-02-b-expected.checksum: * platform/mac/svg/foreignObject/text-tref-02-b-expected.png: * platform/mac/svg/foreignObject/text-tref-02-b-expected.txt: * platform/mac/svg/text/text-tref-01-b-expected.checksum: * platform/mac/svg/text/text-tref-01-b-expected.png: * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.checksum: * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.png: * platform/mac/svg/zoom/page/zoom-mask-with-percentages-expected.checksum: * platform/mac/svg/zoom/page/zoom-mask-with-percentages-expected.png: * platform/mac/svg/zoom/page/zoom-mask-with-percentages-expected.txt: * svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg: * svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg: * svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg: * svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg: * svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg: * svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg: * svg/W3C-SVG-1.1-SE/types-dom-01-b.svg: * svg/W3C-SVG-1.1-SE/types-dom-02-f.svg: * svg/W3C-SVG-1.1-SE/types-dom-03-b.svg: * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: * svg/W3C-SVG-1.1-SE/types-dom-05-b.svg: * svg/W3C-SVG-1.1-SE/types-dom-06-f.svg: * svg/W3C-SVG-1.1-SE/types-dom-07-f.svg: * svg/W3C-SVG-1.1/filters-light-04-f.svg: * svg/W3C-SVG-1.1/filters-turb-02-f.svg: * svg/W3C-SVG-1.1/resources/interact-order-02-b-targ.svg: * svg/W3C-SVG-1.1/resources/interact-order-03-b-targ.svg: * svg/W3C-SVG-1.1/resources/linkingToc-t.svg: * svg/batik/filters/feTile.svg: * svg/css/circle-in-mask-with-shadow.svg: * svg/css/mask-with-shadow.svg: * svg/custom/image-clipped-hit.svg: * svg/foreignObject/text-tref-02-b.svg: * svg/hixie/cascade/002.css: Removed. * svg/text/text-tref-01-b.svg: * svg/transforms/animated-path-inside-transformed-html.xhtml: * svg/zoom/page/zoom-mask-with-percentages.svg: * svg/zoom/page/zoom-zoom-coords.xhtml: Canonical link: https://commits.webkit.org/68200@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@78182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-02-10 10:25:55 +00:00
<font-face-uri xlink:href="../custom/resources/SVGFreeSans.svg#ascii"/>
2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49311 Move the last list type, SVGTransformList, and the last POD types, SVGMatrix & SVGTransform, over to the new SVGPropertyTearOff concept. Removes the need for a custom JSSVGMatrix/V8SVGMatrix implementation, it's all integrated within the bindings now. Tests: svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg svg/W3C-SVG-1.1-SE/types-dom-01-b.svg svg/W3C-SVG-1.1-SE/types-dom-02-f.svg svg/W3C-SVG-1.1-SE/types-dom-03-b.svg svg/W3C-SVG-1.1-SE/types-dom-04-b.svg svg/W3C-SVG-1.1-SE/types-dom-05-b.svg svg/dom/SVGMatrix.html svg/dom/SVGTransform.html svg/dom/SVGTransformList.html * Android.jscbindings.mk: Removed JSSVGMatrixCustom.cpp. * Android.v8bindings.mk: Removed V8SVGMatrixCustom.cpp. * CMakeLists.txt: Remove JSSVGMatrixCustom.cpp. * GNUmakefile.am: Ditto. Add SVGAnimatedTransformListPropertyTearOff.h/SVGStaticPropertyWithParentTearOff.h/SVGTransformListPropertyTearOff.h/SVGAnimatedTransformList.h/SVGMatrix.h to build. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGMatrixCustom.cpp * bindings/js/JSSVGMatrixCustom.cpp: Removed. * bindings/scripts/CodeGenerator.pm: Convert SVGMatrix/SVGTransform/SVGTransformList to the new concept. * bindings/scripts/CodeGeneratorJS.pm: Ditto. * bindings/scripts/CodeGeneratorObjC.pm: Ditto. * bindings/scripts/CodeGeneratorV8.pm: Ditto. * bindings/v8/custom/V8SVGMatrixCustom.cpp: Removed. * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGTransformList handling. * svg/DeprecatedSVGAnimatedTemplate.h: Ditto. * svg/SVGAnimateTransformElement.cpp: Adapt to SVGTransformList API changes. (WebCore::transformListFor): (WebCore::SVGAnimateTransformElement::resetToBaseValue): (WebCore::SVGAnimateTransformElement::calculateAnimatedValue): (WebCore::SVGAnimateTransformElement::applyResultsToTarget): * svg/SVGAnimatedTransformList.h: Added. * svg/SVGGradientElement.cpp: Ditto. (WebCore::SVGGradientElement::SVGGradientElement): (WebCore::SVGGradientElement::parseMappedAttribute): * svg/SVGGradientElement.h: Ditto. * svg/SVGLinearGradientElement.cpp: Ditto. (WebCore::SVGLinearGradientElement::collectGradientAttributes): * svg/SVGMatrix.h: Added. SVGMatrix inherits from AffineTransform, and is only used in the bindings. It implements SVGs special requirements. (WebCore::SVGMatrix::translate): Returns a copy of the matrix, not affecting the original matrix. (WebCore::SVGMatrix::scale): Ditto. (WebCore::SVGMatrix::scaleNonUniform): Ditto. (WebCore::SVGMatrix::rotate): Ditto. (WebCore::SVGMatrix::flipX): Ditto. (WebCore::SVGMatrix::flipY): Ditto. (WebCore::SVGMatrix::skewX): Ditto. (WebCore::SVGMatrix::skewY): Ditto. (WebCore::SVGMatrix::multiply): Ditto. (WebCore::SVGMatrix::inverse): Ditto. (WebCore::SVGMatrix::rotateFromVector): Dittto. * svg/SVGMatrix.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions. * svg/SVGPatternElement.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::parseMappedAttribute): (WebCore::SVGPatternElement::collectPatternAttributes): * svg/SVGPatternElement.h: Ditto. * svg/SVGPoint.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise for 'matrixTransform', now that SVGMatrix has been converted to the new scheme. * svg/SVGRadialGradientElement.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGRadialGradientElement::collectGradientAttributes): * svg/SVGSVGElement.cpp: Ditto. (WebCore::SVGSVGElement::createSVGTransformFromMatrix): (WebCore::SVGSVGElement::viewBoxToViewTransform): * svg/SVGSVGElement.h: Ditto. * svg/SVGStyledTransformableElement.cpp: Ditto. (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): (WebCore::SVGStyledTransformableElement::animatedLocalTransform): (WebCore::SVGStyledTransformableElement::parseMappedAttribute): * svg/SVGStyledTransformableElement.h: Ditto. * svg/SVGTextElement.cpp: Ditto. (WebCore::SVGTextElement::SVGTextElement): (WebCore::SVGTextElement::parseMappedAttribute): (WebCore::SVGTextElement::animatedLocalTransform): * svg/SVGTextElement.h: Ditto. * svg/SVGTransform.cpp: Modernize code, inlined some getters. (WebCore::SVGTransform::SVGTransform): (WebCore::SVGTransform::setMatrix): * svg/SVGTransform.h: Reindent header. (WebCore::SVGTransform::type): (WebCore::SVGTransform::svgMatrix): (WebCore::SVGTransform::matrix): (WebCore::SVGTransform::angle): (WebCore::SVGTransform::rotationCenter): (WebCore::SVGTransform::isValid): (WebCore::operator==): Avoid function calls, make operator== a friend of SVGTransform, and compare members directly. (WebCore::operator!=): * svg/SVGTransform.idl: * svg/SVGTransformList.cpp: Rewritten as plain Vector<SVGTransform>. (WebCore::SVGTransformList::createSVGTransformFromMatrix): (WebCore::SVGTransformList::consolidate): (WebCore::SVGTransformList::concatenate): (WebCore::SVGTransformList::valueAsString): * svg/SVGTransformList.h: (WebCore::SVGTransformList::SVGTransformList): * svg/SVGTransformList.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions. * svg/SVGTransformable.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGTransformable::parseTransformAttribute): * svg/SVGTransformable.h: Ditto. * svg/SVGViewSpec.cpp: Ditto. (WebCore::SVGViewSpec::SVGViewSpec): (WebCore::SVGViewSpec::setTransform): (WebCore::SVGViewSpec::parseViewSpec): * svg/SVGViewSpec.h: Ditto. (WebCore::SVGViewSpec::transform): * svg/properties/SVGAnimatedListPropertyTearOff.h: Made constructor and members protected. * svg/properties/SVGAnimatedPropertyMacros.h: Add new helper macro DECLARE_ANIMATED_TRANSFORM_LIST_PROPERTY. This is needed until we expand all macros. * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Added. Extends SVGAnimatedListPropertyTearOff, returning SVGTransformListPropertyTearOff objects. (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::create): (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff): * svg/properties/SVGListPropertyTearOff.h: Made construct and members protected. * svg/properties/SVGProperty.h: Declare commitChange() as pure virtual method. * svg/properties/SVGPropertyTraits.h: Handle SVGTransformList. * svg/properties/SVGStaticPropertyWithParentTearOff.h: Added. Same concept as JSSVGStaticPODTypeWrapperWithParent, used to expose SVGPropertyTearOffs for types that are using this concept themselves. (SVGMatrix attribute of SVGTransform, both are POD types, using SVGPropertyTearOff). (WebCore::SVGStaticPropertyWithParentTearOff::create): (WebCore::SVGStaticPropertyWithParentTearOff::commitChange): (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff): * svg/properties/SVGTransformListPropertyTearOff.h: Added. Extends SVGListPropertyTearOff by two special SVGTransformList methods: consolidate and createSVGTransformFromMatrix. (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff): 2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49311 Add tests covering StrictTypeChecking and RequiresAllArguments=Raise for SVGMatrix/SVGPoint. Imported several new tests from SVG 1.1 2nd Edition, regarding SVG DOM primitives. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt: Added. * svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-01-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-02-f.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-03-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-05-b.svg: Added. * svg/dom/SVGMatrix-expected.txt: Added. * svg/dom/SVGMatrix.html: Added. * svg/dom/SVGPoint-expected.txt: * svg/dom/SVGTransform-expected.txt: Added. * svg/dom/SVGTransform.html: Added. * svg/dom/SVGTransformList-expected.txt: Added. * svg/dom/SVGTransformList.html: Added. * svg/dom/script-tests/SVGMatrix.js: Added. * svg/dom/script-tests/SVGPoint.js: * svg/dom/script-tests/SVGTransform.js: Added. * svg/dom/script-tests/SVGTransformList.js: Added. Canonical link: https://commits.webkit.org/62278@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@71802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-11 11:20:11 +00:00
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<text x='10' y='30'>Testing liveness of SVG DOM objects</text>
<g font-size='14' transform='translate(500)rotate(90)'>
<rect id='r1' x='40' y='60' width='20' height='20'/>
<text x='70' y='75'>SVGAnimatedNumberList</text>
<rect id='r2' x='40' y='90' width='20' height='20'/>
<text x='70' y='105'>SVGAnimatedLength</text>
<rect id='r3' x='40' y='120' width='20' height='20'/>
<text x='70' y='135'>SVGAnimatedLengthList</text>
<rect id='r4' x='40' y='150' width='20' height='20'/>
<text x='70' y='165'>SVGAnimatedAngle</text>
<rect id='r5' x='40' y='180' width='20' height='20'/>
<text x='70' y='195'>SVGAnimatedRect</text>
<rect id='r6' x='40' y='210' width='20' height='20'/>
<text x='70' y='225'>SVGAnimatedTransformList</text>
<rect id='r7' x='40' y='240' width='20' height='20'/>
<text x='70' y='255'>SVGAnimatedPreserveAspectRatio</text>
<rect id='r8' x='40' y='270' width='20' height='20'/>
<text x='70' y='285'>SVGAnimatedBoolean</text>
<rect id='r9' x='40' y='300' width='20' height='20'/>
<text x='70' y='315'>SVGAnimatedString</text>
<rect id='r10' x='40' y='330' width='20' height='20'/>
<text x='70' y='345'>SVGAnimatedEnumeration</text>
<rect id='r11' x='40' y='360' width='20' height='20'/>
<text x='70' y='375'>SVGAnimatedInteger</text>
<rect id='r12' x='40' y='390' width='20' height='20'/>
<text x='70' y='405'>SVGAnimatedNumber</text>
</g>
<g display='none'>
<text id='text' rotate='0 20 40' x='10 20' lengthAdjust='spacing'>abc</text>
<circle id='circle' r='50' transform='scale(1) scale(2)' class='one'/>
<marker id='marker' orient='30'/>
[SVG2]: Remove the SVGExternalResourcesRequired interface https://bugs.webkit.org/show_bug.cgi?id=191293 Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-10-18 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/svg/import/types-dom-04-b-manual.svg: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. Source/WebCore: The spec page is: https://www.w3.org/TR/SVG/changes.html. r251290 made externalResourcesRequired have no effect on firing the load event. All the control was moved to SVGURIReference. This patch will remove this interface entirely to conform with SVG2 specs and other browsers. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * svg/SVGAElement.cpp: (WebCore::SVGAElement::SVGAElement): (WebCore::SVGAElement::parseAttribute): (WebCore::SVGAElement::svgAttributeChanged): * svg/SVGAElement.h: * svg/SVGAElement.idl: * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::SVGAnimationElement): (WebCore::SVGAnimationElement::isSupportedAttribute): (WebCore::SVGAnimationElement::parseAttribute): * svg/SVGAnimationElement.h: * svg/SVGAnimationElement.idl: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::SVGCircleElement): (WebCore::SVGCircleElement::parseAttribute): (WebCore::SVGCircleElement::svgAttributeChanged): * svg/SVGCircleElement.h: * svg/SVGCircleElement.idl: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::SVGClipPathElement): (WebCore::SVGClipPathElement::parseAttribute): (WebCore::SVGClipPathElement::svgAttributeChanged): * svg/SVGClipPathElement.h: * svg/SVGClipPathElement.idl: * svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::SVGCursorElement): (WebCore::SVGCursorElement::parseAttribute): * svg/SVGCursorElement.h: * svg/SVGCursorElement.idl: * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::SVGDefsElement): * svg/SVGDefsElement.h: * svg/SVGDefsElement.idl: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::SVGEllipseElement): (WebCore::SVGEllipseElement::parseAttribute): (WebCore::SVGEllipseElement::svgAttributeChanged): * svg/SVGEllipseElement.h: * svg/SVGEllipseElement.idl: * svg/SVGExternalResourcesRequired.cpp: Removed. * svg/SVGExternalResourcesRequired.h: Removed. * svg/SVGExternalResourcesRequired.idl: Removed. * svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::SVGFEImageElement): (WebCore::SVGFEImageElement::parseAttribute): * svg/SVGFEImageElement.h: * svg/SVGFEImageElement.idl: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::SVGFilterElement): (WebCore::SVGFilterElement::parseAttribute): (WebCore::SVGFilterElement::svgAttributeChanged): * svg/SVGFilterElement.h: * svg/SVGFilterElement.idl: * svg/SVGFontElement.cpp: (WebCore::SVGFontElement::SVGFontElement): * svg/SVGFontElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): (WebCore::SVGForeignObjectElement::parseAttribute): (WebCore::SVGForeignObjectElement::svgAttributeChanged): * svg/SVGForeignObjectElement.h: * svg/SVGForeignObjectElement.idl: * svg/SVGGElement.cpp: (WebCore::SVGGElement::SVGGElement): (WebCore::SVGGElement::parseAttribute): Deleted. (WebCore::SVGGElement::svgAttributeChanged): Deleted. * svg/SVGGElement.h: * svg/SVGGElement.idl: * svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::SVGGradientElement): (WebCore::SVGGradientElement::parseAttribute): * svg/SVGGradientElement.h: * svg/SVGGradientElement.idl: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::SVGImageElement): (WebCore::SVGImageElement::parseAttribute): (WebCore::SVGImageElement::svgAttributeChanged): * svg/SVGImageElement.h: * svg/SVGImageElement.idl: * svg/SVGLineElement.cpp: (WebCore::SVGLineElement::SVGLineElement): (WebCore::SVGLineElement::parseAttribute): (WebCore::SVGLineElement::svgAttributeChanged): * svg/SVGLineElement.h: * svg/SVGLineElement.idl: * svg/SVGMPathElement.cpp: (WebCore::SVGMPathElement::SVGMPathElement): (WebCore::SVGMPathElement::parseAttribute): (WebCore::SVGMPathElement::svgAttributeChanged): * svg/SVGMPathElement.h: * svg/SVGMPathElement.idl: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::SVGMarkerElement): (WebCore::SVGMarkerElement::parseAttribute): (WebCore::SVGMarkerElement::svgAttributeChanged): * svg/SVGMarkerElement.h: * svg/SVGMarkerElement.idl: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::SVGMaskElement): (WebCore::SVGMaskElement::parseAttribute): (WebCore::SVGMaskElement::svgAttributeChanged): * svg/SVGMaskElement.h: * svg/SVGMaskElement.idl: * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::SVGPathElement): (WebCore::SVGPathElement::parseAttribute): (WebCore::SVGPathElement::svgAttributeChanged): * svg/SVGPathElement.h: * svg/SVGPathElement.idl: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::parseAttribute): (WebCore::SVGPatternElement::svgAttributeChanged): * svg/SVGPatternElement.h: * svg/SVGPatternElement.idl: * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::SVGPolyElement): (WebCore::SVGPolyElement::parseAttribute): (WebCore::SVGPolyElement::svgAttributeChanged): * svg/SVGPolyElement.h: * svg/SVGPolygonElement.idl: * svg/SVGPolylineElement.idl: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::SVGRectElement): (WebCore::SVGRectElement::parseAttribute): (WebCore::SVGRectElement::svgAttributeChanged): * svg/SVGRectElement.h: * svg/SVGRectElement.idl: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::SVGSVGElement): (WebCore::SVGSVGElement::parseAttribute): (WebCore::SVGSVGElement::svgAttributeChanged): * svg/SVGSVGElement.h: * svg/SVGSVGElement.idl: * svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::SVGScriptElement): (WebCore::SVGScriptElement::parseAttribute): (WebCore::SVGScriptElement::svgAttributeChanged): * svg/SVGScriptElement.h: * svg/SVGScriptElement.idl: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::SVGSwitchElement): * svg/SVGSwitchElement.h: * svg/SVGSwitchElement.idl: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::SVGSymbolElement): (WebCore::SVGSymbolElement::parseAttribute): (WebCore::SVGSymbolElement::svgAttributeChanged): Deleted. * svg/SVGSymbolElement.h: * svg/SVGSymbolElement.idl: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::SVGTextContentElement): (WebCore::SVGTextContentElement::parseAttribute): (WebCore::SVGTextContentElement::svgAttributeChanged): * svg/SVGTextContentElement.h: * svg/SVGTextContentElement.idl: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::SVGUseElement): (WebCore::SVGUseElement::parseAttribute): (WebCore::SVGUseElement::svgAttributeChanged): * svg/SVGUseElement.h: * svg/SVGUseElement.idl: * svg/SVGViewElement.cpp: (WebCore::SVGViewElement::SVGViewElement): (WebCore::SVGViewElement::parseAttribute): (WebCore::SVGViewElement::svgAttributeChanged): * svg/SVGViewElement.h: * svg/SVGViewElement.idl: LayoutTests: * platform/gtk/TestExpectations: The script-change-externalResourcesRequired-while-loading.svg has to be removed and it was flaky on all platforms. * platform/gtk/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/ios/TestExpectations: * platform/ios/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/mac/TestExpectations: * platform/mac/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/win/TestExpectations: * platform/win/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/wpe/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. * svg/animations/animate-externalResourcesRequired-no-load-event-expected.txt: Removed. * svg/animations/animate-externalResourcesRequired-no-load-event.html: Removed. * svg/custom/path-domsubtreemodified-crash.html: * svg/dom/SVGAnimatedBoolean-expected.txt: * svg/dom/SVGAnimatedBoolean.html: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. * svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading-expected.txt: Removed. * svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg: Removed. * svg/dom/SVGScriptElement/script-load-and-error-events.svg: * svg/dom/SVGScriptElement/script-onerror-bubbling.svg: * svg/dom/SVGScriptElement/script-reexecution.svg: * svg/dynamic-updates/SVGUseElement-dom-href1-attr.html: Canonical link: https://commits.webkit.org/216584@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-19 01:18:17 +00:00
<svg id='svg' viewBox='10 20 30 40' preserveAspectRatio='none'/>
2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49311 Move the last list type, SVGTransformList, and the last POD types, SVGMatrix & SVGTransform, over to the new SVGPropertyTearOff concept. Removes the need for a custom JSSVGMatrix/V8SVGMatrix implementation, it's all integrated within the bindings now. Tests: svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg svg/W3C-SVG-1.1-SE/types-dom-01-b.svg svg/W3C-SVG-1.1-SE/types-dom-02-f.svg svg/W3C-SVG-1.1-SE/types-dom-03-b.svg svg/W3C-SVG-1.1-SE/types-dom-04-b.svg svg/W3C-SVG-1.1-SE/types-dom-05-b.svg svg/dom/SVGMatrix.html svg/dom/SVGTransform.html svg/dom/SVGTransformList.html * Android.jscbindings.mk: Removed JSSVGMatrixCustom.cpp. * Android.v8bindings.mk: Removed V8SVGMatrixCustom.cpp. * CMakeLists.txt: Remove JSSVGMatrixCustom.cpp. * GNUmakefile.am: Ditto. Add SVGAnimatedTransformListPropertyTearOff.h/SVGStaticPropertyWithParentTearOff.h/SVGTransformListPropertyTearOff.h/SVGAnimatedTransformList.h/SVGMatrix.h to build. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGMatrixCustom.cpp * bindings/js/JSSVGMatrixCustom.cpp: Removed. * bindings/scripts/CodeGenerator.pm: Convert SVGMatrix/SVGTransform/SVGTransformList to the new concept. * bindings/scripts/CodeGeneratorJS.pm: Ditto. * bindings/scripts/CodeGeneratorObjC.pm: Ditto. * bindings/scripts/CodeGeneratorV8.pm: Ditto. * bindings/v8/custom/V8SVGMatrixCustom.cpp: Removed. * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGTransformList handling. * svg/DeprecatedSVGAnimatedTemplate.h: Ditto. * svg/SVGAnimateTransformElement.cpp: Adapt to SVGTransformList API changes. (WebCore::transformListFor): (WebCore::SVGAnimateTransformElement::resetToBaseValue): (WebCore::SVGAnimateTransformElement::calculateAnimatedValue): (WebCore::SVGAnimateTransformElement::applyResultsToTarget): * svg/SVGAnimatedTransformList.h: Added. * svg/SVGGradientElement.cpp: Ditto. (WebCore::SVGGradientElement::SVGGradientElement): (WebCore::SVGGradientElement::parseMappedAttribute): * svg/SVGGradientElement.h: Ditto. * svg/SVGLinearGradientElement.cpp: Ditto. (WebCore::SVGLinearGradientElement::collectGradientAttributes): * svg/SVGMatrix.h: Added. SVGMatrix inherits from AffineTransform, and is only used in the bindings. It implements SVGs special requirements. (WebCore::SVGMatrix::translate): Returns a copy of the matrix, not affecting the original matrix. (WebCore::SVGMatrix::scale): Ditto. (WebCore::SVGMatrix::scaleNonUniform): Ditto. (WebCore::SVGMatrix::rotate): Ditto. (WebCore::SVGMatrix::flipX): Ditto. (WebCore::SVGMatrix::flipY): Ditto. (WebCore::SVGMatrix::skewX): Ditto. (WebCore::SVGMatrix::skewY): Ditto. (WebCore::SVGMatrix::multiply): Ditto. (WebCore::SVGMatrix::inverse): Ditto. (WebCore::SVGMatrix::rotateFromVector): Dittto. * svg/SVGMatrix.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions. * svg/SVGPatternElement.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::parseMappedAttribute): (WebCore::SVGPatternElement::collectPatternAttributes): * svg/SVGPatternElement.h: Ditto. * svg/SVGPoint.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise for 'matrixTransform', now that SVGMatrix has been converted to the new scheme. * svg/SVGRadialGradientElement.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGRadialGradientElement::collectGradientAttributes): * svg/SVGSVGElement.cpp: Ditto. (WebCore::SVGSVGElement::createSVGTransformFromMatrix): (WebCore::SVGSVGElement::viewBoxToViewTransform): * svg/SVGSVGElement.h: Ditto. * svg/SVGStyledTransformableElement.cpp: Ditto. (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): (WebCore::SVGStyledTransformableElement::animatedLocalTransform): (WebCore::SVGStyledTransformableElement::parseMappedAttribute): * svg/SVGStyledTransformableElement.h: Ditto. * svg/SVGTextElement.cpp: Ditto. (WebCore::SVGTextElement::SVGTextElement): (WebCore::SVGTextElement::parseMappedAttribute): (WebCore::SVGTextElement::animatedLocalTransform): * svg/SVGTextElement.h: Ditto. * svg/SVGTransform.cpp: Modernize code, inlined some getters. (WebCore::SVGTransform::SVGTransform): (WebCore::SVGTransform::setMatrix): * svg/SVGTransform.h: Reindent header. (WebCore::SVGTransform::type): (WebCore::SVGTransform::svgMatrix): (WebCore::SVGTransform::matrix): (WebCore::SVGTransform::angle): (WebCore::SVGTransform::rotationCenter): (WebCore::SVGTransform::isValid): (WebCore::operator==): Avoid function calls, make operator== a friend of SVGTransform, and compare members directly. (WebCore::operator!=): * svg/SVGTransform.idl: * svg/SVGTransformList.cpp: Rewritten as plain Vector<SVGTransform>. (WebCore::SVGTransformList::createSVGTransformFromMatrix): (WebCore::SVGTransformList::consolidate): (WebCore::SVGTransformList::concatenate): (WebCore::SVGTransformList::valueAsString): * svg/SVGTransformList.h: (WebCore::SVGTransformList::SVGTransformList): * svg/SVGTransformList.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions. * svg/SVGTransformable.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGTransformable::parseTransformAttribute): * svg/SVGTransformable.h: Ditto. * svg/SVGViewSpec.cpp: Ditto. (WebCore::SVGViewSpec::SVGViewSpec): (WebCore::SVGViewSpec::setTransform): (WebCore::SVGViewSpec::parseViewSpec): * svg/SVGViewSpec.h: Ditto. (WebCore::SVGViewSpec::transform): * svg/properties/SVGAnimatedListPropertyTearOff.h: Made constructor and members protected. * svg/properties/SVGAnimatedPropertyMacros.h: Add new helper macro DECLARE_ANIMATED_TRANSFORM_LIST_PROPERTY. This is needed until we expand all macros. * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Added. Extends SVGAnimatedListPropertyTearOff, returning SVGTransformListPropertyTearOff objects. (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::create): (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff): * svg/properties/SVGListPropertyTearOff.h: Made construct and members protected. * svg/properties/SVGProperty.h: Declare commitChange() as pure virtual method. * svg/properties/SVGPropertyTraits.h: Handle SVGTransformList. * svg/properties/SVGStaticPropertyWithParentTearOff.h: Added. Same concept as JSSVGStaticPODTypeWrapperWithParent, used to expose SVGPropertyTearOffs for types that are using this concept themselves. (SVGMatrix attribute of SVGTransform, both are POD types, using SVGPropertyTearOff). (WebCore::SVGStaticPropertyWithParentTearOff::create): (WebCore::SVGStaticPropertyWithParentTearOff::commitChange): (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff): * svg/properties/SVGTransformListPropertyTearOff.h: Added. Extends SVGListPropertyTearOff by two special SVGTransformList methods: consolidate and createSVGTransformFromMatrix. (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff): 2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49311 Add tests covering StrictTypeChecking and RequiresAllArguments=Raise for SVGMatrix/SVGPoint. Imported several new tests from SVG 1.1 2nd Edition, regarding SVG DOM primitives. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt: Added. * svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-01-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-02-f.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-03-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-05-b.svg: Added. * svg/dom/SVGMatrix-expected.txt: Added. * svg/dom/SVGMatrix.html: Added. * svg/dom/SVGPoint-expected.txt: * svg/dom/SVGTransform-expected.txt: Added. * svg/dom/SVGTransform.html: Added. * svg/dom/SVGTransformList-expected.txt: Added. * svg/dom/SVGTransformList.html: Added. * svg/dom/script-tests/SVGMatrix.js: Added. * svg/dom/script-tests/SVGPoint.js: * svg/dom/script-tests/SVGTransform.js: Added. * svg/dom/script-tests/SVGTransformList.js: Added. Canonical link: https://commits.webkit.org/62278@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@71802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-11 11:20:11 +00:00
<filter>
<feTurbulence id='feTurbulence' baseFrequency='2 3' numOctaves='2'/>
</filter>
[SVG2]: Remove the SVGExternalResourcesRequired interface https://bugs.webkit.org/show_bug.cgi?id=191293 Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-10-18 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/svg/import/types-dom-04-b-manual.svg: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. Source/WebCore: The spec page is: https://www.w3.org/TR/SVG/changes.html. r251290 made externalResourcesRequired have no effect on firing the load event. All the control was moved to SVGURIReference. This patch will remove this interface entirely to conform with SVG2 specs and other browsers. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * svg/SVGAElement.cpp: (WebCore::SVGAElement::SVGAElement): (WebCore::SVGAElement::parseAttribute): (WebCore::SVGAElement::svgAttributeChanged): * svg/SVGAElement.h: * svg/SVGAElement.idl: * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::SVGAnimationElement): (WebCore::SVGAnimationElement::isSupportedAttribute): (WebCore::SVGAnimationElement::parseAttribute): * svg/SVGAnimationElement.h: * svg/SVGAnimationElement.idl: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::SVGCircleElement): (WebCore::SVGCircleElement::parseAttribute): (WebCore::SVGCircleElement::svgAttributeChanged): * svg/SVGCircleElement.h: * svg/SVGCircleElement.idl: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::SVGClipPathElement): (WebCore::SVGClipPathElement::parseAttribute): (WebCore::SVGClipPathElement::svgAttributeChanged): * svg/SVGClipPathElement.h: * svg/SVGClipPathElement.idl: * svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::SVGCursorElement): (WebCore::SVGCursorElement::parseAttribute): * svg/SVGCursorElement.h: * svg/SVGCursorElement.idl: * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::SVGDefsElement): * svg/SVGDefsElement.h: * svg/SVGDefsElement.idl: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::SVGEllipseElement): (WebCore::SVGEllipseElement::parseAttribute): (WebCore::SVGEllipseElement::svgAttributeChanged): * svg/SVGEllipseElement.h: * svg/SVGEllipseElement.idl: * svg/SVGExternalResourcesRequired.cpp: Removed. * svg/SVGExternalResourcesRequired.h: Removed. * svg/SVGExternalResourcesRequired.idl: Removed. * svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::SVGFEImageElement): (WebCore::SVGFEImageElement::parseAttribute): * svg/SVGFEImageElement.h: * svg/SVGFEImageElement.idl: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::SVGFilterElement): (WebCore::SVGFilterElement::parseAttribute): (WebCore::SVGFilterElement::svgAttributeChanged): * svg/SVGFilterElement.h: * svg/SVGFilterElement.idl: * svg/SVGFontElement.cpp: (WebCore::SVGFontElement::SVGFontElement): * svg/SVGFontElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): (WebCore::SVGForeignObjectElement::parseAttribute): (WebCore::SVGForeignObjectElement::svgAttributeChanged): * svg/SVGForeignObjectElement.h: * svg/SVGForeignObjectElement.idl: * svg/SVGGElement.cpp: (WebCore::SVGGElement::SVGGElement): (WebCore::SVGGElement::parseAttribute): Deleted. (WebCore::SVGGElement::svgAttributeChanged): Deleted. * svg/SVGGElement.h: * svg/SVGGElement.idl: * svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::SVGGradientElement): (WebCore::SVGGradientElement::parseAttribute): * svg/SVGGradientElement.h: * svg/SVGGradientElement.idl: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::SVGImageElement): (WebCore::SVGImageElement::parseAttribute): (WebCore::SVGImageElement::svgAttributeChanged): * svg/SVGImageElement.h: * svg/SVGImageElement.idl: * svg/SVGLineElement.cpp: (WebCore::SVGLineElement::SVGLineElement): (WebCore::SVGLineElement::parseAttribute): (WebCore::SVGLineElement::svgAttributeChanged): * svg/SVGLineElement.h: * svg/SVGLineElement.idl: * svg/SVGMPathElement.cpp: (WebCore::SVGMPathElement::SVGMPathElement): (WebCore::SVGMPathElement::parseAttribute): (WebCore::SVGMPathElement::svgAttributeChanged): * svg/SVGMPathElement.h: * svg/SVGMPathElement.idl: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::SVGMarkerElement): (WebCore::SVGMarkerElement::parseAttribute): (WebCore::SVGMarkerElement::svgAttributeChanged): * svg/SVGMarkerElement.h: * svg/SVGMarkerElement.idl: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::SVGMaskElement): (WebCore::SVGMaskElement::parseAttribute): (WebCore::SVGMaskElement::svgAttributeChanged): * svg/SVGMaskElement.h: * svg/SVGMaskElement.idl: * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::SVGPathElement): (WebCore::SVGPathElement::parseAttribute): (WebCore::SVGPathElement::svgAttributeChanged): * svg/SVGPathElement.h: * svg/SVGPathElement.idl: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::parseAttribute): (WebCore::SVGPatternElement::svgAttributeChanged): * svg/SVGPatternElement.h: * svg/SVGPatternElement.idl: * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::SVGPolyElement): (WebCore::SVGPolyElement::parseAttribute): (WebCore::SVGPolyElement::svgAttributeChanged): * svg/SVGPolyElement.h: * svg/SVGPolygonElement.idl: * svg/SVGPolylineElement.idl: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::SVGRectElement): (WebCore::SVGRectElement::parseAttribute): (WebCore::SVGRectElement::svgAttributeChanged): * svg/SVGRectElement.h: * svg/SVGRectElement.idl: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::SVGSVGElement): (WebCore::SVGSVGElement::parseAttribute): (WebCore::SVGSVGElement::svgAttributeChanged): * svg/SVGSVGElement.h: * svg/SVGSVGElement.idl: * svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::SVGScriptElement): (WebCore::SVGScriptElement::parseAttribute): (WebCore::SVGScriptElement::svgAttributeChanged): * svg/SVGScriptElement.h: * svg/SVGScriptElement.idl: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::SVGSwitchElement): * svg/SVGSwitchElement.h: * svg/SVGSwitchElement.idl: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::SVGSymbolElement): (WebCore::SVGSymbolElement::parseAttribute): (WebCore::SVGSymbolElement::svgAttributeChanged): Deleted. * svg/SVGSymbolElement.h: * svg/SVGSymbolElement.idl: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::SVGTextContentElement): (WebCore::SVGTextContentElement::parseAttribute): (WebCore::SVGTextContentElement::svgAttributeChanged): * svg/SVGTextContentElement.h: * svg/SVGTextContentElement.idl: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::SVGUseElement): (WebCore::SVGUseElement::parseAttribute): (WebCore::SVGUseElement::svgAttributeChanged): * svg/SVGUseElement.h: * svg/SVGUseElement.idl: * svg/SVGViewElement.cpp: (WebCore::SVGViewElement::SVGViewElement): (WebCore::SVGViewElement::parseAttribute): (WebCore::SVGViewElement::svgAttributeChanged): * svg/SVGViewElement.h: * svg/SVGViewElement.idl: LayoutTests: * platform/gtk/TestExpectations: The script-change-externalResourcesRequired-while-loading.svg has to be removed and it was flaky on all platforms. * platform/gtk/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/ios/TestExpectations: * platform/ios/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/mac/TestExpectations: * platform/mac/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/win/TestExpectations: * platform/win/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/wpe/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. * svg/animations/animate-externalResourcesRequired-no-load-event-expected.txt: Removed. * svg/animations/animate-externalResourcesRequired-no-load-event.html: Removed. * svg/custom/path-domsubtreemodified-crash.html: * svg/dom/SVGAnimatedBoolean-expected.txt: * svg/dom/SVGAnimatedBoolean.html: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. * svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading-expected.txt: Removed. * svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg: Removed. * svg/dom/SVGScriptElement/script-load-and-error-events.svg: * svg/dom/SVGScriptElement/script-onerror-bubbling.svg: * svg/dom/SVGScriptElement/script-reexecution.svg: * svg/dynamic-updates/SVGUseElement-dom-href1-attr.html: Canonical link: https://commits.webkit.org/216584@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-19 01:18:17 +00:00
<filter>
<feConvolveMatrix id='feConvolveMatrix' order="1" kernelMatrix="1"/>
</filter>
2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49311 Move the last list type, SVGTransformList, and the last POD types, SVGMatrix & SVGTransform, over to the new SVGPropertyTearOff concept. Removes the need for a custom JSSVGMatrix/V8SVGMatrix implementation, it's all integrated within the bindings now. Tests: svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg svg/W3C-SVG-1.1-SE/types-dom-01-b.svg svg/W3C-SVG-1.1-SE/types-dom-02-f.svg svg/W3C-SVG-1.1-SE/types-dom-03-b.svg svg/W3C-SVG-1.1-SE/types-dom-04-b.svg svg/W3C-SVG-1.1-SE/types-dom-05-b.svg svg/dom/SVGMatrix.html svg/dom/SVGTransform.html svg/dom/SVGTransformList.html * Android.jscbindings.mk: Removed JSSVGMatrixCustom.cpp. * Android.v8bindings.mk: Removed V8SVGMatrixCustom.cpp. * CMakeLists.txt: Remove JSSVGMatrixCustom.cpp. * GNUmakefile.am: Ditto. Add SVGAnimatedTransformListPropertyTearOff.h/SVGStaticPropertyWithParentTearOff.h/SVGTransformListPropertyTearOff.h/SVGAnimatedTransformList.h/SVGMatrix.h to build. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGMatrixCustom.cpp * bindings/js/JSSVGMatrixCustom.cpp: Removed. * bindings/scripts/CodeGenerator.pm: Convert SVGMatrix/SVGTransform/SVGTransformList to the new concept. * bindings/scripts/CodeGeneratorJS.pm: Ditto. * bindings/scripts/CodeGeneratorObjC.pm: Ditto. * bindings/scripts/CodeGeneratorV8.pm: Ditto. * bindings/v8/custom/V8SVGMatrixCustom.cpp: Removed. * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGTransformList handling. * svg/DeprecatedSVGAnimatedTemplate.h: Ditto. * svg/SVGAnimateTransformElement.cpp: Adapt to SVGTransformList API changes. (WebCore::transformListFor): (WebCore::SVGAnimateTransformElement::resetToBaseValue): (WebCore::SVGAnimateTransformElement::calculateAnimatedValue): (WebCore::SVGAnimateTransformElement::applyResultsToTarget): * svg/SVGAnimatedTransformList.h: Added. * svg/SVGGradientElement.cpp: Ditto. (WebCore::SVGGradientElement::SVGGradientElement): (WebCore::SVGGradientElement::parseMappedAttribute): * svg/SVGGradientElement.h: Ditto. * svg/SVGLinearGradientElement.cpp: Ditto. (WebCore::SVGLinearGradientElement::collectGradientAttributes): * svg/SVGMatrix.h: Added. SVGMatrix inherits from AffineTransform, and is only used in the bindings. It implements SVGs special requirements. (WebCore::SVGMatrix::translate): Returns a copy of the matrix, not affecting the original matrix. (WebCore::SVGMatrix::scale): Ditto. (WebCore::SVGMatrix::scaleNonUniform): Ditto. (WebCore::SVGMatrix::rotate): Ditto. (WebCore::SVGMatrix::flipX): Ditto. (WebCore::SVGMatrix::flipY): Ditto. (WebCore::SVGMatrix::skewX): Ditto. (WebCore::SVGMatrix::skewY): Ditto. (WebCore::SVGMatrix::multiply): Ditto. (WebCore::SVGMatrix::inverse): Ditto. (WebCore::SVGMatrix::rotateFromVector): Dittto. * svg/SVGMatrix.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions. * svg/SVGPatternElement.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::parseMappedAttribute): (WebCore::SVGPatternElement::collectPatternAttributes): * svg/SVGPatternElement.h: Ditto. * svg/SVGPoint.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise for 'matrixTransform', now that SVGMatrix has been converted to the new scheme. * svg/SVGRadialGradientElement.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGRadialGradientElement::collectGradientAttributes): * svg/SVGSVGElement.cpp: Ditto. (WebCore::SVGSVGElement::createSVGTransformFromMatrix): (WebCore::SVGSVGElement::viewBoxToViewTransform): * svg/SVGSVGElement.h: Ditto. * svg/SVGStyledTransformableElement.cpp: Ditto. (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): (WebCore::SVGStyledTransformableElement::animatedLocalTransform): (WebCore::SVGStyledTransformableElement::parseMappedAttribute): * svg/SVGStyledTransformableElement.h: Ditto. * svg/SVGTextElement.cpp: Ditto. (WebCore::SVGTextElement::SVGTextElement): (WebCore::SVGTextElement::parseMappedAttribute): (WebCore::SVGTextElement::animatedLocalTransform): * svg/SVGTextElement.h: Ditto. * svg/SVGTransform.cpp: Modernize code, inlined some getters. (WebCore::SVGTransform::SVGTransform): (WebCore::SVGTransform::setMatrix): * svg/SVGTransform.h: Reindent header. (WebCore::SVGTransform::type): (WebCore::SVGTransform::svgMatrix): (WebCore::SVGTransform::matrix): (WebCore::SVGTransform::angle): (WebCore::SVGTransform::rotationCenter): (WebCore::SVGTransform::isValid): (WebCore::operator==): Avoid function calls, make operator== a friend of SVGTransform, and compare members directly. (WebCore::operator!=): * svg/SVGTransform.idl: * svg/SVGTransformList.cpp: Rewritten as plain Vector<SVGTransform>. (WebCore::SVGTransformList::createSVGTransformFromMatrix): (WebCore::SVGTransformList::consolidate): (WebCore::SVGTransformList::concatenate): (WebCore::SVGTransformList::valueAsString): * svg/SVGTransformList.h: (WebCore::SVGTransformList::SVGTransformList): * svg/SVGTransformList.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions. * svg/SVGTransformable.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGTransformable::parseTransformAttribute): * svg/SVGTransformable.h: Ditto. * svg/SVGViewSpec.cpp: Ditto. (WebCore::SVGViewSpec::SVGViewSpec): (WebCore::SVGViewSpec::setTransform): (WebCore::SVGViewSpec::parseViewSpec): * svg/SVGViewSpec.h: Ditto. (WebCore::SVGViewSpec::transform): * svg/properties/SVGAnimatedListPropertyTearOff.h: Made constructor and members protected. * svg/properties/SVGAnimatedPropertyMacros.h: Add new helper macro DECLARE_ANIMATED_TRANSFORM_LIST_PROPERTY. This is needed until we expand all macros. * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Added. Extends SVGAnimatedListPropertyTearOff, returning SVGTransformListPropertyTearOff objects. (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::create): (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff): * svg/properties/SVGListPropertyTearOff.h: Made construct and members protected. * svg/properties/SVGProperty.h: Declare commitChange() as pure virtual method. * svg/properties/SVGPropertyTraits.h: Handle SVGTransformList. * svg/properties/SVGStaticPropertyWithParentTearOff.h: Added. Same concept as JSSVGStaticPODTypeWrapperWithParent, used to expose SVGPropertyTearOffs for types that are using this concept themselves. (SVGMatrix attribute of SVGTransform, both are POD types, using SVGPropertyTearOff). (WebCore::SVGStaticPropertyWithParentTearOff::create): (WebCore::SVGStaticPropertyWithParentTearOff::commitChange): (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff): * svg/properties/SVGTransformListPropertyTearOff.h: Added. Extends SVGListPropertyTearOff by two special SVGTransformList methods: consolidate and createSVGTransformFromMatrix. (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff): 2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49311 Add tests covering StrictTypeChecking and RequiresAllArguments=Raise for SVGMatrix/SVGPoint. Imported several new tests from SVG 1.1 2nd Edition, regarding SVG DOM primitives. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt: Added. * svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-01-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-02-f.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-03-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-05-b.svg: Added. * svg/dom/SVGMatrix-expected.txt: Added. * svg/dom/SVGMatrix.html: Added. * svg/dom/SVGPoint-expected.txt: * svg/dom/SVGTransform-expected.txt: Added. * svg/dom/SVGTransform.html: Added. * svg/dom/SVGTransformList-expected.txt: Added. * svg/dom/SVGTransformList.html: Added. * svg/dom/script-tests/SVGMatrix.js: Added. * svg/dom/script-tests/SVGPoint.js: * svg/dom/script-tests/SVGTransform.js: Added. * svg/dom/script-tests/SVGTransformList.js: Added. Canonical link: https://commits.webkit.org/62278@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@71802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-11 11:20:11 +00:00
</g>
<script><![CDATA[
function $(id) { return document.getElementById(id); }
var text = $('text'),
circle = $('circle'),
marker = $('marker'),
svg = $('svg'),
feTurbulence = $('feTurbulence');
[SVG2]: Remove the SVGExternalResourcesRequired interface https://bugs.webkit.org/show_bug.cgi?id=191293 Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-10-18 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/svg/import/types-dom-04-b-manual.svg: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. Source/WebCore: The spec page is: https://www.w3.org/TR/SVG/changes.html. r251290 made externalResourcesRequired have no effect on firing the load event. All the control was moved to SVGURIReference. This patch will remove this interface entirely to conform with SVG2 specs and other browsers. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * svg/SVGAElement.cpp: (WebCore::SVGAElement::SVGAElement): (WebCore::SVGAElement::parseAttribute): (WebCore::SVGAElement::svgAttributeChanged): * svg/SVGAElement.h: * svg/SVGAElement.idl: * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::SVGAnimationElement): (WebCore::SVGAnimationElement::isSupportedAttribute): (WebCore::SVGAnimationElement::parseAttribute): * svg/SVGAnimationElement.h: * svg/SVGAnimationElement.idl: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::SVGCircleElement): (WebCore::SVGCircleElement::parseAttribute): (WebCore::SVGCircleElement::svgAttributeChanged): * svg/SVGCircleElement.h: * svg/SVGCircleElement.idl: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::SVGClipPathElement): (WebCore::SVGClipPathElement::parseAttribute): (WebCore::SVGClipPathElement::svgAttributeChanged): * svg/SVGClipPathElement.h: * svg/SVGClipPathElement.idl: * svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::SVGCursorElement): (WebCore::SVGCursorElement::parseAttribute): * svg/SVGCursorElement.h: * svg/SVGCursorElement.idl: * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::SVGDefsElement): * svg/SVGDefsElement.h: * svg/SVGDefsElement.idl: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::SVGEllipseElement): (WebCore::SVGEllipseElement::parseAttribute): (WebCore::SVGEllipseElement::svgAttributeChanged): * svg/SVGEllipseElement.h: * svg/SVGEllipseElement.idl: * svg/SVGExternalResourcesRequired.cpp: Removed. * svg/SVGExternalResourcesRequired.h: Removed. * svg/SVGExternalResourcesRequired.idl: Removed. * svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::SVGFEImageElement): (WebCore::SVGFEImageElement::parseAttribute): * svg/SVGFEImageElement.h: * svg/SVGFEImageElement.idl: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::SVGFilterElement): (WebCore::SVGFilterElement::parseAttribute): (WebCore::SVGFilterElement::svgAttributeChanged): * svg/SVGFilterElement.h: * svg/SVGFilterElement.idl: * svg/SVGFontElement.cpp: (WebCore::SVGFontElement::SVGFontElement): * svg/SVGFontElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): (WebCore::SVGForeignObjectElement::parseAttribute): (WebCore::SVGForeignObjectElement::svgAttributeChanged): * svg/SVGForeignObjectElement.h: * svg/SVGForeignObjectElement.idl: * svg/SVGGElement.cpp: (WebCore::SVGGElement::SVGGElement): (WebCore::SVGGElement::parseAttribute): Deleted. (WebCore::SVGGElement::svgAttributeChanged): Deleted. * svg/SVGGElement.h: * svg/SVGGElement.idl: * svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::SVGGradientElement): (WebCore::SVGGradientElement::parseAttribute): * svg/SVGGradientElement.h: * svg/SVGGradientElement.idl: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::SVGImageElement): (WebCore::SVGImageElement::parseAttribute): (WebCore::SVGImageElement::svgAttributeChanged): * svg/SVGImageElement.h: * svg/SVGImageElement.idl: * svg/SVGLineElement.cpp: (WebCore::SVGLineElement::SVGLineElement): (WebCore::SVGLineElement::parseAttribute): (WebCore::SVGLineElement::svgAttributeChanged): * svg/SVGLineElement.h: * svg/SVGLineElement.idl: * svg/SVGMPathElement.cpp: (WebCore::SVGMPathElement::SVGMPathElement): (WebCore::SVGMPathElement::parseAttribute): (WebCore::SVGMPathElement::svgAttributeChanged): * svg/SVGMPathElement.h: * svg/SVGMPathElement.idl: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::SVGMarkerElement): (WebCore::SVGMarkerElement::parseAttribute): (WebCore::SVGMarkerElement::svgAttributeChanged): * svg/SVGMarkerElement.h: * svg/SVGMarkerElement.idl: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::SVGMaskElement): (WebCore::SVGMaskElement::parseAttribute): (WebCore::SVGMaskElement::svgAttributeChanged): * svg/SVGMaskElement.h: * svg/SVGMaskElement.idl: * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::SVGPathElement): (WebCore::SVGPathElement::parseAttribute): (WebCore::SVGPathElement::svgAttributeChanged): * svg/SVGPathElement.h: * svg/SVGPathElement.idl: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::parseAttribute): (WebCore::SVGPatternElement::svgAttributeChanged): * svg/SVGPatternElement.h: * svg/SVGPatternElement.idl: * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::SVGPolyElement): (WebCore::SVGPolyElement::parseAttribute): (WebCore::SVGPolyElement::svgAttributeChanged): * svg/SVGPolyElement.h: * svg/SVGPolygonElement.idl: * svg/SVGPolylineElement.idl: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::SVGRectElement): (WebCore::SVGRectElement::parseAttribute): (WebCore::SVGRectElement::svgAttributeChanged): * svg/SVGRectElement.h: * svg/SVGRectElement.idl: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::SVGSVGElement): (WebCore::SVGSVGElement::parseAttribute): (WebCore::SVGSVGElement::svgAttributeChanged): * svg/SVGSVGElement.h: * svg/SVGSVGElement.idl: * svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::SVGScriptElement): (WebCore::SVGScriptElement::parseAttribute): (WebCore::SVGScriptElement::svgAttributeChanged): * svg/SVGScriptElement.h: * svg/SVGScriptElement.idl: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::SVGSwitchElement): * svg/SVGSwitchElement.h: * svg/SVGSwitchElement.idl: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::SVGSymbolElement): (WebCore::SVGSymbolElement::parseAttribute): (WebCore::SVGSymbolElement::svgAttributeChanged): Deleted. * svg/SVGSymbolElement.h: * svg/SVGSymbolElement.idl: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::SVGTextContentElement): (WebCore::SVGTextContentElement::parseAttribute): (WebCore::SVGTextContentElement::svgAttributeChanged): * svg/SVGTextContentElement.h: * svg/SVGTextContentElement.idl: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::SVGUseElement): (WebCore::SVGUseElement::parseAttribute): (WebCore::SVGUseElement::svgAttributeChanged): * svg/SVGUseElement.h: * svg/SVGUseElement.idl: * svg/SVGViewElement.cpp: (WebCore::SVGViewElement::SVGViewElement): (WebCore::SVGViewElement::parseAttribute): (WebCore::SVGViewElement::svgAttributeChanged): * svg/SVGViewElement.h: * svg/SVGViewElement.idl: LayoutTests: * platform/gtk/TestExpectations: The script-change-externalResourcesRequired-while-loading.svg has to be removed and it was flaky on all platforms. * platform/gtk/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/ios/TestExpectations: * platform/ios/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/mac/TestExpectations: * platform/mac/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/win/TestExpectations: * platform/win/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/wpe/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. * svg/animations/animate-externalResourcesRequired-no-load-event-expected.txt: Removed. * svg/animations/animate-externalResourcesRequired-no-load-event.html: Removed. * svg/custom/path-domsubtreemodified-crash.html: * svg/dom/SVGAnimatedBoolean-expected.txt: * svg/dom/SVGAnimatedBoolean.html: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. * svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading-expected.txt: Removed. * svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg: Removed. * svg/dom/SVGScriptElement/script-load-and-error-events.svg: * svg/dom/SVGScriptElement/script-onerror-bubbling.svg: * svg/dom/SVGScriptElement/script-reexecution.svg: * svg/dynamic-updates/SVGUseElement-dom-href1-attr.html: Canonical link: https://commits.webkit.org/216584@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-19 01:18:17 +00:00
feConvolveMatrix = $('feConvolveMatrix');
2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49311 Move the last list type, SVGTransformList, and the last POD types, SVGMatrix & SVGTransform, over to the new SVGPropertyTearOff concept. Removes the need for a custom JSSVGMatrix/V8SVGMatrix implementation, it's all integrated within the bindings now. Tests: svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg svg/W3C-SVG-1.1-SE/types-dom-01-b.svg svg/W3C-SVG-1.1-SE/types-dom-02-f.svg svg/W3C-SVG-1.1-SE/types-dom-03-b.svg svg/W3C-SVG-1.1-SE/types-dom-04-b.svg svg/W3C-SVG-1.1-SE/types-dom-05-b.svg svg/dom/SVGMatrix.html svg/dom/SVGTransform.html svg/dom/SVGTransformList.html * Android.jscbindings.mk: Removed JSSVGMatrixCustom.cpp. * Android.v8bindings.mk: Removed V8SVGMatrixCustom.cpp. * CMakeLists.txt: Remove JSSVGMatrixCustom.cpp. * GNUmakefile.am: Ditto. Add SVGAnimatedTransformListPropertyTearOff.h/SVGStaticPropertyWithParentTearOff.h/SVGTransformListPropertyTearOff.h/SVGAnimatedTransformList.h/SVGMatrix.h to build. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGMatrixCustom.cpp * bindings/js/JSSVGMatrixCustom.cpp: Removed. * bindings/scripts/CodeGenerator.pm: Convert SVGMatrix/SVGTransform/SVGTransformList to the new concept. * bindings/scripts/CodeGeneratorJS.pm: Ditto. * bindings/scripts/CodeGeneratorObjC.pm: Ditto. * bindings/scripts/CodeGeneratorV8.pm: Ditto. * bindings/v8/custom/V8SVGMatrixCustom.cpp: Removed. * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGTransformList handling. * svg/DeprecatedSVGAnimatedTemplate.h: Ditto. * svg/SVGAnimateTransformElement.cpp: Adapt to SVGTransformList API changes. (WebCore::transformListFor): (WebCore::SVGAnimateTransformElement::resetToBaseValue): (WebCore::SVGAnimateTransformElement::calculateAnimatedValue): (WebCore::SVGAnimateTransformElement::applyResultsToTarget): * svg/SVGAnimatedTransformList.h: Added. * svg/SVGGradientElement.cpp: Ditto. (WebCore::SVGGradientElement::SVGGradientElement): (WebCore::SVGGradientElement::parseMappedAttribute): * svg/SVGGradientElement.h: Ditto. * svg/SVGLinearGradientElement.cpp: Ditto. (WebCore::SVGLinearGradientElement::collectGradientAttributes): * svg/SVGMatrix.h: Added. SVGMatrix inherits from AffineTransform, and is only used in the bindings. It implements SVGs special requirements. (WebCore::SVGMatrix::translate): Returns a copy of the matrix, not affecting the original matrix. (WebCore::SVGMatrix::scale): Ditto. (WebCore::SVGMatrix::scaleNonUniform): Ditto. (WebCore::SVGMatrix::rotate): Ditto. (WebCore::SVGMatrix::flipX): Ditto. (WebCore::SVGMatrix::flipY): Ditto. (WebCore::SVGMatrix::skewX): Ditto. (WebCore::SVGMatrix::skewY): Ditto. (WebCore::SVGMatrix::multiply): Ditto. (WebCore::SVGMatrix::inverse): Ditto. (WebCore::SVGMatrix::rotateFromVector): Dittto. * svg/SVGMatrix.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions. * svg/SVGPatternElement.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::parseMappedAttribute): (WebCore::SVGPatternElement::collectPatternAttributes): * svg/SVGPatternElement.h: Ditto. * svg/SVGPoint.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise for 'matrixTransform', now that SVGMatrix has been converted to the new scheme. * svg/SVGRadialGradientElement.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGRadialGradientElement::collectGradientAttributes): * svg/SVGSVGElement.cpp: Ditto. (WebCore::SVGSVGElement::createSVGTransformFromMatrix): (WebCore::SVGSVGElement::viewBoxToViewTransform): * svg/SVGSVGElement.h: Ditto. * svg/SVGStyledTransformableElement.cpp: Ditto. (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): (WebCore::SVGStyledTransformableElement::animatedLocalTransform): (WebCore::SVGStyledTransformableElement::parseMappedAttribute): * svg/SVGStyledTransformableElement.h: Ditto. * svg/SVGTextElement.cpp: Ditto. (WebCore::SVGTextElement::SVGTextElement): (WebCore::SVGTextElement::parseMappedAttribute): (WebCore::SVGTextElement::animatedLocalTransform): * svg/SVGTextElement.h: Ditto. * svg/SVGTransform.cpp: Modernize code, inlined some getters. (WebCore::SVGTransform::SVGTransform): (WebCore::SVGTransform::setMatrix): * svg/SVGTransform.h: Reindent header. (WebCore::SVGTransform::type): (WebCore::SVGTransform::svgMatrix): (WebCore::SVGTransform::matrix): (WebCore::SVGTransform::angle): (WebCore::SVGTransform::rotationCenter): (WebCore::SVGTransform::isValid): (WebCore::operator==): Avoid function calls, make operator== a friend of SVGTransform, and compare members directly. (WebCore::operator!=): * svg/SVGTransform.idl: * svg/SVGTransformList.cpp: Rewritten as plain Vector<SVGTransform>. (WebCore::SVGTransformList::createSVGTransformFromMatrix): (WebCore::SVGTransformList::consolidate): (WebCore::SVGTransformList::concatenate): (WebCore::SVGTransformList::valueAsString): * svg/SVGTransformList.h: (WebCore::SVGTransformList::SVGTransformList): * svg/SVGTransformList.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions. * svg/SVGTransformable.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGTransformable::parseTransformAttribute): * svg/SVGTransformable.h: Ditto. * svg/SVGViewSpec.cpp: Ditto. (WebCore::SVGViewSpec::SVGViewSpec): (WebCore::SVGViewSpec::setTransform): (WebCore::SVGViewSpec::parseViewSpec): * svg/SVGViewSpec.h: Ditto. (WebCore::SVGViewSpec::transform): * svg/properties/SVGAnimatedListPropertyTearOff.h: Made constructor and members protected. * svg/properties/SVGAnimatedPropertyMacros.h: Add new helper macro DECLARE_ANIMATED_TRANSFORM_LIST_PROPERTY. This is needed until we expand all macros. * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Added. Extends SVGAnimatedListPropertyTearOff, returning SVGTransformListPropertyTearOff objects. (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::create): (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff): * svg/properties/SVGListPropertyTearOff.h: Made construct and members protected. * svg/properties/SVGProperty.h: Declare commitChange() as pure virtual method. * svg/properties/SVGPropertyTraits.h: Handle SVGTransformList. * svg/properties/SVGStaticPropertyWithParentTearOff.h: Added. Same concept as JSSVGStaticPODTypeWrapperWithParent, used to expose SVGPropertyTearOffs for types that are using this concept themselves. (SVGMatrix attribute of SVGTransform, both are POD types, using SVGPropertyTearOff). (WebCore::SVGStaticPropertyWithParentTearOff::create): (WebCore::SVGStaticPropertyWithParentTearOff::commitChange): (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff): * svg/properties/SVGTransformListPropertyTearOff.h: Added. Extends SVGListPropertyTearOff by two special SVGTransformList methods: consolidate and createSVGTransformFromMatrix. (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff): 2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49311 Add tests covering StrictTypeChecking and RequiresAllArguments=Raise for SVGMatrix/SVGPoint. Imported several new tests from SVG 1.1 2nd Edition, regarding SVG DOM primitives. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt: Added. * svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-01-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-02-f.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-03-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-05-b.svg: Added. * svg/dom/SVGMatrix-expected.txt: Added. * svg/dom/SVGMatrix.html: Added. * svg/dom/SVGPoint-expected.txt: * svg/dom/SVGTransform-expected.txt: Added. * svg/dom/SVGTransform.html: Added. * svg/dom/SVGTransformList-expected.txt: Added. * svg/dom/SVGTransformList.html: Added. * svg/dom/script-tests/SVGMatrix.js: Added. * svg/dom/script-tests/SVGPoint.js: * svg/dom/script-tests/SVGTransform.js: Added. * svg/dom/script-tests/SVGTransformList.js: Added. Canonical link: https://commits.webkit.org/62278@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@71802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-11 11:20:11 +00:00
function expect_exception(id, fn, code) {
try {
fn();
} catch (e) {
if (e.code == code) {
$(id).setAttribute('fill', 'green');
return;
}
}
$(id).setAttribute('fill', 'red');
}
function expect_value(id, fn, value) {
try {
if (fn() === value) {
$(id).setAttribute('fill', 'green');
return;
}
} catch (e) {
}
$(id).setAttribute('fill', 'red');
}
// SVGAnimatedNumberList: rotate on text
expect_value
('r1',
function() {
return text.rotate.baseVal.numberOfItems == 3
&& (text.setAttribute('rotate', '0 20'), text.rotate.baseVal.numberOfItems == 2);
},
true);
// SVGAnimatedLength: r on circle
expect_value
('r2',
function() {
return circle.r.baseVal.value == 50
&& (circle.setAttribute('r', '100'), circle.r.baseVal.value == 100);
},
true);
// SVGAnimatedLengthList: x on text
expect_value
('r3',
function() {
return text.x.baseVal.numberOfItems == 2
&& (text.setAttribute('x', '10'), text.x.baseVal.numberOfItems == 1);
},
true);
// SVGAnimatedAngle: orient on marker
expect_value
('r4',
function() {
return marker.orientAngle.baseVal.value == 30
&& (marker.setAttribute('orient', '60'), marker.orientAngle.baseVal.value == 60);
},
true);
// SVGAnimatedRect: viewBox on svg
expect_value
('r5',
function() {
return svg.viewBox.baseVal.x == 10
&& (svg.setAttribute('viewBox', '20 30 40 50'), svg.viewBox.baseVal.x == 20);
},
true);
// SVGAnimatedTransformList: transform on circle
expect_value
('r6',
function() {
return circle.transform.baseVal.numberOfItems == 2
&& (circle.setAttribute('transform', 'scale(1)'), circle.transform.baseVal.numberOfItems == 1);
},
true);
// SVGAnimatedPreserveAspectRatio: preserveAspectRatio on svg
expect_value
('r7',
function() {
return svg.preserveAspectRatio.baseVal.align == 1 /* none */
&& (svg.setAttribute('preserveAspectRatio', 'xMidYMid'), svg.preserveAspectRatio.baseVal.align == 6);
},
true);
[SVG2]: Remove the SVGExternalResourcesRequired interface https://bugs.webkit.org/show_bug.cgi?id=191293 Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-10-18 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/svg/import/types-dom-04-b-manual.svg: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. Source/WebCore: The spec page is: https://www.w3.org/TR/SVG/changes.html. r251290 made externalResourcesRequired have no effect on firing the load event. All the control was moved to SVGURIReference. This patch will remove this interface entirely to conform with SVG2 specs and other browsers. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * svg/SVGAElement.cpp: (WebCore::SVGAElement::SVGAElement): (WebCore::SVGAElement::parseAttribute): (WebCore::SVGAElement::svgAttributeChanged): * svg/SVGAElement.h: * svg/SVGAElement.idl: * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::SVGAnimationElement): (WebCore::SVGAnimationElement::isSupportedAttribute): (WebCore::SVGAnimationElement::parseAttribute): * svg/SVGAnimationElement.h: * svg/SVGAnimationElement.idl: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::SVGCircleElement): (WebCore::SVGCircleElement::parseAttribute): (WebCore::SVGCircleElement::svgAttributeChanged): * svg/SVGCircleElement.h: * svg/SVGCircleElement.idl: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::SVGClipPathElement): (WebCore::SVGClipPathElement::parseAttribute): (WebCore::SVGClipPathElement::svgAttributeChanged): * svg/SVGClipPathElement.h: * svg/SVGClipPathElement.idl: * svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::SVGCursorElement): (WebCore::SVGCursorElement::parseAttribute): * svg/SVGCursorElement.h: * svg/SVGCursorElement.idl: * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::SVGDefsElement): * svg/SVGDefsElement.h: * svg/SVGDefsElement.idl: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::SVGEllipseElement): (WebCore::SVGEllipseElement::parseAttribute): (WebCore::SVGEllipseElement::svgAttributeChanged): * svg/SVGEllipseElement.h: * svg/SVGEllipseElement.idl: * svg/SVGExternalResourcesRequired.cpp: Removed. * svg/SVGExternalResourcesRequired.h: Removed. * svg/SVGExternalResourcesRequired.idl: Removed. * svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::SVGFEImageElement): (WebCore::SVGFEImageElement::parseAttribute): * svg/SVGFEImageElement.h: * svg/SVGFEImageElement.idl: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::SVGFilterElement): (WebCore::SVGFilterElement::parseAttribute): (WebCore::SVGFilterElement::svgAttributeChanged): * svg/SVGFilterElement.h: * svg/SVGFilterElement.idl: * svg/SVGFontElement.cpp: (WebCore::SVGFontElement::SVGFontElement): * svg/SVGFontElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): (WebCore::SVGForeignObjectElement::parseAttribute): (WebCore::SVGForeignObjectElement::svgAttributeChanged): * svg/SVGForeignObjectElement.h: * svg/SVGForeignObjectElement.idl: * svg/SVGGElement.cpp: (WebCore::SVGGElement::SVGGElement): (WebCore::SVGGElement::parseAttribute): Deleted. (WebCore::SVGGElement::svgAttributeChanged): Deleted. * svg/SVGGElement.h: * svg/SVGGElement.idl: * svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::SVGGradientElement): (WebCore::SVGGradientElement::parseAttribute): * svg/SVGGradientElement.h: * svg/SVGGradientElement.idl: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::SVGImageElement): (WebCore::SVGImageElement::parseAttribute): (WebCore::SVGImageElement::svgAttributeChanged): * svg/SVGImageElement.h: * svg/SVGImageElement.idl: * svg/SVGLineElement.cpp: (WebCore::SVGLineElement::SVGLineElement): (WebCore::SVGLineElement::parseAttribute): (WebCore::SVGLineElement::svgAttributeChanged): * svg/SVGLineElement.h: * svg/SVGLineElement.idl: * svg/SVGMPathElement.cpp: (WebCore::SVGMPathElement::SVGMPathElement): (WebCore::SVGMPathElement::parseAttribute): (WebCore::SVGMPathElement::svgAttributeChanged): * svg/SVGMPathElement.h: * svg/SVGMPathElement.idl: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::SVGMarkerElement): (WebCore::SVGMarkerElement::parseAttribute): (WebCore::SVGMarkerElement::svgAttributeChanged): * svg/SVGMarkerElement.h: * svg/SVGMarkerElement.idl: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::SVGMaskElement): (WebCore::SVGMaskElement::parseAttribute): (WebCore::SVGMaskElement::svgAttributeChanged): * svg/SVGMaskElement.h: * svg/SVGMaskElement.idl: * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::SVGPathElement): (WebCore::SVGPathElement::parseAttribute): (WebCore::SVGPathElement::svgAttributeChanged): * svg/SVGPathElement.h: * svg/SVGPathElement.idl: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::parseAttribute): (WebCore::SVGPatternElement::svgAttributeChanged): * svg/SVGPatternElement.h: * svg/SVGPatternElement.idl: * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::SVGPolyElement): (WebCore::SVGPolyElement::parseAttribute): (WebCore::SVGPolyElement::svgAttributeChanged): * svg/SVGPolyElement.h: * svg/SVGPolygonElement.idl: * svg/SVGPolylineElement.idl: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::SVGRectElement): (WebCore::SVGRectElement::parseAttribute): (WebCore::SVGRectElement::svgAttributeChanged): * svg/SVGRectElement.h: * svg/SVGRectElement.idl: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::SVGSVGElement): (WebCore::SVGSVGElement::parseAttribute): (WebCore::SVGSVGElement::svgAttributeChanged): * svg/SVGSVGElement.h: * svg/SVGSVGElement.idl: * svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::SVGScriptElement): (WebCore::SVGScriptElement::parseAttribute): (WebCore::SVGScriptElement::svgAttributeChanged): * svg/SVGScriptElement.h: * svg/SVGScriptElement.idl: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::SVGSwitchElement): * svg/SVGSwitchElement.h: * svg/SVGSwitchElement.idl: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::SVGSymbolElement): (WebCore::SVGSymbolElement::parseAttribute): (WebCore::SVGSymbolElement::svgAttributeChanged): Deleted. * svg/SVGSymbolElement.h: * svg/SVGSymbolElement.idl: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::SVGTextContentElement): (WebCore::SVGTextContentElement::parseAttribute): (WebCore::SVGTextContentElement::svgAttributeChanged): * svg/SVGTextContentElement.h: * svg/SVGTextContentElement.idl: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::SVGUseElement): (WebCore::SVGUseElement::parseAttribute): (WebCore::SVGUseElement::svgAttributeChanged): * svg/SVGUseElement.h: * svg/SVGUseElement.idl: * svg/SVGViewElement.cpp: (WebCore::SVGViewElement::SVGViewElement): (WebCore::SVGViewElement::parseAttribute): (WebCore::SVGViewElement::svgAttributeChanged): * svg/SVGViewElement.h: * svg/SVGViewElement.idl: LayoutTests: * platform/gtk/TestExpectations: The script-change-externalResourcesRequired-while-loading.svg has to be removed and it was flaky on all platforms. * platform/gtk/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/ios/TestExpectations: * platform/ios/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/mac/TestExpectations: * platform/mac/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/win/TestExpectations: * platform/win/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/wpe/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. * svg/animations/animate-externalResourcesRequired-no-load-event-expected.txt: Removed. * svg/animations/animate-externalResourcesRequired-no-load-event.html: Removed. * svg/custom/path-domsubtreemodified-crash.html: * svg/dom/SVGAnimatedBoolean-expected.txt: * svg/dom/SVGAnimatedBoolean.html: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. * svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading-expected.txt: Removed. * svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg: Removed. * svg/dom/SVGScriptElement/script-load-and-error-events.svg: * svg/dom/SVGScriptElement/script-onerror-bubbling.svg: * svg/dom/SVGScriptElement/script-reexecution.svg: * svg/dynamic-updates/SVGUseElement-dom-href1-attr.html: Canonical link: https://commits.webkit.org/216584@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-19 01:18:17 +00:00
// SVGAnimatedBoolean: preserveAlpha on feConvolveMatrix
2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49311 Move the last list type, SVGTransformList, and the last POD types, SVGMatrix & SVGTransform, over to the new SVGPropertyTearOff concept. Removes the need for a custom JSSVGMatrix/V8SVGMatrix implementation, it's all integrated within the bindings now. Tests: svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg svg/W3C-SVG-1.1-SE/types-dom-01-b.svg svg/W3C-SVG-1.1-SE/types-dom-02-f.svg svg/W3C-SVG-1.1-SE/types-dom-03-b.svg svg/W3C-SVG-1.1-SE/types-dom-04-b.svg svg/W3C-SVG-1.1-SE/types-dom-05-b.svg svg/dom/SVGMatrix.html svg/dom/SVGTransform.html svg/dom/SVGTransformList.html * Android.jscbindings.mk: Removed JSSVGMatrixCustom.cpp. * Android.v8bindings.mk: Removed V8SVGMatrixCustom.cpp. * CMakeLists.txt: Remove JSSVGMatrixCustom.cpp. * GNUmakefile.am: Ditto. Add SVGAnimatedTransformListPropertyTearOff.h/SVGStaticPropertyWithParentTearOff.h/SVGTransformListPropertyTearOff.h/SVGAnimatedTransformList.h/SVGMatrix.h to build. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGMatrixCustom.cpp * bindings/js/JSSVGMatrixCustom.cpp: Removed. * bindings/scripts/CodeGenerator.pm: Convert SVGMatrix/SVGTransform/SVGTransformList to the new concept. * bindings/scripts/CodeGeneratorJS.pm: Ditto. * bindings/scripts/CodeGeneratorObjC.pm: Ditto. * bindings/scripts/CodeGeneratorV8.pm: Ditto. * bindings/v8/custom/V8SVGMatrixCustom.cpp: Removed. * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGTransformList handling. * svg/DeprecatedSVGAnimatedTemplate.h: Ditto. * svg/SVGAnimateTransformElement.cpp: Adapt to SVGTransformList API changes. (WebCore::transformListFor): (WebCore::SVGAnimateTransformElement::resetToBaseValue): (WebCore::SVGAnimateTransformElement::calculateAnimatedValue): (WebCore::SVGAnimateTransformElement::applyResultsToTarget): * svg/SVGAnimatedTransformList.h: Added. * svg/SVGGradientElement.cpp: Ditto. (WebCore::SVGGradientElement::SVGGradientElement): (WebCore::SVGGradientElement::parseMappedAttribute): * svg/SVGGradientElement.h: Ditto. * svg/SVGLinearGradientElement.cpp: Ditto. (WebCore::SVGLinearGradientElement::collectGradientAttributes): * svg/SVGMatrix.h: Added. SVGMatrix inherits from AffineTransform, and is only used in the bindings. It implements SVGs special requirements. (WebCore::SVGMatrix::translate): Returns a copy of the matrix, not affecting the original matrix. (WebCore::SVGMatrix::scale): Ditto. (WebCore::SVGMatrix::scaleNonUniform): Ditto. (WebCore::SVGMatrix::rotate): Ditto. (WebCore::SVGMatrix::flipX): Ditto. (WebCore::SVGMatrix::flipY): Ditto. (WebCore::SVGMatrix::skewX): Ditto. (WebCore::SVGMatrix::skewY): Ditto. (WebCore::SVGMatrix::multiply): Ditto. (WebCore::SVGMatrix::inverse): Ditto. (WebCore::SVGMatrix::rotateFromVector): Dittto. * svg/SVGMatrix.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions. * svg/SVGPatternElement.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::parseMappedAttribute): (WebCore::SVGPatternElement::collectPatternAttributes): * svg/SVGPatternElement.h: Ditto. * svg/SVGPoint.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise for 'matrixTransform', now that SVGMatrix has been converted to the new scheme. * svg/SVGRadialGradientElement.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGRadialGradientElement::collectGradientAttributes): * svg/SVGSVGElement.cpp: Ditto. (WebCore::SVGSVGElement::createSVGTransformFromMatrix): (WebCore::SVGSVGElement::viewBoxToViewTransform): * svg/SVGSVGElement.h: Ditto. * svg/SVGStyledTransformableElement.cpp: Ditto. (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): (WebCore::SVGStyledTransformableElement::animatedLocalTransform): (WebCore::SVGStyledTransformableElement::parseMappedAttribute): * svg/SVGStyledTransformableElement.h: Ditto. * svg/SVGTextElement.cpp: Ditto. (WebCore::SVGTextElement::SVGTextElement): (WebCore::SVGTextElement::parseMappedAttribute): (WebCore::SVGTextElement::animatedLocalTransform): * svg/SVGTextElement.h: Ditto. * svg/SVGTransform.cpp: Modernize code, inlined some getters. (WebCore::SVGTransform::SVGTransform): (WebCore::SVGTransform::setMatrix): * svg/SVGTransform.h: Reindent header. (WebCore::SVGTransform::type): (WebCore::SVGTransform::svgMatrix): (WebCore::SVGTransform::matrix): (WebCore::SVGTransform::angle): (WebCore::SVGTransform::rotationCenter): (WebCore::SVGTransform::isValid): (WebCore::operator==): Avoid function calls, make operator== a friend of SVGTransform, and compare members directly. (WebCore::operator!=): * svg/SVGTransform.idl: * svg/SVGTransformList.cpp: Rewritten as plain Vector<SVGTransform>. (WebCore::SVGTransformList::createSVGTransformFromMatrix): (WebCore::SVGTransformList::consolidate): (WebCore::SVGTransformList::concatenate): (WebCore::SVGTransformList::valueAsString): * svg/SVGTransformList.h: (WebCore::SVGTransformList::SVGTransformList): * svg/SVGTransformList.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions. * svg/SVGTransformable.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGTransformable::parseTransformAttribute): * svg/SVGTransformable.h: Ditto. * svg/SVGViewSpec.cpp: Ditto. (WebCore::SVGViewSpec::SVGViewSpec): (WebCore::SVGViewSpec::setTransform): (WebCore::SVGViewSpec::parseViewSpec): * svg/SVGViewSpec.h: Ditto. (WebCore::SVGViewSpec::transform): * svg/properties/SVGAnimatedListPropertyTearOff.h: Made constructor and members protected. * svg/properties/SVGAnimatedPropertyMacros.h: Add new helper macro DECLARE_ANIMATED_TRANSFORM_LIST_PROPERTY. This is needed until we expand all macros. * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Added. Extends SVGAnimatedListPropertyTearOff, returning SVGTransformListPropertyTearOff objects. (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::create): (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff): * svg/properties/SVGListPropertyTearOff.h: Made construct and members protected. * svg/properties/SVGProperty.h: Declare commitChange() as pure virtual method. * svg/properties/SVGPropertyTraits.h: Handle SVGTransformList. * svg/properties/SVGStaticPropertyWithParentTearOff.h: Added. Same concept as JSSVGStaticPODTypeWrapperWithParent, used to expose SVGPropertyTearOffs for types that are using this concept themselves. (SVGMatrix attribute of SVGTransform, both are POD types, using SVGPropertyTearOff). (WebCore::SVGStaticPropertyWithParentTearOff::create): (WebCore::SVGStaticPropertyWithParentTearOff::commitChange): (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff): * svg/properties/SVGTransformListPropertyTearOff.h: Added. Extends SVGListPropertyTearOff by two special SVGTransformList methods: consolidate and createSVGTransformFromMatrix. (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff): 2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49311 Add tests covering StrictTypeChecking and RequiresAllArguments=Raise for SVGMatrix/SVGPoint. Imported several new tests from SVG 1.1 2nd Edition, regarding SVG DOM primitives. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt: Added. * svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-01-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-02-f.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-03-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-05-b.svg: Added. * svg/dom/SVGMatrix-expected.txt: Added. * svg/dom/SVGMatrix.html: Added. * svg/dom/SVGPoint-expected.txt: * svg/dom/SVGTransform-expected.txt: Added. * svg/dom/SVGTransform.html: Added. * svg/dom/SVGTransformList-expected.txt: Added. * svg/dom/SVGTransformList.html: Added. * svg/dom/script-tests/SVGMatrix.js: Added. * svg/dom/script-tests/SVGPoint.js: * svg/dom/script-tests/SVGTransform.js: Added. * svg/dom/script-tests/SVGTransformList.js: Added. Canonical link: https://commits.webkit.org/62278@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@71802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-11 11:20:11 +00:00
expect_value
('r8',
function() {
[SVG2]: Remove the SVGExternalResourcesRequired interface https://bugs.webkit.org/show_bug.cgi?id=191293 Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-10-18 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/svg/import/types-dom-04-b-manual.svg: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. Source/WebCore: The spec page is: https://www.w3.org/TR/SVG/changes.html. r251290 made externalResourcesRequired have no effect on firing the load event. All the control was moved to SVGURIReference. This patch will remove this interface entirely to conform with SVG2 specs and other browsers. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * svg/SVGAElement.cpp: (WebCore::SVGAElement::SVGAElement): (WebCore::SVGAElement::parseAttribute): (WebCore::SVGAElement::svgAttributeChanged): * svg/SVGAElement.h: * svg/SVGAElement.idl: * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::SVGAnimationElement): (WebCore::SVGAnimationElement::isSupportedAttribute): (WebCore::SVGAnimationElement::parseAttribute): * svg/SVGAnimationElement.h: * svg/SVGAnimationElement.idl: * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::SVGCircleElement): (WebCore::SVGCircleElement::parseAttribute): (WebCore::SVGCircleElement::svgAttributeChanged): * svg/SVGCircleElement.h: * svg/SVGCircleElement.idl: * svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::SVGClipPathElement): (WebCore::SVGClipPathElement::parseAttribute): (WebCore::SVGClipPathElement::svgAttributeChanged): * svg/SVGClipPathElement.h: * svg/SVGClipPathElement.idl: * svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::SVGCursorElement): (WebCore::SVGCursorElement::parseAttribute): * svg/SVGCursorElement.h: * svg/SVGCursorElement.idl: * svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::SVGDefsElement): * svg/SVGDefsElement.h: * svg/SVGDefsElement.idl: * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::SVGEllipseElement): (WebCore::SVGEllipseElement::parseAttribute): (WebCore::SVGEllipseElement::svgAttributeChanged): * svg/SVGEllipseElement.h: * svg/SVGEllipseElement.idl: * svg/SVGExternalResourcesRequired.cpp: Removed. * svg/SVGExternalResourcesRequired.h: Removed. * svg/SVGExternalResourcesRequired.idl: Removed. * svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::SVGFEImageElement): (WebCore::SVGFEImageElement::parseAttribute): * svg/SVGFEImageElement.h: * svg/SVGFEImageElement.idl: * svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::SVGFilterElement): (WebCore::SVGFilterElement::parseAttribute): (WebCore::SVGFilterElement::svgAttributeChanged): * svg/SVGFilterElement.h: * svg/SVGFilterElement.idl: * svg/SVGFontElement.cpp: (WebCore::SVGFontElement::SVGFontElement): * svg/SVGFontElement.h: * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): (WebCore::SVGForeignObjectElement::parseAttribute): (WebCore::SVGForeignObjectElement::svgAttributeChanged): * svg/SVGForeignObjectElement.h: * svg/SVGForeignObjectElement.idl: * svg/SVGGElement.cpp: (WebCore::SVGGElement::SVGGElement): (WebCore::SVGGElement::parseAttribute): Deleted. (WebCore::SVGGElement::svgAttributeChanged): Deleted. * svg/SVGGElement.h: * svg/SVGGElement.idl: * svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::SVGGradientElement): (WebCore::SVGGradientElement::parseAttribute): * svg/SVGGradientElement.h: * svg/SVGGradientElement.idl: * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::SVGImageElement): (WebCore::SVGImageElement::parseAttribute): (WebCore::SVGImageElement::svgAttributeChanged): * svg/SVGImageElement.h: * svg/SVGImageElement.idl: * svg/SVGLineElement.cpp: (WebCore::SVGLineElement::SVGLineElement): (WebCore::SVGLineElement::parseAttribute): (WebCore::SVGLineElement::svgAttributeChanged): * svg/SVGLineElement.h: * svg/SVGLineElement.idl: * svg/SVGMPathElement.cpp: (WebCore::SVGMPathElement::SVGMPathElement): (WebCore::SVGMPathElement::parseAttribute): (WebCore::SVGMPathElement::svgAttributeChanged): * svg/SVGMPathElement.h: * svg/SVGMPathElement.idl: * svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::SVGMarkerElement): (WebCore::SVGMarkerElement::parseAttribute): (WebCore::SVGMarkerElement::svgAttributeChanged): * svg/SVGMarkerElement.h: * svg/SVGMarkerElement.idl: * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::SVGMaskElement): (WebCore::SVGMaskElement::parseAttribute): (WebCore::SVGMaskElement::svgAttributeChanged): * svg/SVGMaskElement.h: * svg/SVGMaskElement.idl: * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::SVGPathElement): (WebCore::SVGPathElement::parseAttribute): (WebCore::SVGPathElement::svgAttributeChanged): * svg/SVGPathElement.h: * svg/SVGPathElement.idl: * svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::parseAttribute): (WebCore::SVGPatternElement::svgAttributeChanged): * svg/SVGPatternElement.h: * svg/SVGPatternElement.idl: * svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::SVGPolyElement): (WebCore::SVGPolyElement::parseAttribute): (WebCore::SVGPolyElement::svgAttributeChanged): * svg/SVGPolyElement.h: * svg/SVGPolygonElement.idl: * svg/SVGPolylineElement.idl: * svg/SVGRectElement.cpp: (WebCore::SVGRectElement::SVGRectElement): (WebCore::SVGRectElement::parseAttribute): (WebCore::SVGRectElement::svgAttributeChanged): * svg/SVGRectElement.h: * svg/SVGRectElement.idl: * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::SVGSVGElement): (WebCore::SVGSVGElement::parseAttribute): (WebCore::SVGSVGElement::svgAttributeChanged): * svg/SVGSVGElement.h: * svg/SVGSVGElement.idl: * svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::SVGScriptElement): (WebCore::SVGScriptElement::parseAttribute): (WebCore::SVGScriptElement::svgAttributeChanged): * svg/SVGScriptElement.h: * svg/SVGScriptElement.idl: * svg/SVGSwitchElement.cpp: (WebCore::SVGSwitchElement::SVGSwitchElement): * svg/SVGSwitchElement.h: * svg/SVGSwitchElement.idl: * svg/SVGSymbolElement.cpp: (WebCore::SVGSymbolElement::SVGSymbolElement): (WebCore::SVGSymbolElement::parseAttribute): (WebCore::SVGSymbolElement::svgAttributeChanged): Deleted. * svg/SVGSymbolElement.h: * svg/SVGSymbolElement.idl: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::SVGTextContentElement): (WebCore::SVGTextContentElement::parseAttribute): (WebCore::SVGTextContentElement::svgAttributeChanged): * svg/SVGTextContentElement.h: * svg/SVGTextContentElement.idl: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::SVGUseElement): (WebCore::SVGUseElement::parseAttribute): (WebCore::SVGUseElement::svgAttributeChanged): * svg/SVGUseElement.h: * svg/SVGUseElement.idl: * svg/SVGViewElement.cpp: (WebCore::SVGViewElement::SVGViewElement): (WebCore::SVGViewElement::parseAttribute): (WebCore::SVGViewElement::svgAttributeChanged): * svg/SVGViewElement.h: * svg/SVGViewElement.idl: LayoutTests: * platform/gtk/TestExpectations: The script-change-externalResourcesRequired-while-loading.svg has to be removed and it was flaky on all platforms. * platform/gtk/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/ios/TestExpectations: * platform/ios/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/mac/TestExpectations: * platform/mac/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/win/TestExpectations: * platform/win/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: * platform/wpe/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. * svg/animations/animate-externalResourcesRequired-no-load-event-expected.txt: Removed. * svg/animations/animate-externalResourcesRequired-no-load-event.html: Removed. * svg/custom/path-domsubtreemodified-crash.html: * svg/dom/SVGAnimatedBoolean-expected.txt: * svg/dom/SVGAnimatedBoolean.html: Use the preserveAlpha property of <feConvolveMatrix> element to test SVGAnimatedBoolean. * svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading-expected.txt: Removed. * svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg: Removed. * svg/dom/SVGScriptElement/script-load-and-error-events.svg: * svg/dom/SVGScriptElement/script-onerror-bubbling.svg: * svg/dom/SVGScriptElement/script-reexecution.svg: * svg/dynamic-updates/SVGUseElement-dom-href1-attr.html: Canonical link: https://commits.webkit.org/216584@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-19 01:18:17 +00:00
return !feConvolveMatrix.preserveAlpha.baseVal
&& (feConvolveMatrix.setAttribute('preserveAlpha', 'true'), feConvolveMatrix.preserveAlpha.baseVal);
2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49311 Move the last list type, SVGTransformList, and the last POD types, SVGMatrix & SVGTransform, over to the new SVGPropertyTearOff concept. Removes the need for a custom JSSVGMatrix/V8SVGMatrix implementation, it's all integrated within the bindings now. Tests: svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg svg/W3C-SVG-1.1-SE/types-dom-01-b.svg svg/W3C-SVG-1.1-SE/types-dom-02-f.svg svg/W3C-SVG-1.1-SE/types-dom-03-b.svg svg/W3C-SVG-1.1-SE/types-dom-04-b.svg svg/W3C-SVG-1.1-SE/types-dom-05-b.svg svg/dom/SVGMatrix.html svg/dom/SVGTransform.html svg/dom/SVGTransformList.html * Android.jscbindings.mk: Removed JSSVGMatrixCustom.cpp. * Android.v8bindings.mk: Removed V8SVGMatrixCustom.cpp. * CMakeLists.txt: Remove JSSVGMatrixCustom.cpp. * GNUmakefile.am: Ditto. Add SVGAnimatedTransformListPropertyTearOff.h/SVGStaticPropertyWithParentTearOff.h/SVGTransformListPropertyTearOff.h/SVGAnimatedTransformList.h/SVGMatrix.h to build. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGMatrixCustom.cpp * bindings/js/JSSVGMatrixCustom.cpp: Removed. * bindings/scripts/CodeGenerator.pm: Convert SVGMatrix/SVGTransform/SVGTransformList to the new concept. * bindings/scripts/CodeGeneratorJS.pm: Ditto. * bindings/scripts/CodeGeneratorObjC.pm: Ditto. * bindings/scripts/CodeGeneratorV8.pm: Ditto. * bindings/v8/custom/V8SVGMatrixCustom.cpp: Removed. * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGTransformList handling. * svg/DeprecatedSVGAnimatedTemplate.h: Ditto. * svg/SVGAnimateTransformElement.cpp: Adapt to SVGTransformList API changes. (WebCore::transformListFor): (WebCore::SVGAnimateTransformElement::resetToBaseValue): (WebCore::SVGAnimateTransformElement::calculateAnimatedValue): (WebCore::SVGAnimateTransformElement::applyResultsToTarget): * svg/SVGAnimatedTransformList.h: Added. * svg/SVGGradientElement.cpp: Ditto. (WebCore::SVGGradientElement::SVGGradientElement): (WebCore::SVGGradientElement::parseMappedAttribute): * svg/SVGGradientElement.h: Ditto. * svg/SVGLinearGradientElement.cpp: Ditto. (WebCore::SVGLinearGradientElement::collectGradientAttributes): * svg/SVGMatrix.h: Added. SVGMatrix inherits from AffineTransform, and is only used in the bindings. It implements SVGs special requirements. (WebCore::SVGMatrix::translate): Returns a copy of the matrix, not affecting the original matrix. (WebCore::SVGMatrix::scale): Ditto. (WebCore::SVGMatrix::scaleNonUniform): Ditto. (WebCore::SVGMatrix::rotate): Ditto. (WebCore::SVGMatrix::flipX): Ditto. (WebCore::SVGMatrix::flipY): Ditto. (WebCore::SVGMatrix::skewX): Ditto. (WebCore::SVGMatrix::skewY): Ditto. (WebCore::SVGMatrix::multiply): Ditto. (WebCore::SVGMatrix::inverse): Ditto. (WebCore::SVGMatrix::rotateFromVector): Dittto. * svg/SVGMatrix.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions. * svg/SVGPatternElement.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::parseMappedAttribute): (WebCore::SVGPatternElement::collectPatternAttributes): * svg/SVGPatternElement.h: Ditto. * svg/SVGPoint.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise for 'matrixTransform', now that SVGMatrix has been converted to the new scheme. * svg/SVGRadialGradientElement.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGRadialGradientElement::collectGradientAttributes): * svg/SVGSVGElement.cpp: Ditto. (WebCore::SVGSVGElement::createSVGTransformFromMatrix): (WebCore::SVGSVGElement::viewBoxToViewTransform): * svg/SVGSVGElement.h: Ditto. * svg/SVGStyledTransformableElement.cpp: Ditto. (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): (WebCore::SVGStyledTransformableElement::animatedLocalTransform): (WebCore::SVGStyledTransformableElement::parseMappedAttribute): * svg/SVGStyledTransformableElement.h: Ditto. * svg/SVGTextElement.cpp: Ditto. (WebCore::SVGTextElement::SVGTextElement): (WebCore::SVGTextElement::parseMappedAttribute): (WebCore::SVGTextElement::animatedLocalTransform): * svg/SVGTextElement.h: Ditto. * svg/SVGTransform.cpp: Modernize code, inlined some getters. (WebCore::SVGTransform::SVGTransform): (WebCore::SVGTransform::setMatrix): * svg/SVGTransform.h: Reindent header. (WebCore::SVGTransform::type): (WebCore::SVGTransform::svgMatrix): (WebCore::SVGTransform::matrix): (WebCore::SVGTransform::angle): (WebCore::SVGTransform::rotationCenter): (WebCore::SVGTransform::isValid): (WebCore::operator==): Avoid function calls, make operator== a friend of SVGTransform, and compare members directly. (WebCore::operator!=): * svg/SVGTransform.idl: * svg/SVGTransformList.cpp: Rewritten as plain Vector<SVGTransform>. (WebCore::SVGTransformList::createSVGTransformFromMatrix): (WebCore::SVGTransformList::consolidate): (WebCore::SVGTransformList::concatenate): (WebCore::SVGTransformList::valueAsString): * svg/SVGTransformList.h: (WebCore::SVGTransformList::SVGTransformList): * svg/SVGTransformList.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions. * svg/SVGTransformable.cpp: Adapt to SVGTransformList API changes. (WebCore::SVGTransformable::parseTransformAttribute): * svg/SVGTransformable.h: Ditto. * svg/SVGViewSpec.cpp: Ditto. (WebCore::SVGViewSpec::SVGViewSpec): (WebCore::SVGViewSpec::setTransform): (WebCore::SVGViewSpec::parseViewSpec): * svg/SVGViewSpec.h: Ditto. (WebCore::SVGViewSpec::transform): * svg/properties/SVGAnimatedListPropertyTearOff.h: Made constructor and members protected. * svg/properties/SVGAnimatedPropertyMacros.h: Add new helper macro DECLARE_ANIMATED_TRANSFORM_LIST_PROPERTY. This is needed until we expand all macros. * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Added. Extends SVGAnimatedListPropertyTearOff, returning SVGTransformListPropertyTearOff objects. (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal): (WebCore::SVGAnimatedTransformListPropertyTearOff::create): (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff): * svg/properties/SVGListPropertyTearOff.h: Made construct and members protected. * svg/properties/SVGProperty.h: Declare commitChange() as pure virtual method. * svg/properties/SVGPropertyTraits.h: Handle SVGTransformList. * svg/properties/SVGStaticPropertyWithParentTearOff.h: Added. Same concept as JSSVGStaticPODTypeWrapperWithParent, used to expose SVGPropertyTearOffs for types that are using this concept themselves. (SVGMatrix attribute of SVGTransform, both are POD types, using SVGPropertyTearOff). (WebCore::SVGStaticPropertyWithParentTearOff::create): (WebCore::SVGStaticPropertyWithParentTearOff::commitChange): (WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff): * svg/properties/SVGTransformListPropertyTearOff.h: Added. Extends SVGListPropertyTearOff by two special SVGTransformList methods: consolidate and createSVGTransformFromMatrix. (WebCore::SVGTransformListPropertyTearOff::create): (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix): (WebCore::SVGTransformListPropertyTearOff::consolidate): (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff): 2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49311 Add tests covering StrictTypeChecking and RequiresAllArguments=Raise for SVGMatrix/SVGPoint. Imported several new tests from SVG 1.1 2nd Edition, regarding SVG DOM primitives. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.checksum: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png: Added. * platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt: Added. * svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg: Added. * svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-01-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-02-f.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-03-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-04-b.svg: Added. * svg/W3C-SVG-1.1-SE/types-dom-05-b.svg: Added. * svg/dom/SVGMatrix-expected.txt: Added. * svg/dom/SVGMatrix.html: Added. * svg/dom/SVGPoint-expected.txt: * svg/dom/SVGTransform-expected.txt: Added. * svg/dom/SVGTransform.html: Added. * svg/dom/SVGTransformList-expected.txt: Added. * svg/dom/SVGTransformList.html: Added. * svg/dom/script-tests/SVGMatrix.js: Added. * svg/dom/script-tests/SVGPoint.js: * svg/dom/script-tests/SVGTransform.js: Added. * svg/dom/script-tests/SVGTransformList.js: Added. Canonical link: https://commits.webkit.org/62278@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@71802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-11-11 11:20:11 +00:00
},
true);
// SVGAnimatedString: class on circle
expect_value
('r9',
function() {
return circle.className.baseVal == 'one'
&& (circle.setAttribute('class', 'two'), circle.className.baseVal == 'two');
},
true);
// SVGAnimatedEnumeration: lengthAdjust on text
expect_value
('r10',
function() {
return text.lengthAdjust.baseVal == 1 /* spacing*/
&& (text.setAttribute('lengthAdjust', 'spacingAndGlyphs'), text.lengthAdjust.baseVal == 2);
},
true);
// SVGAnimatedInteger: numOctaves on feTurbulence
expect_value
('r11',
function() {
return feTurbulence.numOctaves.baseVal == 2
&& (feTurbulence.setAttribute('numOctaves', '1'), feTurbulence.numOctaves.baseVal == 1);
},
true);
// SVGAnimatedNumber: baseFrequency on feTurbulence
expect_value
('r12',
function() {
return feTurbulence.baseFrequencyY.baseVal == 3
&& (feTurbulence.setAttribute('baseFrequency', '4 5'), feTurbulence.baseFrequencyY.baseVal == 5);
},
true);
]]></script>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.7 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved --><!--
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>