2010-11-18 Sheriff Bot <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72288.
        http://trac.webkit.org/changeset/72288
        https://bugs.webkit.org/show_bug.cgi?id=49730

        'krit attempted to do that, but revert got stuck' (Requested
        by antonm on #webkit).

        * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.checksum: Removed.
        * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.png: Removed.
        * platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt: Removed.
        * platform/mac/svg/custom/svg-curve-with-relative-cordinates-expected.txt:
        * platform/mac/svg/dom/SVGPathSegList-appendItem-expected.checksum: Removed.
        * platform/mac/svg/dom/SVGPathSegList-appendItem-expected.png: Removed.
        * platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.checksum: Removed.
        * platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.png: Removed.
        * platform/mac/svg/dom/SVGPathSegList-cloning-expected.checksum: Removed.
        * platform/mac/svg/dom/SVGPathSegList-cloning-expected.png: Removed.
        * platform/mac/svg/dom/SVGPathSegList-cloning-expected.txt: Removed.
        * platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.checksum: Removed.
        * platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.png: Removed.
        * platform/mac/svg/dom/SVGPathSegList-removeItem-expected.checksum: Removed.
        * platform/mac/svg/dom/SVGPathSegList-removeItem-expected.png: Removed.
        * platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.checksum: Removed.
        * platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.png: Removed.
        * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.checksum: Removed.
        * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.png: Removed.
        * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.txt: Removed.
        * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.checksum: Removed.
        * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png: Removed.
        * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.checksum: Removed.
        * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.png: Removed.
        * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.txt: Removed.
        * svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg: Removed.
        * svg/dom/SVGPathSegList-appendItem-expected.txt: Removed.
        * svg/dom/SVGPathSegList-appendItem.xhtml: Removed.
        * svg/dom/SVGPathSegList-clear-and-initialize-expected.txt: Removed.
        * svg/dom/SVGPathSegList-clear-and-initialize.xhtml: Removed.
        * svg/dom/SVGPathSegList-cloning.html: Removed.
        * svg/dom/SVGPathSegList-insertItemBefore-expected.txt: Removed.
        * svg/dom/SVGPathSegList-insertItemBefore.xhtml: Removed.
        * svg/dom/SVGPathSegList-removeItem-expected.txt: Removed.
        * svg/dom/SVGPathSegList-removeItem.xhtml: Removed.
        * svg/dom/SVGPathSegList-replaceItem-expected.txt: Removed.
        * svg/dom/SVGPathSegList-replaceItem.xhtml: Removed.
        * svg/dom/SVGPathSegList-segment-modification.svg: Removed.
        * svg/dom/SVGPathSegList-xml-dom-synchronization-expected.txt: Removed.
        * svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml: Removed.
        * svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml: Removed.
        * svg/dom/fuzz-path-parser-expected.txt:
        * svg/dom/path-parser-expected.txt:
        * svg/dom/script-tests/path-parser.js:
        ():
        * svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
        * svg/dom/svglist-exception-on-out-bounds-error.html:
        * svg/dom/svgpath-out-of-bounds-getPathSeg-expected.txt:
2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72288.
        http://trac.webkit.org/changeset/72288
        https://bugs.webkit.org/show_bug.cgi?id=49730

        'krit attempted to do that, but revert got stuck' (Requested
        by antonm on #webkit).

        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::setDOMException):
        * bindings/js/JSDOMBinding.h:
        (WebCore::createDOMObjectWrapper):
        (WebCore::getDOMObjectWrapper):
        * bindings/js/JSSVGPathSegCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSSVGPathSegListCustom.cpp: Added.
        (WebCore::JSSVGPathSegList::clear):
        (WebCore::JSSVGPathSegList::initialize):
        (WebCore::JSSVGPathSegList::getItem):
        (WebCore::JSSVGPathSegList::insertItemBefore):
        (WebCore::JSSVGPathSegList::replaceItem):
        (WebCore::JSSVGPathSegList::removeItem):
        (WebCore::JSSVGPathSegList::appendItem):
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::operator<<):
        * svg/SVGAllInOne.cpp:
        * svg/SVGAnimatedPathData.cpp: Added.
        * svg/SVGAnimatedPathData.h: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGAnimatedPathData::~SVGAnimatedPathData):
        * svg/SVGAnimatedPathData.idl: Copied from WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl.
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::SVGPathElement):
        (WebCore::SVGPathElement::getPathSegAtLength):
        (WebCore::SVGPathElement::createSVGPathSegClosePath):
        (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
        (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
        (WebCore::SVGPathElement::createSVGPathSegArcAbs):
        (WebCore::SVGPathElement::createSVGPathSegArcRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
        (WebCore::SVGPathElement::parseMappedAttribute):
        (WebCore::SVGPathElement::svgAttributeChanged):
        (WebCore::SVGPathElement::synchronizeProperty):
        (WebCore::SVGPathElement::pathSegList):
        (WebCore::SVGPathElement::normalizedPathSegList):
        (WebCore::SVGPathElement::animatedPathSegList):
        (WebCore::SVGPathElement::animatedNormalizedPathSegList):
        (WebCore::SVGPathElement::toPathData):
        * svg/SVGPathElement.h:
        (WebCore::SVGPathElement::isValid):
        (WebCore::SVGPathElement::supportsMarkers):
        * svg/SVGPathElement.idl:
        * svg/SVGPathParserFactory.cpp:
        (WebCore::globalSVGPathSegListBuilder):
        (WebCore::SVGPathParserFactory::buildPathFromByteStream):
        (WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList):
        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
        (WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
        (WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
        (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
        (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
        * svg/SVGPathParserFactory.h:
        * svg/SVGPathSeg.cpp: Copied from WebCore/svg/SVGPathSegLinetoHorizontalRel.idl.
        (WebCore::SVGPathSeg::associatedAttributeName):
        * svg/SVGPathSeg.h:
        (WebCore::SVGPathSegSingleCoord::setX):
        (WebCore::SVGPathSegSingleCoord::x):
        (WebCore::SVGPathSegSingleCoord::setY):
        (WebCore::SVGPathSegSingleCoord::y):
        (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
        * svg/SVGPathSeg.idl:
        * svg/SVGPathSegArc.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
        (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
        * svg/SVGPathSegArc.h:
        (WebCore::SVGPathSegArc::SVGPathSegArc):
        (WebCore::SVGPathSegArc::setX):
        (WebCore::SVGPathSegArc::x):
        (WebCore::SVGPathSegArc::setY):
        (WebCore::SVGPathSegArc::y):
        (WebCore::SVGPathSegArc::setR1):
        (WebCore::SVGPathSegArc::r1):
        (WebCore::SVGPathSegArc::setR2):
        (WebCore::SVGPathSegArc::r2):
        (WebCore::SVGPathSegArc::setAngle):
        (WebCore::SVGPathSegArc::angle):
        (WebCore::SVGPathSegArc::setLargeArcFlag):
        (WebCore::SVGPathSegArc::largeArcFlag):
        (WebCore::SVGPathSegArc::setSweepFlag):
        (WebCore::SVGPathSegArc::sweepFlag):
        (WebCore::SVGPathSegArcAbs::create):
        (WebCore::SVGPathSegArcAbs::pathSegType):
        (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegArcRel::create):
        (WebCore::SVGPathSegArcRel::pathSegType):
        (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
        * svg/SVGPathSegArcAbs.idl:
        * svg/SVGPathSegArcRel.idl:
        * svg/SVGPathSegClosePath.cpp: Added.
        * svg/SVGPathSegClosePath.h:
        (WebCore::SVGPathSegClosePath::create):
        (WebCore::SVGPathSegClosePath::SVGPathSegClosePath):
        * svg/SVGPathSegCurvetoCubic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
        (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
        * svg/SVGPathSegCurvetoCubic.h:
        (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):
        (WebCore::SVGPathSegCurvetoCubic::setX):
        (WebCore::SVGPathSegCurvetoCubic::x):
        (WebCore::SVGPathSegCurvetoCubic::setY):
        (WebCore::SVGPathSegCurvetoCubic::y):
        (WebCore::SVGPathSegCurvetoCubic::setX1):
        (WebCore::SVGPathSegCurvetoCubic::x1):
        (WebCore::SVGPathSegCurvetoCubic::setY1):
        (WebCore::SVGPathSegCurvetoCubic::y1):
        (WebCore::SVGPathSegCurvetoCubic::setX2):
        (WebCore::SVGPathSegCurvetoCubic::x2):
        (WebCore::SVGPathSegCurvetoCubic::setY2):
        (WebCore::SVGPathSegCurvetoCubic::y2):
        (WebCore::SVGPathSegCurvetoCubicAbs::create):
        (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
        (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoCubicRel::create):
        (WebCore::SVGPathSegCurvetoCubicRel::pathSegType):
        (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
        * svg/SVGPathSegCurvetoCubicAbs.idl:
        * svg/SVGPathSegCurvetoCubicRel.idl:
        * svg/SVGPathSegCurvetoCubicSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
        * svg/SVGPathSegCurvetoCubicSmooth.h:
        (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
        (WebCore::SVGPathSegCurvetoCubicSmooth::setX):
        (WebCore::SVGPathSegCurvetoCubicSmooth::x):
        (WebCore::SVGPathSegCurvetoCubicSmooth::setY):
        (WebCore::SVGPathSegCurvetoCubicSmooth::y):
        (WebCore::SVGPathSegCurvetoCubicSmooth::setX2):
        (WebCore::SVGPathSegCurvetoCubicSmooth::x2):
        (WebCore::SVGPathSegCurvetoCubicSmooth::setY2):
        (WebCore::SVGPathSegCurvetoCubicSmooth::y2):
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
        * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
        * svg/SVGPathSegCurvetoQuadratic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
        (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
        * svg/SVGPathSegCurvetoQuadratic.h:
        (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):
        (WebCore::SVGPathSegCurvetoQuadratic::setX):
        (WebCore::SVGPathSegCurvetoQuadratic::x):
        (WebCore::SVGPathSegCurvetoQuadratic::setY):
        (WebCore::SVGPathSegCurvetoQuadratic::y):
        (WebCore::SVGPathSegCurvetoQuadratic::setX1):
        (WebCore::SVGPathSegCurvetoQuadratic::x1):
        (WebCore::SVGPathSegCurvetoQuadratic::setY1):
        (WebCore::SVGPathSegCurvetoQuadratic::y1):
        (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
        (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
        (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoQuadraticRel::create):
        (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
        (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
        * svg/SVGPathSegCurvetoQuadraticAbs.idl:
        * svg/SVGPathSegCurvetoQuadraticRel.idl:
        * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
        * svg/SVGPathSegCurvetoQuadraticSmooth.h:
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegType):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegType):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
        * svg/SVGPathSegLineto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
        (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
        * svg/SVGPathSegLineto.h:
        (WebCore::SVGPathSegLinetoAbs::create):
        (WebCore::SVGPathSegLinetoAbs::pathSegType):
        (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoRel::create):
        (WebCore::SVGPathSegLinetoRel::pathSegType):
        (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
        * svg/SVGPathSegLinetoAbs.idl:
        * svg/SVGPathSegLinetoHorizontal.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
        (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
        * svg/SVGPathSegLinetoHorizontal.h:
        (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):
        (WebCore::SVGPathSegLinetoHorizontal::setX):
        (WebCore::SVGPathSegLinetoHorizontal::x):
        (WebCore::SVGPathSegLinetoHorizontalAbs::create):
        (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegType):
        (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoHorizontalRel::create):
        (WebCore::SVGPathSegLinetoHorizontalRel::pathSegType):
        (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
        * svg/SVGPathSegLinetoHorizontalAbs.idl:
        * svg/SVGPathSegLinetoHorizontalRel.idl:
        * svg/SVGPathSegLinetoRel.idl:
        * svg/SVGPathSegLinetoVertical.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
        (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
        * svg/SVGPathSegLinetoVertical.h:
        (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):
        (WebCore::SVGPathSegLinetoVertical::setY):
        (WebCore::SVGPathSegLinetoVertical::y):
        (WebCore::SVGPathSegLinetoVerticalAbs::create):
        (WebCore::SVGPathSegLinetoVerticalAbs::pathSegType):
        (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoVerticalRel::create):
        (WebCore::SVGPathSegLinetoVerticalRel::pathSegType):
        (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
        * svg/SVGPathSegLinetoVerticalAbs.idl:
        * svg/SVGPathSegLinetoVerticalRel.idl:
        * svg/SVGPathSegList.cpp:
        (WebCore::SVGPathSegList::SVGPathSegList):
        * svg/SVGPathSegList.h:
        (WebCore::SVGPathSegList::create):
        * svg/SVGPathSegList.idl:
        * svg/SVGPathSegListBuilder.cpp:
        (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
        (WebCore::SVGPathSegListBuilder::moveTo):
        (WebCore::SVGPathSegListBuilder::lineTo):
        (WebCore::SVGPathSegListBuilder::lineToHorizontal):
        (WebCore::SVGPathSegListBuilder::lineToVertical):
        (WebCore::SVGPathSegListBuilder::curveToCubic):
        (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
        (WebCore::SVGPathSegListBuilder::curveToQuadratic):
        (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
        (WebCore::SVGPathSegListBuilder::arcTo):
        (WebCore::SVGPathSegListBuilder::closePath):
        * svg/SVGPathSegListBuilder.h:
        (WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
        (WebCore::SVGPathSegListBuilder::cleanup):
        * svg/SVGPathSegListSource.cpp:
        (WebCore::SVGPathSegListSource::SVGPathSegListSource):
        (WebCore::SVGPathSegListSource::parseSVGSegmentType):
        (WebCore::SVGPathSegListSource::nextCommand):
        (WebCore::SVGPathSegListSource::parseMoveToSegment):
        (WebCore::SVGPathSegListSource::parseLineToSegment):
        (WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
        * svg/SVGPathSegListSource.h:
        (WebCore::SVGPathSegListSource::create):
        * svg/SVGPathSegMoveto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
        (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
        (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
        * svg/SVGPathSegMoveto.h:
        (WebCore::SVGPathSegMovetoAbs::create):
        (WebCore::SVGPathSegMovetoAbs::pathSegType):
        (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegMovetoRel::create):
        (WebCore::SVGPathSegMovetoRel::pathSegType):
        (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
        * svg/SVGPathSegMovetoAbs.idl:
        * svg/SVGPathSegMovetoRel.idl:
        * svg/SVGPathSegWithContext.h: Removed.
        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Removed.
        * svg/properties/SVGPathSegListPropertyTearOff.cpp: Removed.
        * svg/properties/SVGPathSegListPropertyTearOff.h: Removed.
2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r72288.
        http://trac.webkit.org/changeset/72288
        https://bugs.webkit.org/show_bug.cgi?id=49730

        'krit attempted to do that, but revert got stuck' (Requested
        by antonm on #webkit).

        * WebView/WebRenderLayer.mm:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent a2a79d9e
2010-11-18 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72288.
http://trac.webkit.org/changeset/72288
https://bugs.webkit.org/show_bug.cgi?id=49730
'krit attempted to do that, but revert got stuck' (Requested
by antonm on #webkit).
* platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.checksum: Removed.
* platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.png: Removed.
* platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt: Removed.
* platform/mac/svg/custom/svg-curve-with-relative-cordinates-expected.txt:
* platform/mac/svg/dom/SVGPathSegList-appendItem-expected.checksum: Removed.
* platform/mac/svg/dom/SVGPathSegList-appendItem-expected.png: Removed.
* platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.checksum: Removed.
* platform/mac/svg/dom/SVGPathSegList-clear-and-initialize-expected.png: Removed.
* platform/mac/svg/dom/SVGPathSegList-cloning-expected.checksum: Removed.
* platform/mac/svg/dom/SVGPathSegList-cloning-expected.png: Removed.
* platform/mac/svg/dom/SVGPathSegList-cloning-expected.txt: Removed.
* platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.checksum: Removed.
* platform/mac/svg/dom/SVGPathSegList-insertItemBefore-expected.png: Removed.
* platform/mac/svg/dom/SVGPathSegList-removeItem-expected.checksum: Removed.
* platform/mac/svg/dom/SVGPathSegList-removeItem-expected.png: Removed.
* platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.checksum: Removed.
* platform/mac/svg/dom/SVGPathSegList-replaceItem-expected.png: Removed.
* platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.checksum: Removed.
* platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.png: Removed.
* platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.txt: Removed.
* platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.checksum: Removed.
* platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png: Removed.
* platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.checksum: Removed.
* platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.png: Removed.
* platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.txt: Removed.
* svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg: Removed.
* svg/dom/SVGPathSegList-appendItem-expected.txt: Removed.
* svg/dom/SVGPathSegList-appendItem.xhtml: Removed.
* svg/dom/SVGPathSegList-clear-and-initialize-expected.txt: Removed.
* svg/dom/SVGPathSegList-clear-and-initialize.xhtml: Removed.
* svg/dom/SVGPathSegList-cloning.html: Removed.
* svg/dom/SVGPathSegList-insertItemBefore-expected.txt: Removed.
* svg/dom/SVGPathSegList-insertItemBefore.xhtml: Removed.
* svg/dom/SVGPathSegList-removeItem-expected.txt: Removed.
* svg/dom/SVGPathSegList-removeItem.xhtml: Removed.
* svg/dom/SVGPathSegList-replaceItem-expected.txt: Removed.
* svg/dom/SVGPathSegList-replaceItem.xhtml: Removed.
* svg/dom/SVGPathSegList-segment-modification.svg: Removed.
* svg/dom/SVGPathSegList-xml-dom-synchronization-expected.txt: Removed.
* svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml: Removed.
* svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml: Removed.
* svg/dom/fuzz-path-parser-expected.txt:
* svg/dom/path-parser-expected.txt:
* svg/dom/script-tests/path-parser.js:
():
* svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
* svg/dom/svglist-exception-on-out-bounds-error.html:
* svg/dom/svgpath-out-of-bounds-getPathSeg-expected.txt:
2010-11-18 Anton Muhin <antonm@chromium.org>
Not reviewed, removing rebaselined expectation for fast/backgrounds/size/contain-and-cover.html
d0ddb1998d90b5296942f0e72b6b1061
\ No newline at end of file
CONSOLE MESSAGE: line 267: Error: Problem parsing d=""
layer at (0,0) size 480x360
RenderView at (0,0) size 480x360
layer at (0,0) size 480x360
RenderSVGRoot {svg} at (0,0) size 480x360
RenderSVGHiddenContainer {defs} at (0,0) size 0x0
RenderSVGContainer {g} at (119,61) size 242x239
RenderSVGPath {path} at (119,61) size 242x239 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M 250.261 208.191 C 256 300 224 300 229.739 208.191 C 175.122 282.21 150.609 261.641 214.019 195 C 124.601 216.595 119.045 185.081 210.456 174.791 C 128.077 133.856 144.077 106.144 220.716 157.019 C 183.923 72.7092 213.993 61.7646 240 150 C 266.007 61.7646 296.077 72.7092 259.284 157.019 C 335.923 106.144 351.923 133.856 269.544 174.791 C 360.955 185.081 355.399 216.595 265.981 195 C 329.391 261.641 304.878 282.21 250.261 208.191 Z"]
RenderSVGContainer {g} at (10,310) size 231x37
RenderSVGText {text} at (10,310) size 231x37 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 231x37
chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 231.00: "$Revision: 1.5 $"
RenderSVGPath {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
RenderSVGContainer {g} at (0,0) size 480x24
RenderSVGPath {rect} at (0,0) size 480x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF0000]}] [x=1.00] [y=1.00] [width=478.00] [height=20.00]
RenderSVGText {text} at (207,0) size 66x23 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 66x23
chunk 1 (middle anchor) text run 1 at (207.00,18.00) startOffset 0 endOffset 5 width 66.00: "DRAFT"
......@@ -8,4 +8,4 @@ layer at (0,0) size 800x600
text run at (0,0) width 349: "Here is an html paragraph. And below is a svg drawing"
RenderBlock {DIV} at (0,34) size 784x400
RenderSVGRoot {svg} at (48,57) size 340x310
RenderSVGPath {path} at (48,57) size 340x310 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF0000]}] [data="M 14.8649 27.5434 C 10.9361 23.4486 5.53039 20.9307 2.16163 16.2739 C 0.1954 13.4713 -0.27051 9.80295 0.40252 6.50142 C 1.50231 3.03806 4.88027 0.20151 8.61522 0.38648 C 11.4904 0.13255 14.1594 2.02987 15.543 4.44105 C 15.919 4.6728 15.9025 6.65371 16.2617 5.51432 C 17.3118 2.6047 20.1552 0.48976 23.2581 0.39544 C 27.3718 0.07861 31.5625 3.22656 31.9769 7.4138 C 32.4419 10.5606 31.9362 13.9546 29.9366 16.5144 C 27.0142 20.4478 22.515 22.6972 19.032 26.0537 C 17.9438 26.8473 16.7477 28.519 15.904 28.9961 C 15.6231 28.4687 15.2627 27.9879 14.8649 27.5434 Z"]
RenderSVGPath {path} at (48,57) size 340x310 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF0000]}] [data="M 14.8649 27.5434 C 10.9361 23.4486 5.53039 20.9307 2.16163 16.2739 C 0.1954 13.4713 -0.27051 9.80295 0.40252 6.50142 C 1.50231 3.03806 4.88027 0.20151 8.61522 0.38648 C 11.4904 0.13255 14.1594 2.02987 15.543 4.44105 c 0.37594 0.23175 0.35941 2.21266 0.71868 1.07327 C 17.3118 2.6047 20.1552 0.48976 23.2581 0.39544 C 27.3718 0.07861 31.5625 3.22656 31.9769 7.4138 c 0.46508 3.14678 -0.04068 6.54082 -2.04024 9.1006 c -2.92245 3.93336 -7.42165 6.18284 -10.9046 9.53931 c -1.0882 0.79363 -2.28426 2.46524 -3.12799 2.94243 c -0.28088 -0.52741 -0.6413 -1.00829 -1.03915 -1.45272 Z"]
b0741ea3954a97f6350eade3873aec3b
\ No newline at end of file
fd7678dd8df9f12286e26baf0507cdb4
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x584
RenderBlock {P} at (0,0) size 784x36
RenderText {#text} at (0,0) size 783x36
text run at (0,0) width 783: "Below is a JavaScript-generated svg drawing. You should see two red blobs: the left, a programmatically generated path and"
text run at (0,18) width 116: "the right, its clone."
RenderBlock {DIV} at (0,52) size 784x400
RenderSVGRoot {svg} at (26,188) size 374x164
RenderSVGPath {path} at (26,188) size 224x164 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF0000]}] [data="M 10 10 L 25 15 L 110 75 L 120 90 L 42 42 Z"]
RenderSVGPath {path} at (176,188) size 224x164 [transform={m=((1.00,0.00)(0.00,1.00)) t=(75.00,0.00)}] [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF0000]}] [data="M 10 10 L 25 15 L 110 75 L 120 90 L 42 42 Z"]
da5a4614bab6f5ef7fb6d021e062ca00
\ No newline at end of file
36a012ee1a5fd8148b27e87386ee28ca
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 300x300
RenderSVGRoot {svg} at (10,6) size 245x74
RenderSVGPath {path} at (78,38) size 84x42 [stroke={[type=SOLID] [color=#000000] [stroke width=3.00]}] [data="M 80 40 C 80 40 120 80 160 40"]
RenderSVGText {text} at (10,6) size 245x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 245x18
chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 36 width 245.00: "There should be a smooth curve below"
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 600x500
RenderSVGRoot {svg} at (10,6) size 493x219
RenderSVGPath {path} at (46,103) size 128x122 [stroke={[type=SOLID] [color=#000000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#FF0000]}] [data="M 50 150 L 95 107 L 145 157 L 169 221 L 100 200 Z"]
RenderSVGText {text} at (10,6) size 344x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 344x18
chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 52 width 344.00: "Right after loading, a segment is added to the path."
RenderSVGText {text} at (10,26) size 493x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 493x18
chunk 1 text run 1 at (10.00,40.00) startOffset 0 endOffset 72 width 493.00: "The path and its attribute should be updated to include the new segment."
RenderSVGText {text} at (10,56) size 65x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 65x18
chunk 1 text run 1 at (10.00,70.00) startOffset 0 endOffset 12 width 65.00: "\"d\" initial:"
RenderSVGText {text} at (90,56) size 212x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 212x18
chunk 1 text run 1 at (90.00,70.00) startOffset 0 endOffset 32 width 212.00: "M50,150 l45,-43 l24,64 l-69,-21z"
RenderSVGText {text} at (10,76) size 58x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 58x18
chunk 1 text run 1 at (10.00,90.00) startOffset 0 endOffset 10 width 58.00: "\"d\" after:"
RenderSVGText {text} at (90,76) size 283x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 283x18
chunk 1 text run 1 at (90.00,90.00) startOffset 0 endOffset 45 width 283.00: "M 50 150 l 45 -43 l 50 50 l 24 64 l -69 -21 Z"
<svg version="1.1" baseProfile="full" onload="CreatePath();setTimeout('AnimatePath();', 0);" 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">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 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.4" reviewer="[reviewer]" author="ED" status="created"
version="$Revision: 1.5 $" testname="$RCSfile: paths-dom-02-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#DOMInterfaces">
<p>
This test is designed to test the PathSegList interface. At first a flower-like shape with 6 petals should be displayed.
The roundness and number of petals are then animated using script.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
The roundness of the petals is animated from star-like sharp petals to softly rounded petals and back again, and is repeated like that until the animation stops.
The number of petals should increase one by one until the flower has a total of 12 petals, and then go back one by one until it has 6 petals, then increase again one by one until the flower has 9 petals.
Then the animation will stop. The rendered image should look exactly like the reference image.
</p>
<p>
If the flower is clicked after the animation has finished, it will restart the animation and repeat it for some time.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
[[Describe the pass criteria of the test here. The pass criteria is what
should be displayed when the test is run.]]
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: paths-dom-02-f.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<script><![CDATA[
if (window.layoutTestController)
layoutTestController.waitUntilDone();
var offset_angle = 90;
var current_shift = 0;
var shift_inc = 1;
var THRESHOLD = 60;
var segments_added = 0;
var seg_diff = 1;
var adjust_count = 0;
var anim_count = 0;
var adjust_count_max = 8;
var anim_count_max = 10;
var stopped = false;
function DegToRad(degs)
{
return (degs * Math.PI) / 180;
}
function CreatePath()
{
var pathelm = document.getElementById("mypath");
var pathlist = pathelm.pathSegList;
var move = pathelm.createSVGPathSegMovetoAbs(240 + 30 * Math.cos(DegToRad(offset_angle - 30)),
180 + 30 * Math.sin(DegToRad(offset_angle - 30)));
pathlist.appendItem(move);
var angle = offset_angle;
for (var i = 0; i < 6; i++)
{
var x, y, xcp, ycp;
x = 240 + 30 * Math.cos(DegToRad(angle + 30));
y = 180 + 30 * Math.sin(DegToRad(angle + 30));
xcp = 240 + 120 * Math.cos(DegToRad(angle));
ycp = 180 + 120 * Math.sin(DegToRad(angle));
var curve = pathelm.createSVGPathSegCurvetoCubicAbs(x, y,
xcp, ycp,
xcp, ycp);
pathlist.appendItem(curve);
angle += 60;
}
pathlist.appendItem(pathelm.createSVGPathSegClosePath());
setTimeout('AdjustPath()', 0);
}
function AddSegment()
{
var pathelm = document.getElementById("mypath");
var pathlist = pathelm.pathSegList;
var segments = pathlist.numberOfItems - 2; // Not MoveTo and Close
var angle = offset_angle;
var inc_angle = 360/(segments+1);
var shift_v_x, shift_v_y, xcp, ycp;
var move = pathlist.getItem(0);
move.x = 240 + 30 * Math.cos(DegToRad(offset_angle - inc_angle/2));
move.y = 180 + 30 * Math.sin(DegToRad(offset_angle - inc_angle/2));
for (var i = 0; i < segments; i++)
{
var curve = pathlist.getItem(1+i);
shift_v_x = current_shift * Math.cos(DegToRad(angle + 90));
shift_v_y = current_shift * Math.sin(DegToRad(angle + 90));
xcp = 240 + 120 * Math.cos(DegToRad(angle));
ycp = 180 + 120 * Math.sin(DegToRad(angle));
curve.x = 240 + 30 * Math.cos(DegToRad(angle + inc_angle/2));
curve.y = 180 + 30 * Math.sin(DegToRad(angle + inc_angle/2));
curve.x1 = xcp - shift_v_x;
curve.y1 = ycp - shift_v_y;
curve.x2 = xcp + shift_v_x;
curve.y2 = ycp + shift_v_y;
angle += inc_angle;
}
shift_v_x = current_shift * Math.cos(DegToRad(angle + 90));
shift_v_y = current_shift * Math.sin(DegToRad(angle + 90));
xcp = 240 + 120 * Math.cos(DegToRad(angle));
ycp = 180 + 120 * Math.sin(DegToRad(angle));
var x = 240 + 30 * Math.cos(DegToRad(angle + inc_angle/2));
var y = 180 + 30 * Math.sin(DegToRad(angle + inc_angle/2));
var curve = pathelm.createSVGPathSegCurvetoCubicAbs(x, y,
xcp - shift_v_x,
ycp - shift_v_y,
xcp + shift_v_x,
ycp + shift_v_y);
pathlist.insertItemBefore(curve, pathlist.numberOfItems-1);
}
function RemoveSegment()
{
var pathelm = document.getElementById("mypath");
var pathlist = pathelm.pathSegList;
var segments = pathlist.numberOfItems - 2; // Not MoveTo and Close
var angle = offset_angle;
var inc_angle = 360/(segments-1);
var shift_v_x, shift_v_y, xcp, ycp;
var move = pathlist.getItem(0);
move.x = 240 + 30 * Math.cos(DegToRad(offset_angle - inc_angle/2));
move.y = 180 + 30 * Math.sin(DegToRad(offset_angle - inc_angle/2));
for (var i = 0; i < segments-1; i++)
{
var curve = pathlist.getItem(1+i);
shift_v_x = current_shift * Math.cos(DegToRad(angle + 90));
shift_v_y = current_shift * Math.sin(DegToRad(angle + 90));
xcp = 240 + 120 * Math.cos(DegToRad(angle));
ycp = 180 + 120 * Math.sin(DegToRad(angle));
curve.x = 240 + 30 * Math.cos(DegToRad(angle + inc_angle/2));
curve.y = 180 + 30 * Math.sin(DegToRad(angle + inc_angle/2));
curve.x1 = xcp - shift_v_x;
curve.y1 = ycp - shift_v_y;
curve.x2 = xcp + shift_v_x;
curve.y2 = ycp + shift_v_y;
angle += inc_angle;
}
pathlist.removeItem(pathlist.numberOfItems-2);
}
function AdjustPath()
{
if (seg_diff > 0)
{
AddSegment();
}
else
{
RemoveSegment();
}
segments_added += seg_diff;
if (segments_added > 5)
seg_diff = -1;
else if (segments_added <= 0)
seg_diff = 1;
if(adjust_count < adjust_count_max)
{
adjust_count++;
setTimeout('AdjustPath()', 0);
}
}
function AnimatePath()
{
var pathelm = document.getElementById("mypath");
var pathlist = pathelm.pathSegList;
var segments = pathlist.numberOfItems - 2; // Not MoveTo and Close
var angle = offset_angle;
var inc_angle = 360/segments;
for (var i = 0; i < segments; i++)
{
var curve = pathlist.getItem(1+i);
var shift_v_x, shift_v_y, xcp, ycp;
shift_v_x = current_shift * Math.cos(DegToRad(angle + 90));
shift_v_y = current_shift * Math.sin(DegToRad(angle + 90));
xcp = 240 + 120 * Math.cos(DegToRad(angle));
ycp = 180 + 120 * Math.sin(DegToRad(angle));
curve.x1 = xcp - shift_v_x;
curve.y1 = ycp - shift_v_y;
curve.x2 = xcp + shift_v_x;
curve.y2 = ycp + shift_v_y;
angle += inc_angle;
}
current_shift += shift_inc;
if (current_shift >= THRESHOLD || current_shift < 0)
shift_inc = -shift_inc;
if(adjust_count >= adjust_count_max)
{
anim_count++;
}
if(anim_count < anim_count_max)
setTimeout('AnimatePath();', 0);
else {
document.getElementById("mypath").addEventListener("click", function func() { adjust_count_max=32768;anim_count_max=32768; AdjustPath(); AnimatePath(); }, false);
if (window.layoutTestController)
layoutTestController.notifyDone();
}
}
]]></script>
<path d="" id="mypath" stroke="black" fill="blue"/>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</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>
This is a test of the SVGPathSegList::appendItem() API.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
Check initial 'pathSegList' value of path1
PASS path1.pathSegList.numberOfItems is 3
PASS path1.pathSegList.getItem(0).toString() is "[object SVGPathSegMovetoAbs]"
PASS path1.pathSegList.getItem(0).x is 0
PASS path1.pathSegList.getItem(0).y is 0
PASS path1.pathSegList.getItem(1).toString() is "[object SVGPathSegLinetoAbs]"
PASS path1.pathSegList.getItem(1).x is 100
PASS path1.pathSegList.getItem(1).y is 0
PASS path1.pathSegList.getItem(2).toString() is "[object SVGPathSegLinetoAbs]"
PASS path1.pathSegList.getItem(2).x is 100
PASS path1.pathSegList.getItem(2).y is 100
Check initial 'pathSegList' value of path2
PASS path2.pathSegList.numberOfItems is 5
PASS path2.pathSegList.getItem(0).toString() is "[object SVGPathSegMovetoAbs]"
PASS path2.pathSegList.getItem(0).x is 0
PASS path2.pathSegList.getItem(0).y is 0
PASS path2.pathSegList.getItem(1).toString() is "[object SVGPathSegLinetoAbs]"
PASS path2.pathSegList.getItem(1).x is 50
PASS path2.pathSegList.getItem(1).y is 100
PASS path2.pathSegList.getItem(2).toString() is "[object SVGPathSegLinetoHorizontalRel]"
PASS path2.pathSegList.getItem(2).x is 100
PASS path2.pathSegList.getItem(3).toString() is "[object SVGPathSegLinetoHorizontalRel]"
PASS path2.pathSegList.getItem(3).x is 100
PASS path2.pathSegList.getItem(4).toString() is "[object SVGPathSegLinetoVerticalRel]"
PASS path2.pathSegList.getItem(4).y is 100
Negate x value of fourth segment in path2
PASS path2.pathSegList.getItem(3).x = -path2.pathSegList.getItem(3).x is -100
Swap segment four and five of path2 - now should look like a rectangle
PASS path2.pathSegList.appendItem(path2.pathSegList.getItem(3)).toString() is "[object SVGPathSegLinetoHorizontalRel]"
Append second item from path2 to path1 list
PASS path1.pathSegList.appendItem(path2.pathSegList.getItem(1)).toString() is "[object SVGPathSegLinetoAbs]"
Change last item of path1 list, that came from path2 list, assure it's updating path1
PASS path1.pathSegList.getItem(3).x -= 50 is 0
Check final 'pathSegList' value of path1
PASS path1.pathSegList.numberOfItems is 4
PASS path1.pathSegList.getItem(0).toString() is "[object SVGPathSegMovetoAbs]"
PASS path1.pathSegList.getItem(0).x is 0
PASS path1.pathSegList.getItem(0).y is 0
PASS path1.pathSegList.getItem(1).toString() is "[object SVGPathSegLinetoAbs]"
PASS path1.pathSegList.getItem(1).x is 100
PASS path1.pathSegList.getItem(1).y is 0
PASS path1.pathSegList.getItem(2).toString() is "[object SVGPathSegLinetoAbs]"
PASS path1.pathSegList.getItem(2).x is 100
PASS path1.pathSegList.getItem(2).y is 100
PASS path1.pathSegList.getItem(3).toString() is "[object SVGPathSegLinetoAbs]"
PASS path1.pathSegList.getItem(3).x is 0
PASS path1.pathSegList.getItem(3).y is 100
Check final 'pathSegList' value of path2
PASS path2.pathSegList.numberOfItems is 4
PASS path2.pathSegList.getItem(0).toString() is "[object SVGPathSegMovetoAbs]"
PASS path2.pathSegList.getItem(0).x is 0
PASS path2.pathSegList.getItem(0).y is 0
PASS path2.pathSegList.getItem(1).toString() is "[object SVGPathSegLinetoHorizontalRel]"
PASS path2.pathSegList.getItem(1).x is 100
PASS path2.pathSegList.getItem(2).toString() is "[object SVGPathSegLinetoVerticalRel]"
PASS path2.pathSegList.getItem(2).y is 100
PASS path2.pathSegList.getItem(3).toString() is "[object SVGPathSegLinetoHorizontalRel]"
PASS path2.pathSegList.getItem(3).x is -100
PASS successfullyParsed is true
TEST COMPLETE
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css"/>
<script>window.enablePixelTesting = true;</script>
<script src="../../fast/js/resources/js-test-pre.js"></script>
</head>
<body>
<svg id="svg" xmlns="http://www.w3.org/2000/svg" width="250" height="250">
<g transform="translate(10, 10)">
<path id="path1" d="M 0 0 L 100 0 L 100 100" fill="green"/>
<path transform="translate(110, 0)" id="path2" d="M 0 0 L 50 100 h 100 h 100 v 100" fill="green"/>
</g>
</svg>
<p id="description"></p>
<div id="console"></div>
<script type="text/javascript">
<![CDATA[
description("This is a test of the SVGPathSegList::appendItem() API.");
var svg = document.getElementById("svg");
var path1 = document.getElementById("path1");
var path2 = document.getElementById("path2");
debug("");